Date: Tue, 22 Apr 2003 14:36:47 -0700 (PDT) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 29457 for review Message-ID: <200304222136.h3MLalMs013176@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=29457 Change 29457 by peter@peter_overcee on 2003/04/22 14:35:55 Do not block out userland access at the PDP level, because this cuts off userland access entirely. Seperate out the recursive wiring and the pdp setup so that being too clever doesn't hide mistakes like I fixed above. Affected files ... .. //depot/projects/hammer/sys/x86_64/x86_64/pmap.c#23 edit Differences ... ==== //depot/projects/hammer/sys/x86_64/x86_64/pmap.c#23 (text+ko) ==== @@ -1071,9 +1071,14 @@ for (i = 0; i < NPGPTD; i++) { pa = VM_PAGE_TO_PHYS(ptdpg[i]); pmap->pm_pdir[PTDPTDI + i] = pa | PG_V | PG_RW | PG_A | PG_M; - pmap->pm_pdp[i] = pa | PG_RW | PG_V; + } + /* Connect ptd pages to pdp */ + for (i = 0; i < NPGPTD; i++) { + pa = VM_PAGE_TO_PHYS(ptdpg[i]); + pmap->pm_pdp[i] = pa | PG_RW | PG_V | PG_U; } - pmap->pm_pml4[0] = VM_PAGE_TO_PHYS(pdppg) | PG_RW | PG_V; + /* connect pdp to pml4 */ + pmap->pm_pml4[0] = VM_PAGE_TO_PHYS(pdppg) | PG_RW | PG_V | PG_U; pmap->pm_active = 0; TAILQ_INIT(&pmap->pm_pvlist);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304222136.h3MLalMs013176>