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