diff options
author | David S. Miller <davem@davemloft.net> | 2008-01-17 04:32:09 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-17 09:26:55 -0500 |
commit | 6320bcebc0ee0bafc61f293bec2d0809171f6b1d (patch) | |
tree | 3304410d948260a374eaaf4ba138f777dad05520 /arch/sparc64/kernel/sun4v_tlb_miss.S | |
parent | d8c89eb3a12f0da96d049bd515c7fa3702e511c5 (diff) |
[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.S | 2 |
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: | |||
215 | 215 | ||
216 | 1: ba,pt %xcc, etrap | 216 | 1: ba,pt %xcc, etrap |
217 | 2: or %g7, %lo(2b), %g7 | 217 | 2: or %g7, %lo(2b), %g7 |
218 | mov %l4, %o1 | ||
218 | call sun4v_itlb_error_report | 219 | call sun4v_itlb_error_report |
219 | add %sp, PTREGS_OFF, %o0 | 220 | add %sp, PTREGS_OFF, %o0 |
220 | 221 | ||
@@ -241,6 +242,7 @@ sun4v_dtlb_error: | |||
241 | 242 | ||
242 | 1: ba,pt %xcc, etrap | 243 | 1: ba,pt %xcc, etrap |
243 | 2: or %g7, %lo(2b), %g7 | 244 | 2: or %g7, %lo(2b), %g7 |
245 | mov %l4, %o1 | ||
244 | call sun4v_dtlb_error_report | 246 | call sun4v_dtlb_error_report |
245 | add %sp, PTREGS_OFF, %o0 | 247 | add %sp, PTREGS_OFF, %o0 |
246 | 248 | ||