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