Skip site navigation (1)Skip section navigation (2)
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>