summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/db_machdep.h
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1994-10-19 21:13:51 +0000
committerbde <bde@FreeBSD.org>1994-10-19 21:13:51 +0000
commit5db7e440c85470c3e334465686d498bb7fb1de59 (patch)
treee9359bde5698facbb24a060e6ba9b78d3b733812 /sys/amd64/include/db_machdep.h
parentc1ffab18a7809199c312f383bb5259324c14afb7 (diff)
downloadFreeBSD-src-5db7e440c85470c3e334465686d498bb7fb1de59.zip
FreeBSD-src-5db7e440c85470c3e334465686d498bb7fb1de59.tar.gz
Fix the test for the code segment being the usual one. Unusual code
segments can still cause panics. Their pc is converted to 0 and 0 is only checked for in one place before use.
Diffstat (limited to 'sys/amd64/include/db_machdep.h')
-rw-r--r--sys/amd64/include/db_machdep.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/amd64/include/db_machdep.h b/sys/amd64/include/db_machdep.h
index 310c43b..7e7bec0 100644
--- a/sys/amd64/include/db_machdep.h
+++ b/sys/amd64/include/db_machdep.h
@@ -23,7 +23,7 @@
* any improvements or extensions that they make and grant Carnegie Mellon
* the rights to redistribute these changes.
*
- * $Id: db_machdep.h,v 1.4 1994/09/08 11:49:04 bde Exp $
+ * $Id: db_machdep.h,v 1.5 1994/10/02 19:36:30 phk Exp $
*/
#ifndef _I386_DB_MACHDEP_H_
@@ -55,7 +55,8 @@ typedef struct i386_saved_state db_regs_t;
extern db_regs_t ddb_regs; /* register state */
#define DDB_REGS (&ddb_regs)
-#define PC_REGS(regs) ((regs)->tf_cs == 0x08 ? (db_addr_t)(regs)->tf_eip : 0)
+#define PC_REGS(regs) (((regs)->tf_cs & 0xfffc) == 0x08 \
+ ? (db_addr_t)(regs)->tf_eip : 0)
#define BKPT_INST 0xcc /* breakpoint instruction */
#define BKPT_SIZE (1) /* size of breakpoint inst */
OpenPOWER on IntegriCloud