提交 91aa0f32 创建 作者: Austin Clements's avatar Austin Clements

Move copy_pte_u; fits vm.c in one less column and aligns proc.h

上级 9e4272c1
...@@ -289,6 +289,19 @@ freevm(pde_t *pgdir) ...@@ -289,6 +289,19 @@ freevm(pde_t *pgdir)
kfree((char*)pgdir); kfree((char*)pgdir);
} }
// Clear PTE_U on a page. Used to create an inaccessible
// page beneath the user stack.
void
clear_pte_u(pde_t *pgdir, char *uva)
{
pte_t *pte;
pte = walkpgdir(pgdir, uva, 0);
if(pte == 0)
panic("clear_pte_u");
*pte &= ~PTE_U;
}
// Given a parent process's page table, create a copy // Given a parent process's page table, create a copy
// of it for a child. // of it for a child.
pde_t* pde_t*
...@@ -360,16 +373,3 @@ copyout(pde_t *pgdir, uint va, void *p, uint len) ...@@ -360,16 +373,3 @@ copyout(pde_t *pgdir, uint va, void *p, uint len)
} }
return 0; return 0;
} }
// Clear PTE_U on a page. Used to create an inaccessible
// page beneath the user stack.
void
clear_pte_u(pde_t *pgdir, char *uva)
{
pte_t *pte;
pte = walkpgdir(pgdir, uva, 0);
if(pte == 0)
panic("clear_pte_u");
*pte &= ~PTE_U;
}
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论