From cd658673a35df8b0da3551e819e26d35c18b89f2 Mon Sep 17 00:00:00 2001 From: Tianhao Wang Date: Wed, 29 May 2024 19:53:52 +0200 Subject: mm: add stack based PMA use 8MiB reserved array to manage up to 4GiB of physical memory (4K Pages only) Signed-off-by: Tianhao Wang --- src/lib.rs | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index cd5cd7c..0eb1c7d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -31,19 +31,27 @@ pub extern "C" fn _entry() -> ! { assert!(multiboot::check(), "bad multiboot info from grub!"); let mbi = multiboot::get_mb_info().expect("bad multiboot info flags"); let mem = unsafe { mbi.get_mem() }.unwrap(); - let mmap = unsafe { mbi.get_mmap() }.unwrap(); - println!("memory: {:#X?}", mem); - println!("mmap (start): {:#X?}", mmap); - - multiboot::_test_mmap(); + println!( + "available memory: lower {:#X} KiB, upper:{:#X} KiB", + mem.lower(), + mem.upper() + ); + mm::init(); interrupt::init(); pic_8259::allow(PicDeviceInt::KEYBOARD); interrupt::interrupt_enable(); - let mut framemap = mm::pma::FMap::new(); - framemap.init(); - println!("Bitmap starting from : {:p}", framemap.bm.as_ptr()); - println!("Skip first {} bytes", framemap.skip_byte); - println!("system init .. done!"); + + println!( + "kernel: {:#X} - {:#X}", + defs::pmap_kernel_start(), + defs::pmap_kernel_end() + ); + println!( + " BSS: {:#X} - {:#X}", + defs::pmap_bss_start(), + defs::pmap_bss_end() + ); + // io::print_welcome(); // busy loop query keyboard -- cgit v1.2.3-70-g09d2