resubmit: ppc4xx: Remove sequoia/sequioa.h. Cleanup ppc440.h for PPC440EPX
[oweals/u-boot.git] / cpu / 74xx_7xx / traps.c
index 6e94601ccc517acdbf31d1ac40316a02679b85ba..50c5eeb4835802635bf1e0eec0fe880e2bfe0171 100644 (file)
 #include <command.h>
 #include <asm/processor.h>
 
+#ifdef CONFIG_AMIGAONEG3SE
+DECLARE_GLOBAL_DATA_PTR;
+#endif
+
 #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
 int (*debugger_exception_handler)(struct pt_regs *) = 0;
 #endif
@@ -58,9 +62,6 @@ extern unsigned long search_exception_table(unsigned long);
 void
 print_backtrace(unsigned long *sp)
 {
-#ifdef CONFIG_AMIGAONEG3SE
-       DECLARE_GLOBAL_DATA_PTR;
-#endif
        int cnt = 0;
        unsigned long i;
 
@@ -140,19 +141,18 @@ MachineCheckException(struct pt_regs *regs)
        printf("Machine check in kernel mode.\n");
        printf("Caused by (from msr): ");
        printf("regs %p ",regs);
-       switch( regs->msr & 0x0000F000)
-       {
-       case (1<<12) :
+       switch( regs->msr & 0x000F0000) {
+       case (0x80000000>>12):
                printf("Machine check signal - probably due to mm fault\n"
                        "with mmu off\n");
                break;
-       case (1<<13) :
+       case (0x80000000>>13):
                printf("Transfer error ack signal\n");
                break;
-       case (1<<14) :
+       case (0x80000000>>14):
                printf("Data parity signal\n");
                break;
-       case (1<<15) :
+       case (0x80000000>>15):
                printf("Address parity signal\n");
                break;
        default: