diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2018-12-08 22:12:57 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2018-12-08 22:12:57 +0000 |
| commit | 759e5d25dac8ccb31f643fe0627e1b6a5a3c5933 (patch) | |
| tree | 02bd2377b90ba18c4eaa155c5dd7eb73bc4c1a4c | |
| parent | ec6306640757f2d3d9e8a5eedf1fdbd4fb78b269 (diff) | |
Notes
| -rw-r--r-- | sys/i386/i386/mpboot.s | 14 |
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 |
