PERFORCE change 29457 for review

Peter Wemm peter at FreeBSD.org
Tue Apr 22 14:36:51 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=29457

Change 29457 by peter at 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);


More information about the p4-projects mailing list