diff options
author | dfr <dfr@FreeBSD.org> | 2001-10-19 20:46:12 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2001-10-19 20:46:12 +0000 |
commit | 242c14f7423d73c43e9a529d81970a5f13b81787 (patch) | |
tree | 820cb70b65baaae357cf2353e5964de247ccbdc7 /sys/ia64 | |
parent | ab447795937ee415c6ef78d41ae520cfea320f0e (diff) | |
download | FreeBSD-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.c | 10 |
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: |