Use metadata to track VmFrames

In this commit, the frame metadata storage schema is implemented. The bootstrap process is refactored
and a boot page table is introduced to perform early stage metadata mapping. The metadata is then used
to track `VmFrame`s instead of the former `Arc` approach.
This commit is contained in:
Zhang Junyang
2024-05-15 05:41:30 +00:00
committed by Tate, Hongliang Tian
parent d24ddaae66
commit 69d464fc6b
19 changed files with 1433 additions and 205 deletions

View File

@ -196,7 +196,7 @@ pub(super) struct Vmo_ {
fn clone_page(page: &VmFrame) -> Result<VmFrame> {
let new_page = VmAllocOptions::new(1).alloc_single()?;
new_page.copy_from_frame(page);
new_page.copy_from(page);
Ok(new_page)
}