diff options
Diffstat (limited to 'cpu/mpc824x')
-rw-r--r-- | cpu/mpc824x/Makefile | 5 | ||||
-rw-r--r-- | cpu/mpc824x/start.S | 2 | ||||
-rw-r--r-- | cpu/mpc824x/traps.c | 15 |
3 files changed, 20 insertions, 2 deletions
diff --git a/cpu/mpc824x/Makefile b/cpu/mpc824x/Makefile index 40447a1..743ced9 100644 --- a/cpu/mpc824x/Makefile +++ b/cpu/mpc824x/Makefile @@ -27,13 +27,16 @@ LIB = lib$(CPU).a START = start.S drivers/i2c/i2c2.o OBJS = traps.o cpu.o cpu_init.o interrupts.o speed.o \ - drivers/epic/epic1.o drivers/i2c/i2c1.o pci.o + drivers/epic/epic1.o drivers/i2c/i2c1.o pci.o bedbug_603e.o all: .depend $(START) $(LIB) $(LIB): $(OBJS) $(AR) crv $@ $(OBJS) drivers/i2c/i2c2.o +bedbug_603e.c: + ln -s ../mpc8260/bedbug_603e.c bedbug_603e.c + ######################################################################### .depend: Makefile $(START:.o=.S) $(OBJS:.o=.c) diff --git a/cpu/mpc824x/start.S b/cpu/mpc824x/start.S index 18b8e61..7716240 100644 --- a/cpu/mpc824x/start.S +++ b/cpu/mpc824x/start.S @@ -336,7 +336,7 @@ _end_back: STD_EXCEPTION(EXC_OFF_ITME, InstructionTransMiss, UnknownException) STD_EXCEPTION(EXC_OFF_DLTME, DataLoadTransMiss, UnknownException) STD_EXCEPTION(EXC_OFF_DSTME, DataStoreTransMiss, UnknownException) - STD_EXCEPTION(EXC_OFF_IABE, InstructionBreakpoint, UnknownException) + STD_EXCEPTION(EXC_OFF_IABE, InstructionBreakpoint, DebugException) STD_EXCEPTION(EXC_OFF_SMIE, SysManageInt, UnknownException) STD_EXCEPTION(0x1500, Reserved5, UnknownException) STD_EXCEPTION(0x1600, Reserved6, UnknownException) diff --git a/cpu/mpc824x/traps.c b/cpu/mpc824x/traps.c index 11f51c2..956244f 100644 --- a/cpu/mpc824x/traps.c +++ b/cpu/mpc824x/traps.c @@ -176,6 +176,21 @@ UnknownException(struct pt_regs *regs) _exception(0, regs); } +#if (CONFIG_COMMANDS & CFG_CMD_BEDBUG) +extern void do_bedbug_breakpoint(struct pt_regs *); +#endif + +void +DebugException(struct pt_regs *regs) +{ + + printf("Debugger trap at @ %lx\n", regs->nip ); + show_regs(regs); +#if (CONFIG_COMMANDS & CFG_CMD_BEDBUG) + do_bedbug_breakpoint( regs ); +#endif +} + /* Probe an address by reading. If not present, return -1, otherwise * return 0. */ |