From 61683bccdab5b49000d3b81ddba805994c74ac9f Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Wed, 13 Mar 2019 13:52:16 +0100 Subject: [PATCH] Print non-empty level 4 table entries --- src/main.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index 98e3b337..5445717a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,7 +11,7 @@ entry_point!(kernel_main); #[cfg(not(test))] fn kernel_main(boot_info: &'static BootInfo) -> ! { use blog_os::interrupts::PICS; - use x86_64::registers::control::Cr3; + use blog_os::memory::active_level_4_table; println!("Hello World{}", "!"); @@ -20,11 +20,12 @@ fn kernel_main(boot_info: &'static BootInfo) -> ! { unsafe { PICS.lock().initialize() }; x86_64::instructions::interrupts::enable(); - let (level_4_page_table, _) = Cr3::read(); - println!( - "Level 4 page table at: {:?}", - level_4_page_table.start_address() - ); + let l4_table = unsafe { active_level_4_table(boot_info.physical_memory_offset) }; + for (i, entry) in l4_table.iter().enumerate() { + if !entry.is_unused() { + println!("L4 Entry {}: {:?}", i, entry); + } + } println!("It did not crash!"); blog_os::hlt_loop();