xen: arm: enable 32bit kernel stack trace
authorBamvor Jian Zhang <bjzhang@suse.com>
Mon, 4 Nov 2013 08:01:25 +0000 (16:01 +0800)
committerIan Campbell <ian.campbell@citrix.com>
Mon, 4 Nov 2013 17:34:49 +0000 (17:34 +0000)
Signed-off-by: Bamvor Jian Zhang <bjzhang@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/traps.c

index 4c0fc323ac4570b2aca2109e467417f16ed105a2..287dd7bea1780336b5ac97a40a8a36a1764e079a 100644 (file)
@@ -629,12 +629,20 @@ static void show_guest_stack(struct vcpu *v, struct cpu_user_regs *regs)
         return;
 
     case PSR_MODE_FIQ:
+        sp = regs->sp_fiq;
+        break;
     case PSR_MODE_IRQ:
+        sp = regs->sp_irq;
+        break;
     case PSR_MODE_SVC:
+        sp = regs->sp_svc;
+        break;
     case PSR_MODE_ABT:
+        sp = regs->sp_abt;
+        break;
     case PSR_MODE_UND:
-        printk("No stack trace for 32-bit guest kernel-mode\n");
-        return;
+        sp = regs->sp_und;
+        break;
 
 #ifdef CONFIG_ARM_64
     case PSR_MODE_EL1t: