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

enable interrupts while handling pagefaults -- otherwise TLB shootdown can deadlock

上级 6e31b597
......@@ -119,6 +119,7 @@ trap(struct trapframe *tf)
if(tf->trapno == T_PGFLT){
uptr addr = rcr2();
sti();
if(addr < USERTOP && pagefault(myproc()->vmap, addr, tf->err) >= 0){
#if MTRACE
mtstop(myproc());
......@@ -127,6 +128,7 @@ trap(struct trapframe *tf)
#endif
return;
}
cli();
}
// In user space, assume process misbehaved.
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论