diff options
author | andrew <andrew@FreeBSD.org> | 2016-09-16 13:00:55 +0000 |
---|---|---|
committer | andrew <andrew@FreeBSD.org> | 2016-09-16 13:00:55 +0000 |
commit | d85252330c9c4a5bb7691333912302429dceabf8 (patch) | |
tree | ad661e8f178936c0d08c8e1713f76761582501fa | |
parent | 3947048945c3f6678932f4a793c98467c9c3a4f3 (diff) | |
download | FreeBSD-src-d85252330c9c4a5bb7691333912302429dceabf8.zip FreeBSD-src-d85252330c9c4a5bb7691333912302429dceabf8.tar.gz |
MFC 305607:
Trap msr/mrs instructions. These are privileged arm64 instructions and
shouldn't normally be used.
Obtained from: ABT Systems Ltd
Sponsored by: The FreeBSD Foundation
-rw-r--r-- | sys/arm64/arm64/trap.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 6332bd9..33002f7 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -388,6 +388,10 @@ do_el0_sync(struct trapframe *frame) call_trapsignal(td, SIGTRAP, TRAP_BRKPT, (void *)frame->tf_elr); userret(td, frame); break; + case EXCP_MSR: + call_trapsignal(td, SIGILL, ILL_PRVOPC, (void *)frame->tf_elr); + userret(td, frame); + break; case EXCP_SOFTSTP_EL0: td->td_frame->tf_spsr &= ~PSR_SS; td->td_pcb->pcb_flags &= ~PCB_SINGLE_STEP; |