summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2001-10-19 20:46:12 +0000
committerdfr <dfr@FreeBSD.org>2001-10-19 20:46:12 +0000
commit242c14f7423d73c43e9a529d81970a5f13b81787 (patch)
tree820cb70b65baaae357cf2353e5964de247ccbdc7 /sys/ia64
parentab447795937ee415c6ef78d41ae520cfea320f0e (diff)
downloadFreeBSD-src-242c14f7423d73c43e9a529d81970a5f13b81787.zip
FreeBSD-src-242c14f7423d73c43e9a529d81970a5f13b81787.tar.gz
Translate various userland traps into SIGBUS (instead of just panicing).
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/trap.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/ia64/ia64/trap.c b/sys/ia64/ia64/trap.c
index d174737..e384485 100644
--- a/sys/ia64/ia64/trap.c
+++ b/sys/ia64/ia64/trap.c
@@ -509,6 +509,16 @@ trap(int vector, int imm, struct trapframe *framep)
}
i = SIGTRAP;
break;
+
+ case IA64_VEC_GENERAL_EXCEPTION:
+ case IA64_VEC_UNSUPP_DATA_REFERENCE:
+ case IA64_VEC_LOWER_PRIVILEGE_TRANSFER:
+ if (user) {
+ ucode = vector;
+ i = SIGBUS;
+ break;
+ }
+ goto dopanic;
}
default:
OpenPOWER on IntegriCloud