aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/xmon/xmon.c52
1 files changed, 27 insertions, 25 deletions
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index 0689c0845777..d66c3a170327 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -39,6 +39,7 @@
39#include <asm/irq_regs.h> 39#include <asm/irq_regs.h>
40#include <asm/spu.h> 40#include <asm/spu.h>
41#include <asm/spu_priv1.h> 41#include <asm/spu_priv1.h>
42#include <asm/firmware.h>
42 43
43#ifdef CONFIG_PPC64 44#ifdef CONFIG_PPC64
44#include <asm/hvcall.h> 45#include <asm/hvcall.h>
@@ -1567,11 +1568,6 @@ void super_regs(void)
1567{ 1568{
1568 int cmd; 1569 int cmd;
1569 unsigned long val; 1570 unsigned long val;
1570#ifdef CONFIG_PPC_ISERIES
1571 struct paca_struct *ptrPaca = NULL;
1572 struct lppaca *ptrLpPaca = NULL;
1573 struct ItLpRegSave *ptrLpRegSave = NULL;
1574#endif
1575 1571
1576 cmd = skipbl(); 1572 cmd = skipbl();
1577 if (cmd == '\n') { 1573 if (cmd == '\n') {
@@ -1588,26 +1584,32 @@ void super_regs(void)
1588 printf("sp = "REG" sprg3= "REG"\n", sp, mfspr(SPRN_SPRG3)); 1584 printf("sp = "REG" sprg3= "REG"\n", sp, mfspr(SPRN_SPRG3));
1589 printf("toc = "REG" dar = "REG"\n", toc, mfspr(SPRN_DAR)); 1585 printf("toc = "REG" dar = "REG"\n", toc, mfspr(SPRN_DAR));
1590#ifdef CONFIG_PPC_ISERIES 1586#ifdef CONFIG_PPC_ISERIES
1591 // Dump out relevant Paca data areas. 1587 if (firmware_has_feature(FW_FEATURE_ISERIES)) {
1592 printf("Paca: \n"); 1588 struct paca_struct *ptrPaca;
1593 ptrPaca = get_paca(); 1589 struct lppaca *ptrLpPaca;
1594 1590 struct ItLpRegSave *ptrLpRegSave;
1595 printf(" Local Processor Control Area (LpPaca): \n"); 1591
1596 ptrLpPaca = ptrPaca->lppaca_ptr; 1592 /* Dump out relevant Paca data areas. */
1597 printf(" Saved Srr0=%.16lx Saved Srr1=%.16lx \n", 1593 printf("Paca: \n");
1598 ptrLpPaca->saved_srr0, ptrLpPaca->saved_srr1); 1594 ptrPaca = get_paca();
1599 printf(" Saved Gpr3=%.16lx Saved Gpr4=%.16lx \n", 1595
1600 ptrLpPaca->saved_gpr3, ptrLpPaca->saved_gpr4); 1596 printf(" Local Processor Control Area (LpPaca): \n");
1601 printf(" Saved Gpr5=%.16lx \n", ptrLpPaca->saved_gpr5); 1597 ptrLpPaca = ptrPaca->lppaca_ptr;
1602 1598 printf(" Saved Srr0=%.16lx Saved Srr1=%.16lx \n",
1603 printf(" Local Processor Register Save Area (LpRegSave): \n"); 1599 ptrLpPaca->saved_srr0, ptrLpPaca->saved_srr1);
1604 ptrLpRegSave = ptrPaca->reg_save_ptr; 1600 printf(" Saved Gpr3=%.16lx Saved Gpr4=%.16lx \n",
1605 printf(" Saved Sprg0=%.16lx Saved Sprg1=%.16lx \n", 1601 ptrLpPaca->saved_gpr3, ptrLpPaca->saved_gpr4);
1606 ptrLpRegSave->xSPRG0, ptrLpRegSave->xSPRG0); 1602 printf(" Saved Gpr5=%.16lx \n", ptrLpPaca->saved_gpr5);
1607 printf(" Saved Sprg2=%.16lx Saved Sprg3=%.16lx \n", 1603
1608 ptrLpRegSave->xSPRG2, ptrLpRegSave->xSPRG3); 1604 printf(" Local Processor Register Save Area (LpRegSave): \n");
1609 printf(" Saved Msr =%.16lx Saved Nia =%.16lx \n", 1605 ptrLpRegSave = ptrPaca->reg_save_ptr;
1610 ptrLpRegSave->xMSR, ptrLpRegSave->xNIA); 1606 printf(" Saved Sprg0=%.16lx Saved Sprg1=%.16lx \n",
1607 ptrLpRegSave->xSPRG0, ptrLpRegSave->xSPRG0);
1608 printf(" Saved Sprg2=%.16lx Saved Sprg3=%.16lx \n",
1609 ptrLpRegSave->xSPRG2, ptrLpRegSave->xSPRG3);
1610 printf(" Saved Msr =%.16lx Saved Nia =%.16lx \n",
1611 ptrLpRegSave->xMSR, ptrLpRegSave->xNIA);
1612 }
1611#endif 1613#endif
1612 1614
1613 return; 1615 return;