diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2006-11-03 02:52:03 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2006-11-03 02:52:03 +0000 |
commit | 7ae89376ea70287aec0a7c704b91601041837874 (patch) | |
tree | 5d5d5afde9b5f307f9c74adc4f4429f43cb87eae /sys/arch | |
parent | 288e89e5592b11275303a012d1ebb11df116837c (diff) |
step and stuff works in ddb now too
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/sh/sh/trap.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/sys/arch/sh/sh/trap.c b/sys/arch/sh/sh/trap.c index 2c60d3adb1c..33471bca27d 100644 --- a/sys/arch/sh/sh/trap.c +++ b/sys/arch/sh/sh/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.3 2006/10/23 19:56:53 miod Exp $ */ +/* $OpenBSD: trap.c,v 1.4 2006/11/03 02:52:02 mickey Exp $ */ /* $NetBSD: exception.c,v 1.32 2006/09/04 23:57:52 uwe Exp $ */ /* $NetBSD: syscall.c,v 1.6 2006/03/07 07:21:50 thorpej Exp $ */ @@ -158,12 +158,19 @@ general_exception(struct proc *p, struct trapframe *tf, uint32_t va) } switch (expevt) { + case EXPEVT_BREAK: + if (kdb_trap(EXPEVT_BREAK, 0, tf)) + return; + else + goto do_panic; + break; case EXPEVT_TRAPA: /* Check for ddb request */ tra = _reg_read_4(SH_(TRA)); - if (tra == (_SH_TRA_BREAK << 2)) { - kdb_trap(expevt, tra, tf); - } else + if (tra == (_SH_TRA_BREAK << 2) && + kdb_trap(expevt, tra, tf)) + return; + else goto do_panic; break; case EXPEVT_TRAPA | EXP_USER: |