diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2005-01-17 20:47:41 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2005-01-17 20:47:41 +0000 |
commit | 359b0a2a412ba1723695bf846a25867024dfc746 (patch) | |
tree | 4f12da21ea66bdea86a0d9a80f30a9c0382d023c /sys/arch/hppa | |
parent | f36a932f68701629b67fd644efe676c4da22234d (diff) |
proper fault address selection (list all possible pc-based traps)
Diffstat (limited to 'sys/arch/hppa')
-rw-r--r-- | sys/arch/hppa/hppa/trap.c | 7 | ||||
-rw-r--r-- | sys/arch/hppa/include/trap.h | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/sys/arch/hppa/hppa/trap.c b/sys/arch/hppa/hppa/trap.c index b91b012d0d5..0765f83e0f4 100644 --- a/sys/arch/hppa/hppa/trap.c +++ b/sys/arch/hppa/hppa/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.83 2005/01/17 19:01:00 mickey Exp $ */ +/* $OpenBSD: trap.c,v 1.84 2005/01/17 20:47:40 mickey Exp $ */ /* * Copyright (c) 1998-2004 Michael Shalayeff @@ -183,8 +183,9 @@ trap(type, frame) trapnum = type & ~T_USER; opcode = frame->tf_iir; - if (trapnum == T_ITLBMISS || - trapnum == T_EXCEPTION || trapnum == T_EMULATION) { + if (trapnum <= T_EXCEPTION || trapnum == T_HIGHERPL || + trapnum == T_LOWERPL || trapnum == T_TAKENBR || + trapnum == T_IDEBUG || trapnum == T_PERFMON) { va = frame->tf_iioq_head; space = frame->tf_iisq_head; vftype = UVM_PROT_EXEC; diff --git a/sys/arch/hppa/include/trap.h b/sys/arch/hppa/include/trap.h index 40885ea6bd5..774dcbf7ad0 100644 --- a/sys/arch/hppa/include/trap.h +++ b/sys/arch/hppa/include/trap.h @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.h,v 1.10 2004/04/07 18:24:20 mickey Exp $ */ +/* $OpenBSD: trap.h,v 1.11 2005/01/17 20:47:40 mickey Exp $ */ /* * Copyright (c) 1999-2004 Michael Shalayeff @@ -61,6 +61,9 @@ #define T_DATACC 26 /* data access rights >=7100 */ #define T_DATAPID 27 /* data protection ID >=7100 */ #define T_DATALIGN 28 /* unaligned data ref */ +#define T_PERFMON 29 /* performance monitor interrupt */ +#define T_IDEBUG 30 /* debug SFU interrupt */ +#define T_DDEBUG 31 /* debug SFU interrupt */ /* * Reserved range for traps is 0-63, place user flag at 6th bit |