Fix: memory::init expects a VirtAddr

This commit is contained in:
Philipp Oppermann
2019-09-15 10:47:47 +02:00
parent f56e4d24e3
commit 96d9de76b0

View File

@@ -16,9 +16,11 @@ entry_point!(main);
fn main(boot_info: &'static BootInfo) -> ! { fn main(boot_info: &'static BootInfo) -> ! {
use blog_os::allocator; use blog_os::allocator;
use blog_os::memory::{self, BootInfoFrameAllocator}; use blog_os::memory::{self, BootInfoFrameAllocator};
use x86_64::VirtAddr;
blog_os::init(); blog_os::init();
let mut mapper = unsafe { memory::init(boot_info.physical_memory_offset) }; let phys_mem_offset = VirtAddr::new(boot_info.physical_memory_offset);
let mut mapper = unsafe { memory::init(phys_mem_offset) };
let mut frame_allocator = unsafe { BootInfoFrameAllocator::init(&boot_info.memory_map) }; let mut frame_allocator = unsafe { BootInfoFrameAllocator::init(&boot_info.memory_map) };
allocator::init_heap(&mut mapper, &mut frame_allocator).expect("heap initialization failed"); allocator::init_heap(&mut mapper, &mut frame_allocator).expect("heap initialization failed");