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

first flush pending LAPIC interrupt and then read the tlbflush value,

to avoid lost tlbflush IPIs.
上级 69f0e679
...@@ -127,8 +127,8 @@ trap(struct trapframe *tf) ...@@ -127,8 +127,8 @@ trap(struct trapframe *tf)
lapiceoi(); lapiceoi();
break; break;
case T_TLBFLUSH: { case T_TLBFLUSH: {
u64 nreq = tlbflush_req.load();
lapiceoi(); lapiceoi();
u64 nreq = tlbflush_req.load();
lcr3(rcr3()); lcr3(rcr3());
mycpu()->tlbflush_done = nreq; mycpu()->tlbflush_done = nreq;
break; break;
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论