提交 b5b59d7f 创建 作者: Nickolai Zeldovich's avatar Nickolai Zeldovich

remove debug statements

上级 550d1798
...@@ -46,13 +46,10 @@ trap(struct trapframe *tf) ...@@ -46,13 +46,10 @@ trap(struct trapframe *tf)
} }
if(tf->trapno == T_PGFLT){ if(tf->trapno == T_PGFLT){
cprintf("[%d] page fault for %x\n", cpunum(), rcr2());
if(pagefault(proc->pgdir, proc->vmap, rcr2()) >= 0){ if(pagefault(proc->pgdir, proc->vmap, rcr2()) >= 0){
cprintf("[%d] xxx1\n", cpunum());
switchuvm(proc); switchuvm(proc);
return; return;
} }
cprintf("[%d] xxx2\n", cpunum());
} }
switch(tf->trapno){ switch(tf->trapno){
......
...@@ -503,22 +503,14 @@ copyin(struct vmap *vmap, uint va, void *p, uint len) ...@@ -503,22 +503,14 @@ copyin(struct vmap *vmap, uint va, void *p, uint len)
int int
pagefault(pde_t *pgdir, struct vmap *vmap, uint va) pagefault(pde_t *pgdir, struct vmap *vmap, uint va)
{ {
cprintf("pagefault\n");
pte_t *pte = walkpgdir(pgdir, (const void *)va, 1); pte_t *pte = walkpgdir(pgdir, (const void *)va, 1);
cprintf("pagefault: 0\n"); if((*pte & (PTE_P|PTE_U|PTE_W)) == (PTE_P|PTE_U|PTE_W))
if((*pte & (PTE_P|PTE_U|PTE_W)) == (PTE_P|PTE_U|PTE_W)) {
cprintf("pagefault: 1\n");
return 0; return 0;
}
cprintf("pagefault: 1.1\n");
struct vma *m = vmap_lookup(vmap, va); struct vma *m = vmap_lookup(vmap, va);
if(m == 0) { if(m == 0)
cprintf("pagefault: 2\n");
return -1; return -1;
}
cprintf("pagefault: 3\n");
uint npg = (PGROUNDDOWN(va) - m->va_start) / PGSIZE; uint npg = (PGROUNDDOWN(va) - m->va_start) / PGSIZE;
*pte = PADDR(m->n->page[npg]) | PTE_P | PTE_U | PTE_W; *pte = PADDR(m->n->page[npg]) | PTE_P | PTE_U | PTE_W;
release(&m->lock); release(&m->lock);
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论