projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'next' of git://www.denx.de/git/u-boot-ppc4xx into next
[oweals/u-boot.git]
/
cpu
/
74xx_7xx
/
traps.c
diff --git
a/cpu/74xx_7xx/traps.c
b/cpu/74xx_7xx/traps.c
index 6e94601ccc517acdbf31d1ac40316a02679b85ba..b06622769699e66fdc45b36639fb4d9bd9424863 100644
(file)
--- a/
cpu/74xx_7xx/traps.c
+++ b/
cpu/74xx_7xx/traps.c
@@
-36,7
+36,11
@@
#include <command.h>
#include <asm/processor.h>
#include <command.h>
#include <asm/processor.h>
-#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
+#ifdef CONFIG_AMIGAONEG3SE
+DECLARE_GLOBAL_DATA_PTR;
+#endif
+
+#if defined(CONFIG_CMD_KGDB)
int (*debugger_exception_handler)(struct pt_regs *) = 0;
#endif
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)
{
void
print_backtrace(unsigned long *sp)
{
-#ifdef CONFIG_AMIGAONEG3SE
- DECLARE_GLOBAL_DATA_PTR;
-#endif
int cnt = 0;
unsigned long i;
int cnt = 0;
unsigned long i;
@@
-132,7
+133,7
@@
MachineCheckException(struct pt_regs *regs)
return;
}
return;
}
-#if
(CONFIG_COMMANDS & CF
G_CMD_KGDB)
+#if
defined(CONFI
G_CMD_KGDB)
if (debugger_exception_handler && (*debugger_exception_handler)(regs))
return;
#endif
if (debugger_exception_handler && (*debugger_exception_handler)(regs))
return;
#endif
@@
-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);
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;
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;
printf("Transfer error ack signal\n");
break;
- case (
1<<14)
:
+ case (
0x80000000>>14)
:
printf("Data parity signal\n");
break;
printf("Data parity signal\n");
break;
- case (
1<<15)
:
+ case (
0x80000000>>15)
:
printf("Address parity signal\n");
break;
default:
printf("Address parity signal\n");
break;
default:
@@
-166,7
+166,7
@@
MachineCheckException(struct pt_regs *regs)
void
AlignmentException(struct pt_regs *regs)
{
void
AlignmentException(struct pt_regs *regs)
{
-#if
(CONFIG_COMMANDS & CF
G_CMD_KGDB)
+#if
defined(CONFI
G_CMD_KGDB)
if (debugger_exception_handler && (*debugger_exception_handler)(regs))
return;
#endif
if (debugger_exception_handler && (*debugger_exception_handler)(regs))
return;
#endif
@@
-181,7
+181,7
@@
ProgramCheckException(struct pt_regs *regs)
unsigned char *p = regs ? (unsigned char *)(regs->nip) : NULL;
int i, j;
unsigned char *p = regs ? (unsigned char *)(regs->nip) : NULL;
int i, j;
-#if
(CONFIG_COMMANDS & CF
G_CMD_KGDB)
+#if
defined(CONFI
G_CMD_KGDB)
if (debugger_exception_handler && (*debugger_exception_handler)(regs))
return;
#endif
if (debugger_exception_handler && (*debugger_exception_handler)(regs))
return;
#endif
@@
-204,7
+204,7
@@
ProgramCheckException(struct pt_regs *regs)
void
SoftEmuException(struct pt_regs *regs)
{
void
SoftEmuException(struct pt_regs *regs)
{
-#if
(CONFIG_COMMANDS & CF
G_CMD_KGDB)
+#if
defined(CONFI
G_CMD_KGDB)
if (debugger_exception_handler && (*debugger_exception_handler)(regs))
return;
#endif
if (debugger_exception_handler && (*debugger_exception_handler)(regs))
return;
#endif
@@
-217,7
+217,7
@@
SoftEmuException(struct pt_regs *regs)
void
UnknownException(struct pt_regs *regs)
{
void
UnknownException(struct pt_regs *regs)
{
-#if
(CONFIG_COMMANDS & CF
G_CMD_KGDB)
+#if
defined(CONFI
G_CMD_KGDB)
if (debugger_exception_handler && (*debugger_exception_handler)(regs))
return;
#endif
if (debugger_exception_handler && (*debugger_exception_handler)(regs))
return;
#endif