diff options
author | 2017-08-14 21:53:34 +0000 | |
---|---|---|
committer | 2017-08-14 21:53:34 +0000 | |
commit | d5025945878efabd4ea2b0f3631d2f910c521d23 (patch) | |
tree | 1abf0b0af648ea3695b9fa497e3d316988219577 | |
parent | Add the amdisplay(4) and nxphdmi(4) drivers. (diff) | |
download | wireguard-openbsd-d5025945878efabd4ea2b0f3631d2f910c521d23.tar.xz wireguard-openbsd-d5025945878efabd4ea2b0f3631d2f910c521d23.zip |
Generate SIGILL for EXCP_UNKNOWN.
ok drahn@
-rw-r--r-- | sys/arch/arm64/arm64/trap.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/arch/arm64/arm64/trap.c b/sys/arch/arm64/arm64/trap.c index d45c3873f62..537cd199515 100644 --- a/sys/arch/arm64/arm64/trap.c +++ b/sys/arch/arm64/arm64/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.9 2017/08/09 05:53:11 jsg Exp $ */ +/* $OpenBSD: trap.c,v 1.10 2017/08/14 21:53:34 kettenis Exp $ */ /*- * Copyright (c) 2014 Andrew Turner * All rights reserved. @@ -291,6 +291,11 @@ do_el0_sync(struct trapframe *frame) refreshcreds(p); switch(exception) { + case EXCP_UNKNOWN: + vfp_save(); + sv.sival_ptr = (void *)frame->tf_elr; + trapsignal(p, SIGILL, 0, ILL_ILLOPC, sv); + break; case EXCP_FP_SIMD: case EXCP_TRAP_FP: vfp_fault(frame->tf_elr, 0, frame, exception); |