mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 11:25:21 +01:00
amd64: handle #AC in kernel mode
Recover from it if PCB_ONFAULT handler is provided. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D59815
This commit is contained in:
1 parent
dc97561221
commit
c6d7235ac1
1 file changed
+8
@@ -532,6 +532,14 @@ trap(struct trapframe *frame)
|
||||
return;
|
||||
|
||||
switch (type) {
|
||||
case T_ALIGNFLT:
|
||||
if (curpcb->pcb_onfault != NULL) {
|
||||
frame->tf_rip = (long)curpcb->pcb_onfault;
|
||||
return;
|
||||
}
|
||||
trap_fatal(frame, 0);
|
||||
return;
|
||||
|
||||
case T_PAGEFLT: /* page fault */
|
||||
(void)trap_pfault(frame, false, NULL, NULL);
|
||||
return;
|
||||
|
||||
Reference in new issue
Block a user