diff options
author | Mitsuru IWASAKI <iwasaki@FreeBSD.org> | 2001-08-22 15:41:43 +0000 |
---|---|---|
committer | Mitsuru IWASAKI <iwasaki@FreeBSD.org> | 2001-08-22 15:41:43 +0000 |
commit | e4e9098988f3f49bc845adf2663b3bb2ee10d802 (patch) | |
tree | 4ffcdd71b8b9829684627d7ad52d1829ee18b9a4 /sys/amd64/amd64/locore.S | |
parent | 265c01df494a865b6df7b9043799668a529398a6 (diff) | |
download | src-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.S | 13 |
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 |