aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2008-01-17 18:49:49 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-01-17 18:49:49 -0500
commitabde3dff2496d9d44a218cf8e2a17c2383f20b22 (patch)
tree8755eabb1d89ab2d8cc439e9d45892f1bb0b231a /arch
parenta3c53e2310192e63e49610ffcb6a36b2a706fa3e (diff)
parent6320bcebc0ee0bafc61f293bec2d0809171f6b1d (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix hypervisor TLB operation error reporting.
Diffstat (limited to 'arch')
-rw-r--r--arch/sparc64/kernel/sun4v_tlb_miss.S2
-rw-r--r--arch/sparc64/kernel/traps.c4
2 files changed, 6 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
2161: ba,pt %xcc, etrap 2161: ba,pt %xcc, etrap
2172: or %g7, %lo(2b), %g7 2172: 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
2421: ba,pt %xcc, etrap 2431: ba,pt %xcc, etrap
2432: or %g7, %lo(2b), %g7 2442: 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
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c
index 04998388259f..2b6abf633343 100644
--- a/arch/sparc64/kernel/traps.c
+++ b/arch/sparc64/kernel/traps.c
@@ -1950,6 +1950,8 @@ void sun4v_itlb_error_report(struct pt_regs *regs, int tl)
1950 printk(KERN_EMERG "SUN4V-ITLB: Error at TPC[%lx], tl %d\n", 1950 printk(KERN_EMERG "SUN4V-ITLB: Error at TPC[%lx], tl %d\n",
1951 regs->tpc, tl); 1951 regs->tpc, tl);
1952 print_symbol(KERN_EMERG "SUN4V-ITLB: TPC<%s>\n", regs->tpc); 1952 print_symbol(KERN_EMERG "SUN4V-ITLB: TPC<%s>\n", regs->tpc);
1953 printk(KERN_EMERG "SUN4V-ITLB: O7[%lx]\n", regs->u_regs[UREG_I7]);
1954 print_symbol(KERN_EMERG "SUN4V-ITLB: O7<%s>\n", regs->u_regs[UREG_I7]);
1953 printk(KERN_EMERG "SUN4V-ITLB: vaddr[%lx] ctx[%lx] " 1955 printk(KERN_EMERG "SUN4V-ITLB: vaddr[%lx] ctx[%lx] "
1954 "pte[%lx] error[%lx]\n", 1956 "pte[%lx] error[%lx]\n",
1955 sun4v_err_itlb_vaddr, sun4v_err_itlb_ctx, 1957 sun4v_err_itlb_vaddr, sun4v_err_itlb_ctx,
@@ -1971,6 +1973,8 @@ void sun4v_dtlb_error_report(struct pt_regs *regs, int tl)
1971 printk(KERN_EMERG "SUN4V-DTLB: Error at TPC[%lx], tl %d\n", 1973 printk(KERN_EMERG "SUN4V-DTLB: Error at TPC[%lx], tl %d\n",
1972 regs->tpc, tl); 1974 regs->tpc, tl);
1973 print_symbol(KERN_EMERG "SUN4V-DTLB: TPC<%s>\n", regs->tpc); 1975 print_symbol(KERN_EMERG "SUN4V-DTLB: TPC<%s>\n", regs->tpc);
1976 printk(KERN_EMERG "SUN4V-DTLB: O7[%lx]\n", regs->u_regs[UREG_I7]);
1977 print_symbol(KERN_EMERG "SUN4V-DTLB: O7<%s>\n", regs->u_regs[UREG_I7]);
1974 printk(KERN_EMERG "SUN4V-DTLB: vaddr[%lx] ctx[%lx] " 1978 printk(KERN_EMERG "SUN4V-DTLB: vaddr[%lx] ctx[%lx] "
1975 "pte[%lx] error[%lx]\n", 1979 "pte[%lx] error[%lx]\n",
1976 sun4v_err_dtlb_vaddr, sun4v_err_dtlb_ctx, 1980 sun4v_err_dtlb_vaddr, sun4v_err_dtlb_ctx,