summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/sun4v_tlb_miss.S
diff options
context:
space:
mode:
authorDavid S. Miller2008-01-17 10:32:09 +0100
committerDavid S. Miller2008-01-17 15:26:55 +0100
commit6320bcebc0ee0bafc61f293bec2d0809171f6b1d (patch)
tree3304410d948260a374eaaf4ba138f777dad05520 /arch/sparc64/kernel/sun4v_tlb_miss.S
parentMerge branch 'v2.6.24-rc7-lockdep' of git://git.kernel.org/pub/scm/linux/kern... (diff)
downloadkernel-qcow2-linux-6320bcebc0ee0bafc61f293bec2d0809171f6b1d.tar.gz
kernel-qcow2-linux-6320bcebc0ee0bafc61f293bec2d0809171f6b1d.tar.xz
kernel-qcow2-linux-6320bcebc0ee0bafc61f293bec2d0809171f6b1d.zip
[SPARC64]: Fix hypervisor TLB operation error reporting.
1) Trap level wasn't being passed down properly, we need to move it from %l4 into the correct outgoing arg register. 2) Although the TPC often provides the most direct clue, we have the caller PC so we should provide that as well. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/sun4v_tlb_miss.S')
-rw-r--r--arch/sparc64/kernel/sun4v_tlb_miss.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/sun4v_tlb_miss.S b/arch/sparc64/kernel/sun4v_tlb_miss.S
index 9871dbb1ab42..fd9430562e0b 100644
--- a/arch/sparc64/kernel/sun4v_tlb_miss.S
+++ b/arch/sparc64/kernel/sun4v_tlb_miss.S
@@ -215,6 +215,7 @@ sun4v_itlb_error:
1: ba,pt %xcc, etrap
2: or %g7, %lo(2b), %g7
+ mov %l4, %o1
call sun4v_itlb_error_report
add %sp, PTREGS_OFF, %o0
@@ -241,6 +242,7 @@ sun4v_dtlb_error:
1: ba,pt %xcc, etrap
2: or %g7, %lo(2b), %g7
+ mov %l4, %o1
call sun4v_dtlb_error_report
add %sp, PTREGS_OFF, %o0