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

do updatepages

上级 f8baf345
...@@ -135,9 +135,6 @@ sys_unmap(void) ...@@ -135,9 +135,6 @@ sys_unmap(void)
if (myproc()->vmap->remove(align_addr, align_len) < 0) if (myproc()->vmap->remove(align_addr, align_len) < 0)
return -1; return -1;
updatepages(myproc()->vmap->pml4,
(void*) align_addr, (void*) (align_addr+align_len-1), 0);
tlbflush();
return 0; return 0;
} }
......
...@@ -266,7 +266,6 @@ vmap::lookup(uptr start, uptr len) ...@@ -266,7 +266,6 @@ vmap::lookup(uptr start, uptr len)
int int
vmap::insert(vmnode *n, uptr vma_start) vmap::insert(vmnode *n, uptr vma_start)
{ {
scoped_acquire sa(&lock);
u64 len = n->npages * PGSIZE; u64 len = n->npages * PGSIZE;
auto span = cr.search_lock(vma_start, len); auto span = cr.search_lock(vma_start, len);
...@@ -287,7 +286,7 @@ vmap::insert(vmnode *n, uptr vma_start) ...@@ -287,7 +286,7 @@ vmap::insert(vmnode *n, uptr vma_start)
n->ref++; n->ref++;
span.replace(new range(&cr, vma_start, len, e, 0)); span.replace(new range(&cr, vma_start, len, e, 0));
// XXX shootdown updatepages(pml4, (void*) e->vma_start, (void*) (e->vma_end-1), 0);
return 0; return 0;
} }
...@@ -295,7 +294,6 @@ vmap::insert(vmnode *n, uptr vma_start) ...@@ -295,7 +294,6 @@ vmap::insert(vmnode *n, uptr vma_start)
int int
vmap::remove(uptr vma_start, uptr len) vmap::remove(uptr vma_start, uptr len)
{ {
scoped_acquire sa(&lock);
uptr vma_end = vma_start + len; uptr vma_end = vma_start + len;
auto span = cr.search_lock(vma_start, len); auto span = cr.search_lock(vma_start, len);
...@@ -310,7 +308,8 @@ vmap::remove(uptr vma_start, uptr len) ...@@ -310,7 +308,8 @@ vmap::remove(uptr vma_start, uptr len)
span.replace(0); span.replace(0);
// XXX shootdown updatepages(pml4, (void*) vma_start, (void*) (vma_start + len - 1), 0);
tlbflush();
return 0; return 0;
} }
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论