aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/amd64/locore.S
diff options
context:
space:
mode:
authorMitsuru IWASAKI <iwasaki@FreeBSD.org>2001-08-22 15:41:43 +0000
committerMitsuru IWASAKI <iwasaki@FreeBSD.org>2001-08-22 15:41:43 +0000
commite4e9098988f3f49bc845adf2663b3bb2ee10d802 (patch)
tree4ffcdd71b8b9829684627d7ad52d1829ee18b9a4 /sys/amd64/amd64/locore.S
parent265c01df494a865b6df7b9043799668a529398a6 (diff)
downloadsrc-e4e9098988f3f49bc845adf2663b3bb2ee10d802.tar.gz
src-e4e9098988f3f49bc845adf2663b3bb2ee10d802.zip
Move CR4.PGE enabling code after paging is enabled via CR0.PG based on
the description (2.5. CONTROL REGISTERS) of Intel developer's manual at: ftp://download.intel.com/design/PentiumII/manuals/24319202.pdf Reviewed by: peter, bde, tlambert2@mindspring.com Pointed-out by: "Shin'ya Kumabuchi" <kumabu@t3.rim.or.jp> MFC after: 1 week
Notes
Notes: svn path=/head/; revision=82140
Diffstat (limited to 'sys/amd64/amd64/locore.S')
-rw-r--r--sys/amd64/amd64/locore.S13
1 files changed, 6 insertions, 7 deletions
diff --git a/sys/amd64/amd64/locore.S b/sys/amd64/amd64/locore.S
index cdfd7992cc48..9d106a49a834 100644
--- a/sys/amd64/amd64/locore.S
+++ b/sys/amd64/amd64/locore.S
@@ -374,6 +374,12 @@ begin:
movl IdlePTD,%esi
movl %esi,PCB_CR3(%eax)
+ testl $CPUID_PGE, R(cpu_feature)
+ jz 1f
+ movl %cr4, %eax
+ orl $CR4_PGE, %eax
+ movl %eax, %cr4
+1:
pushl physfree /* value of first for init386(first) */
call init386 /* wire 386 chip for unix operation */
@@ -719,13 +725,6 @@ trycpuid: /* Use the `cpuid' instruction. */
create_pagetables:
- testl $CPUID_PGE, R(cpu_feature)
- jz 1f
- movl %cr4, %eax
- orl $CR4_PGE, %eax
- movl %eax, %cr4
-1:
-
/* Find end of kernel image (rounded up to a page boundary). */
movl $R(_end),%esi