artulab
projects
/
openbsd
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bcd8d5d
)
Generate SIGBUS/BUS_ADRALN when we see a PC Alignment Exception from userland.
author
kettenis
<kettenis@openbsd.org>
Mon, 18 Dec 2017 20:03:48 +0000
(20:03 +0000)
committer
kettenis
<kettenis@openbsd.org>
Mon, 18 Dec 2017 20:03:48 +0000
(20:03 +0000)
ok patrick@
sys/arch/arm64/arm64/trap.c
patch
|
blob
|
history
diff --git
a/sys/arch/arm64/arm64/trap.c
b/sys/arch/arm64/arm64/trap.c
index
5e14cfd
..
dfe6317
100644
(file)
--- a/
sys/arch/arm64/arm64/trap.c
+++ b/
sys/arch/arm64/arm64/trap.c
@@
-1,4
+1,4
@@
-/* $OpenBSD: trap.c,v 1.1
1 2017/09/16 02:03:40 guenther
Exp $ */
+/* $OpenBSD: trap.c,v 1.1
2 2017/12/18 20:03:48 kettenis
Exp $ */
/*-
* Copyright (c) 2014 Andrew Turner
* All rights reserved.
@@
-307,6
+307,11
@@
do_el0_sync(struct trapframe *frame)
vfp_save();
data_abort(frame, esr, 1, 1);
break;
+ case EXCP_PC_ALIGN:
+ vfp_save();
+ sv.sival_ptr = (void *)frame->tf_elr;
+ trapsignal(p, SIGBUS, 0, BUS_ADRALN, sv);
+ break;
case EXCP_DATA_ABORT_L:
vfp_save();
data_abort(frame, esr, 1, 0);