aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2018-12-08 22:12:57 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2018-12-08 22:12:57 +0000
commit759e5d25dac8ccb31f643fe0627e1b6a5a3c5933 (patch)
tree02bd2377b90ba18c4eaa155c5dd7eb73bc4c1a4c
parentec6306640757f2d3d9e8a5eedf1fdbd4fb78b269 (diff)
Notes
-rw-r--r--sys/i386/i386/mpboot.s14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/i386/i386/mpboot.s b/sys/i386/i386/mpboot.s
index 0ba1bc94bc52..29b49f14a804 100644
--- a/sys/i386/i386/mpboot.s
+++ b/sys/i386/i386/mpboot.s
@@ -99,6 +99,20 @@ NON_GPROF_ENTRY(MPentry)
movl %cr4, %eax
orl $CR4_PAE, %eax
movl %eax, %cr4
+ movl $0x80000000, %eax
+ cpuid
+ movl $0x80000001, %ebx
+ cmpl %ebx, %eax
+ jb 1f
+ movl %ebx, %eax
+ cpuid
+ testl $AMDID_NX, %edx
+ je 1f
+ movl $MSR_EFER, %ecx
+ rdmsr
+ orl $EFER_NXE,%eax
+ wrmsr
+1:
#else
movl IdlePTD, %eax
movl %eax,%cr3