PERFORCE change 28130 for review
Peter Wemm
peter at FreeBSD.org
Fri Apr 4 18:18:47 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=28130
Change 28130 by peter at peter_daintree on 2003/04/04 18:18:20
hack a bit of the PML4 stuff in. Still need to do the middle page.
I think I'm going to use a couple of 2M pages initially and then create
the rest of the page tables in C and reclaim the initial ones.
Affected files ...
.. //depot/projects/hammer/sys/x86_64/x86_64/locore.s#21 edit
Differences ...
==== //depot/projects/hammer/sys/x86_64/x86_64/locore.s#21 (text+ko) ====
@@ -174,7 +174,7 @@
PING('e');
/* Point to the PML4 */
- movl R(IdlePTD), %eax
+ movl R(IdlePML4), %eax
movl %eax,%cr3 /* load ptd addr into mmu */
PING('r');
@@ -215,11 +215,7 @@
xorl %ebp,%ebp /* mark end of frames */
-#ifdef PAE
- movl IdlePDPT,%esi
-#else
- movl IdlePTD,%esi
-#endif
+ movl IdlePML4,%esi
movl %esi,(KSTACK_PAGES*PAGE_SIZE-PCB_SIZE+PCB_CR3)(%eax)
pushl physfree /* value of first for init386(first) */
@@ -302,11 +298,9 @@
movl %esi,R(KPTphys)
/* Allocate Page Table Directory */
-#ifdef PAE
/* XXX only need 32 bytes (easier for now) */
ALLOCPAGES(1)
- movl %esi,R(IdlePDPT)
-#endif
+ movl %esi,R(IdlePML4)
ALLOCPAGES(NPGPTD)
movl %esi,R(IdlePTD)
@@ -340,11 +334,9 @@
fillkptphys(%edx)
/* Map page directory. */
-#ifdef PAE
- movl R(IdlePDPT), %eax
+ movl R(IdlePML4), %eax
movl $1, %ecx
fillkptphys($PG_RW)
-#endif
movl R(IdlePTD), %eax
movl $NPGPTD, %ecx
@@ -383,12 +375,10 @@
movl $NPGPTD,%ecx
fillkpt(R(IdlePTD), $PG_RW)
-#ifdef PAE
movl R(IdlePTD), %eax
xorl %ebx, %ebx
movl $NPGPTD, %ecx
- fillkpt(R(IdlePDPT), $0x0)
-#endif
+ fillkpt(R(IdlePML4), $0x0)
ret
More information about the p4-projects
mailing list