socsvn commit: r269504 - soc2014/op/freebsd-base/sys/i386/i386
op at FreeBSD.org
op at FreeBSD.org
Fri Jun 13 01:49:31 UTC 2014
Author: op
Date: Fri Jun 13 01:49:30 2014
New Revision: 269504
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=269504
Log:
SMAP i386: enable SMAP at boot time
git: https://github.com/opntr/opBSD/commits/op/gsoc2014/smap
Signed-off-by: Oliver Pinter <oliver.pntr at gmail.com>
Modified:
soc2014/op/freebsd-base/sys/i386/i386/pmap.c
Modified: soc2014/op/freebsd-base/sys/i386/i386/pmap.c
==============================================================================
--- soc2014/op/freebsd-base/sys/i386/i386/pmap.c Fri Jun 13 01:31:46 2014 (r269503)
+++ soc2014/op/freebsd-base/sys/i386/i386/pmap.c Fri Jun 13 01:49:30 2014 (r269504)
@@ -384,6 +384,19 @@
virtual_end = VM_MAX_KERNEL_ADDRESS;
+ if (cpu_stdext_feature & CPUID_STDEXT_SMEP)
+ load_cr4(rcr4() | CR4_SMEP);
+ /*
+ * XXXOP - handle properly the situation, when the kernel
+ * compiled with SMAP, but the CPU does not support it
+ */
+ if (cpu_stdext_feature & CPUID_STDEXT_SMAP) {
+ printf("Intel SMAP: enable\n");
+ load_cr4(rcr4() | CR4_SMAP);
+ } else {
+ panic("Intel SMAP: not supported...");
+ }
+
/*
* Initialize the kernel pmap (which is statically allocated).
*/
More information about the svn-soc-all
mailing list