提交 19d0c6a0 创建 作者: Silas Boyd-Wickizer's avatar Silas Boyd-Wickizer

Use 2MByte super pages for kernel mappings.

上级 f964a990
...@@ -88,18 +88,17 @@ pgmap(void *va, void *last, paddr pa) ...@@ -88,18 +88,17 @@ pgmap(void *va, void *last, paddr pa)
{ {
pme_t *pdp; pme_t *pdp;
pme_t *pd; pme_t *pd;
pme_t *pt; pme_t *sp;
for (;;) { for (;;) {
pdp = descend(kpml4, va, 0, 1, 3); pdp = descend(kpml4, va, 0, 1, 3);
pd = descend(pdp, va, 0, 1, 2); pd = descend(pdp, va, 0, 1, 2);
pt = descend(pd, va, 0, 1, 1); sp = &pd[PX(1,va)];
pt = &pt[PX(0,va)]; *sp = pa | PTE_W | PTE_P | PTE_PS;
*pt = pa | PTE_W | PTE_P;
if(va == last) if(va == last)
break; break;
va += PGSIZE; va += PGSIZE*512;
pa += PGSIZE; pa += PGSIZE*512;
} }
} }
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论