summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/aim
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2014-09-04 18:24:47 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2014-09-04 18:24:47 +0000
commitff75003b88c2692803422cd7cefda9bafe2e9285 (patch)
treed7f60e7e9cf9f29144b9392722a9b1f5c5119bdf /sys/powerpc/aim
parentfb8b6d3e049d6ff50a8f60558ec70e78e57f0178 (diff)
downloadFreeBSD-src-ff75003b88c2692803422cd7cefda9bafe2e9285.zip
FreeBSD-src-ff75003b88c2692803422cd7cefda9bafe2e9285.tar.gz
MFC r268880:
Allow mappings of memory not previously direct-mapped by the kernel when calling mmap on /dev/mem and add a handler for the possible userland machine checks that may result. Remove some pointless and wrong copy/paste that has been in here for a decade as well. This results in a /dev/mem with identical semantics to the x86 version.
Diffstat (limited to 'sys/powerpc/aim')
-rw-r--r--sys/powerpc/aim/trap.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/powerpc/aim/trap.c b/sys/powerpc/aim/trap.c
index 73944d1..cd5222a 100644
--- a/sys/powerpc/aim/trap.c
+++ b/sys/powerpc/aim/trap.c
@@ -269,6 +269,15 @@ trap(struct trapframe *frame)
}
break;
+ case EXC_MCHK:
+ /*
+ * Note that this may not be recoverable for the user
+ * process, depending on the type of machine check,
+ * but it at least prevents the kernel from dying.
+ */
+ sig = SIGBUS;
+ break;
+
default:
trap_fatal(frame);
}
OpenPOWER on IntegriCloud