summaryrefslogtreecommitdiffstats
path: root/sys/arm64
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2016-09-16 13:00:55 +0000
committerandrew <andrew@FreeBSD.org>2016-09-16 13:00:55 +0000
commitd85252330c9c4a5bb7691333912302429dceabf8 (patch)
treead661e8f178936c0d08c8e1713f76761582501fa /sys/arm64
parent3947048945c3f6678932f4a793c98467c9c3a4f3 (diff)
downloadFreeBSD-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
Diffstat (limited to 'sys/arm64')
-rw-r--r--sys/arm64/arm64/trap.c4
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;
OpenPOWER on IntegriCloud