No trap levels above 2 in privileged mode on SUN4V.
Signed-off-by: David S. Miller <davem@davemloft.net>
                rdpr    %tt, %g3
                stx     %g3, [%g2 + STACK_BIAS + 0x38]
 
+               sethi   %hi(is_sun4v), %g3
+               lduw    [%g3 + %lo(is_sun4v)], %g3
+               brnz,pn %g3, finish_tl1_capture
+                nop
+
                wrpr    %g0, 3, %tl
                rdpr    %tstate, %g3
                stx     %g3, [%g2 + STACK_BIAS + 0x40]
 
                stx     %g1, [%g2 + STACK_BIAS + 0x80]
 
+finish_tl1_capture:
                wrpr    %g0, 1, %tl
 661:           nop
                .section .sun4v_1insn_patch, "ax"
 
 
 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] "