From owner-p4-projects@FreeBSD.ORG Fri Apr 4 18:18:46 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C06037B404; Fri, 4 Apr 2003 18:18:46 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B334237B401 for ; Fri, 4 Apr 2003 18:18:45 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5AC2C43F85 for ; Fri, 4 Apr 2003 18:18:45 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h352Ij0U093649 for ; Fri, 4 Apr 2003 18:18:45 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h352IiIa093646 for perforce@freebsd.org; Fri, 4 Apr 2003 18:18:44 -0800 (PST) Date: Fri, 4 Apr 2003 18:18:44 -0800 (PST) Message-Id: <200304050218.h352IiIa093646@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 28130 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Apr 2003 02:18:47 -0000 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