From cb4410c84ef1816e6b91f54937483cc33d0a0cdc Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Wed, 13 Mar 2019 14:12:28 +0100 Subject: [PATCH] Update kernel_main to use `MapperAllSizes::translate_addr` --- src/main.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index ae9f24fc..6a1fea0f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,8 +11,8 @@ entry_point!(kernel_main); #[cfg(not(test))] fn kernel_main(boot_info: &'static BootInfo) -> ! { use blog_os::interrupts::PICS; - use blog_os::memory::translate_addr; - use x86_64::VirtAddr; + use blog_os::memory; + use x86_64::{structures::paging::MapperAllSizes, VirtAddr}; println!("Hello World{}", "!"); @@ -21,6 +21,8 @@ fn kernel_main(boot_info: &'static BootInfo) -> ! { unsafe { PICS.lock().initialize() }; x86_64::instructions::interrupts::enable(); + let mapper = unsafe { memory::init(boot_info.physical_memory_offset) }; + let addresses = [ // the identity-mapped vga buffer page 0xb8000, @@ -34,7 +36,7 @@ fn kernel_main(boot_info: &'static BootInfo) -> ! { for &address in &addresses { let virt = VirtAddr::new(address); - let phys = unsafe { translate_addr(virt, boot_info.physical_memory_offset) }; + let phys = mapper.translate_addr(virt); println!("{:?} -> {:?}", virt, phys); }