Test the unmap function (it doesn't work correctly)

This commit is contained in:
Philipp Oppermann
2017-04-13 19:33:55 +02:00
parent b49cb6986c
commit 0ee4ed738a
2 changed files with 12 additions and 1 deletions

View File

@@ -50,7 +50,7 @@ impl FrameAllocator for AreaFrameAllocator {
}
fn deallocate_frame(&mut self, _frame: Frame) {
unimplemented!()
//unimplemented!()
}
}

View File

@@ -167,4 +167,15 @@ pub fn test_paging<A>(allocator: &mut A)
page_table.map_to(page, frame, EntryFlags::empty(), allocator);
println!("Some = {:?}", page_table.translate(addr));
println!("next free frame: {:?}", allocator.allocate_frame());
println!("{:#x}", unsafe {
*(Page::containing_address(addr).start_address() as *const u64)
});
page_table.unmap(Page::containing_address(addr), allocator);
println!("None = {:?}", page_table.translate(addr));
println!("{:#x}", unsafe {
*(Page::containing_address(addr).start_address() as *const u64)
});
}