svn commit: r269017 - in head/sys: amd64/acpica amd64/amd64 boot/i386/libi386
Roger Pau Monné
royger at FreeBSD.org
Wed Jul 23 15:53:30 UTC 2014
Author: royger
Date: Wed Jul 23 15:53:29 2014
New Revision: 269017
URL: http://svnweb.freebsd.org/changeset/base/269017
Log:
don't set CR4 PSE bit on amd64
Setting PSE together with PAE or in long mode just makes the PSE bit
completely ignored, so don't set it.
Sponsored by: Citrix Systems R&D
Reviewed by: kib
Modified:
head/sys/amd64/acpica/acpi_wakecode.S
head/sys/amd64/amd64/mpboot.S
head/sys/amd64/amd64/pmap.c
head/sys/boot/i386/libi386/amd64_tramp.S
Modified: head/sys/amd64/acpica/acpi_wakecode.S
==============================================================================
--- head/sys/amd64/acpica/acpi_wakecode.S Wed Jul 23 15:12:17 2014 (r269016)
+++ head/sys/amd64/acpica/acpi_wakecode.S Wed Jul 23 15:53:29 2014 (r269017)
@@ -148,9 +148,9 @@ wakeup_32:
mov $bootdata32 - bootgdt, %eax
mov %ax, %ds
- /* Turn on the PAE and PSE bits for when paging is enabled */
+ /* Turn on the PAE bit for when paging is enabled */
mov %cr4, %eax
- orl $(CR4_PAE | CR4_PSE), %eax
+ orl $CR4_PAE, %eax
mov %eax, %cr4
/*
Modified: head/sys/amd64/amd64/mpboot.S
==============================================================================
--- head/sys/amd64/amd64/mpboot.S Wed Jul 23 15:12:17 2014 (r269016)
+++ head/sys/amd64/amd64/mpboot.S Wed Jul 23 15:53:29 2014 (r269017)
@@ -90,9 +90,9 @@ protmode:
mov $bootdata-gdt, %eax
mov %ax, %ds
- /* Turn on the PAE, PSE and PGE bits for when paging is enabled */
+ /* Turn on the PAE bit for when paging is enabled */
mov %cr4, %eax
- orl $(CR4_PAE | CR4_PSE), %eax
+ orl $CR4_PAE, %eax
mov %eax, %cr4
/*
Modified: head/sys/amd64/amd64/pmap.c
==============================================================================
--- head/sys/amd64/amd64/pmap.c Wed Jul 23 15:12:17 2014 (r269016)
+++ head/sys/amd64/amd64/pmap.c Wed Jul 23 15:53:29 2014 (r269017)
@@ -831,7 +831,7 @@ pmap_bootstrap(vm_paddr_t *firstaddr)
/* XXX do %cr0 as well */
- load_cr4(rcr4() | CR4_PGE | CR4_PSE);
+ load_cr4(rcr4() | CR4_PGE);
load_cr3(KPML4phys);
if (cpu_stdext_feature & CPUID_STDEXT_SMEP)
load_cr4(rcr4() | CR4_SMEP);
Modified: head/sys/boot/i386/libi386/amd64_tramp.S
==============================================================================
--- head/sys/boot/i386/libi386/amd64_tramp.S Wed Jul 23 15:12:17 2014 (r269016)
+++ head/sys/boot/i386/libi386/amd64_tramp.S Wed Jul 23 15:53:29 2014 (r269017)
@@ -84,7 +84,7 @@ amd64_tramp:
/* Turn on PAE */
movl %cr4, %eax
- orl $(CR4_PAE | CR4_PSE), %eax
+ orl $CR4_PAE, %eax
movl %eax, %cr4
/* Set %cr3 for PT4 */
More information about the svn-src-head
mailing list