summaryrefslogtreecommitdiff
path: root/arch/sparc64/kernel/traps.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-16 01:41:41 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 01:13:12 -0800
commit3d6395cb770b0db9135a853b1742418c99ed2148 (patch)
tree609b1d8f6d3ff13a312c8eb0ce4f070b644b6e05 /arch/sparc64/kernel/traps.c
parent135066a21129760e44a51a7ef31d8c861f8ddace (diff)
downloadlwn-3d6395cb770b0db9135a853b1742418c99ed2148.tar.gz
lwn-3d6395cb770b0db9135a853b1742418c99ed2148.zip
[SPARC64]: Fix tl1 trap state capture/dump on SUN4V.
No trap levels above 2 in privileged mode on SUN4V. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/traps.c')
-rw-r--r--arch/sparc64/kernel/traps.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c
index bedb2f693c76..5956d0a94009 100644
--- a/arch/sparc64/kernel/traps.c
+++ b/arch/sparc64/kernel/traps.c
@@ -73,10 +73,12 @@ struct tl1_traplog {
static void dump_tl1_traplog(struct tl1_traplog *p)
{
- int i;
+ int i, limit;
printk("TRAPLOG: Error at trap level 0x%lx, dumping track stack.\n",
p->tl);
+
+ limit = (tlb_type == hypervisor) ? 2 : 4;
for (i = 0; i < 4; i++) {
printk(KERN_CRIT
"TRAPLOG: Trap level %d TSTATE[%016lx] TPC[%016lx] "