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

fix compile with VM_RADIX

上级 6ac05a42
...@@ -731,11 +731,28 @@ vmap::unmapped_area(size_t npages) ...@@ -731,11 +731,28 @@ vmap::unmapped_area(size_t npages)
uptr addr = 0x1000; uptr addr = 0x1000;
while (addr < USERTOP) { while (addr < USERTOP) {
#if VM_CRANGE
auto x = cr.search(addr, n); auto x = cr.search(addr, n);
if (x == nullptr) if (x == nullptr)
return addr; return addr;
vma* a = (vma*) x; vma* a = (vma*) x;
addr = a->vma_end; addr = a->vma_end;
#endif
#if VM_RADIX
bool overlap = false;
for (uptr ax = addr; ax < addr+n; ax += PGSIZE) {
auto x = rx.search(ax);
if (x != nullptr) {
overlap = true;
vma* a = (vma*) x;
addr = a->vma_end;
break;
}
}
if (!overlap)
return addr;
#endif
} }
return 0; return 0;
} }
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论