diff options
| author | Tianhao Wang <shrik3@mailbox.org> | 2024-05-29 19:53:52 +0200 |
|---|---|---|
| committer | Tianhao Wang <shrik3@mailbox.org> | 2024-06-11 15:17:11 +0200 |
| commit | cd658673a35df8b0da3551e819e26d35c18b89f2 (patch) | |
| tree | 74c209b519290eb43545e800b88ddf9dfa796a7a /src/lib.rs | |
| parent | 9cf85e88211512b0410f9bb9f2f19ea4ce9a8190 (diff) | |
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 <shrik3@mailbox.org>
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 28 |
1 files changed, 18 insertions, 10 deletions
@@ -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 |
