fixing up paging issues
This commit is contained in:
@@ -18,6 +18,9 @@ extern void enable_interrupts();
|
||||
|
||||
void* page = NULL;
|
||||
|
||||
extern char __kernel_start;
|
||||
extern char __kernel_end;
|
||||
|
||||
void kmain(uint32_t magic, multiboot_info* mbi) {
|
||||
extern print_stream_t vga_print_stream;
|
||||
extern print_stream_t* kout;
|
||||
@@ -49,16 +52,19 @@ void kmain(uint32_t magic, multiboot_info* mbi) {
|
||||
return;
|
||||
}
|
||||
|
||||
init_mm((void*)mbi->mmap_addr, mbi->mmap_length);
|
||||
init_pmm((void*)mbi->mmap_addr, mbi->mmap_length);
|
||||
uint32_t mem_size = total_free_memory();
|
||||
kprintf("Total available memory: %d MB\n", mem_size / 1024 / 1024);
|
||||
|
||||
kprintf("__kernel_start: 0x%x\n", &__kernel_start);
|
||||
kprintf("__kernel_end: 0x%x\n", &__kernel_end);
|
||||
extern uint32_t page_directory[1024];
|
||||
kprintf("page directory: 0x%x\n", &page_directory);
|
||||
uint32_t size = (&__kernel_end - &__kernel_start) / 1024;
|
||||
kprintf("kernel size: %dKB\n", size);
|
||||
|
||||
init_paging();
|
||||
enable_paging();
|
||||
kprintf("Paging enabled\n");
|
||||
|
||||
// enable_interrupts();
|
||||
// kprintf("Interrupts enabled\n");
|
||||
init_page_tables();
|
||||
kprintf("Page tables reloaded");
|
||||
|
||||
while(1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user