Date: Fri, 4 Apr 2003 18:18:44 -0800 (PST) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 28130 for review Message-ID: <200304050218.h352IiIa093646@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=28130 Change 28130 by peter@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304050218.h352IiIa093646>