diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2002-07-24 20:17:04 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2002-07-24 20:17:04 +0000 |
commit | a22d6790d93e03fb7840f45ba4bd5fe5ef0d0aea (patch) | |
tree | db21737e1389075f4477bb060fa7a00d7260d537 | |
parent | c8728cedbc3415a2585869d33c442f8264c775aa (diff) |
if it appears we are disassembling insn at the pc do not cause an extra memory fetch (and possibly a fault loop) get one from the iir in the frame
-rw-r--r-- | sys/arch/hppa/hppa/db_disasm.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/arch/hppa/hppa/db_disasm.c b/sys/arch/hppa/hppa/db_disasm.c index fc6aae613df..19daf6441df 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.12 2002/05/16 13:01:41 art Exp $ */ +/* $OpenBSD: db_disasm.c,v 1.13 2002/07/24 20:17:03 mickey Exp $ */ /* * Copyright (c) 1999 Michael Shalayeff @@ -2335,8 +2335,9 @@ db_disasm(loc, flag) OFS ofs = 0; iExInit(); - - if (USERMODE(loc)) { + if (loc == ddb_regs.tf_iioq_head) + instruct = ddb_regs.tf_iir; + else if (USERMODE(loc)) { if (copyin((caddr_t)(loc &~ HPPA_PC_PRIV_MASK), &instruct, sizeof(instruct))) instruct = 0; |