summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2002-08-13 07:00:51 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2002-08-13 07:00:51 +0000
commit888a52da87a3c2a44c1b9dc13e2d08089a45a5fa (patch)
treec0cc22798c23ff09a31299a5e74cca9ccb766c7b
parent5d272cff19aed5707d29c97750f64ab29e23070c (diff)
reset iir in the frame on _onfault handling, for mr.ddb
-rw-r--r--sys/arch/hppa/hppa/db_disasm.c4
-rw-r--r--sys/arch/hppa/hppa/trap.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/sys/arch/hppa/hppa/db_disasm.c b/sys/arch/hppa/hppa/db_disasm.c
index 19daf6441df..a5fd5b05519 100644
--- a/sys/arch/hppa/hppa/db_disasm.c
+++ b/sys/arch/hppa/hppa/db_disasm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: db_disasm.c,v 1.13 2002/07/24 20:17:03 mickey Exp $ */
+/* $OpenBSD: db_disasm.c,v 1.14 2002/08/13 07:00:50 mickey Exp $ */
/*
* Copyright (c) 1999 Michael Shalayeff
@@ -2335,7 +2335,7 @@ db_disasm(loc, flag)
OFS ofs = 0;
iExInit();
- if (loc == ddb_regs.tf_iioq_head)
+ if (loc == ddb_regs.tf_iioq_head && ddb_regs.tf_iir)
instruct = ddb_regs.tf_iir;
else if (USERMODE(loc)) {
if (copyin((caddr_t)(loc &~ HPPA_PC_PRIV_MASK),
diff --git a/sys/arch/hppa/hppa/trap.c b/sys/arch/hppa/hppa/trap.c
index e41999aeb61..e51c21c8817 100644
--- a/sys/arch/hppa/hppa/trap.c
+++ b/sys/arch/hppa/hppa/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.45 2002/07/25 02:26:17 mickey Exp $ */
+/* $OpenBSD: trap.c,v 1.46 2002/08/13 07:00:50 mickey Exp $ */
/*
* Copyright (c) 1998-2001 Michael Shalayeff
@@ -358,6 +358,9 @@ trap(type, frame)
frame->tf_iioq_tail = 4 +
(frame->tf_iioq_head =
pcbp->pcb_onfault);
+#ifdef DDB
+ frame->tf_iir = 0;
+#endif
break;
}
#if 0