Refactor Vmar and VmMapping.

Co-authored-by: Zhang Junyang <junyang@stu.pku.edu.cn>
This commit is contained in:
Wang Siyuan
2024-11-09 01:44:11 +00:00
committed by Tate, Hongliang Tian
parent e453649d78
commit 4ea3e49788
12 changed files with 782 additions and 1272 deletions

View File

@ -53,7 +53,7 @@ pub fn sys_madvise(
fn madv_free(start: Vaddr, end: Vaddr, ctx: &Context) -> Result<()> {
let root_vmar = ctx.process.root_vmar();
let advised_range = start..end;
let _ = root_vmar.destroy(advised_range);
let _ = root_vmar.remove_mapping(advised_range);
Ok(())
}

View File

@ -25,6 +25,6 @@ pub fn sys_munmap(addr: Vaddr, len: usize, ctx: &Context) -> Result<SyscallRetur
"integer overflow when (addr + len)",
))?;
debug!("unmap range = 0x{:x} - 0x{:x}", addr, end);
root_vmar.destroy(addr..end)?;
root_vmar.remove_mapping(addr..end)?;
Ok(SyscallReturn::Return(0))
}