From e1369902f755e292245da925f8ddc2b46e7e086e Mon Sep 17 00:00:00 2001 From: lordtet Date: Tue, 15 Jul 2025 17:21:50 -0400 Subject: [PATCH] started fixing physmem. page fault when allocating. --- src/main.c | 4 ++-- src/physmem.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.c b/src/main.c index 5f48a81..24f2338 100644 --- a/src/main.c +++ b/src/main.c @@ -40,6 +40,8 @@ void kern_main(uint32_t multiboot_magic, mb_info_t* multiboot_info) //AND OUR DEFAULT OUTPUT IS: default_output = default_COM; + printf(default_output, "Output schemes loaded!\n"); + printf(default_output, "currently executing in kern_main() at %X\n",kern_main); printf(default_output, "Entry eax:%X\n", multiboot_magic); if(multiboot_magic != 0x2BADB002) { println(default_output, "Bootloader not multiboot1 compliant! Needed for mmap, etc. Can't work without it, kthxbye!"); @@ -58,10 +60,8 @@ void kern_main(uint32_t multiboot_magic, mb_info_t* multiboot_info) return; } - /* This is broken while i implement virtual memory/paging unsigned int pages_allocated = build_bitmap((mb_mmap_entry_t*)multiboot_info->mmap_addr, multiboot_info->mmap_length); printf(default_output, "Available mem:%d Pages | %dK", pages_allocated, pages_allocated * 4); - */ } diff --git a/src/physmem.c b/src/physmem.c index 67426af..d51a08b 100644 --- a/src/physmem.c +++ b/src/physmem.c @@ -19,7 +19,7 @@ void free_page(void* addr) { unsigned int build_bitmap(mb_mmap_entry_t* mmap, int mmap_size) { //rather important global pointer to the bitmap - pmem_bitmap = &_kernel_end; + pmem_bitmap = (&_kernel_end);