diff --git a/kernel/boot/boot.asm b/kernel/boot/boot.asm index 33b86e8..9ff1662 100644 --- a/kernel/boot/boot.asm +++ b/kernel/boot/boot.asm @@ -70,7 +70,7 @@ segmented_start: mov [CONSOLE_MEMORY+160*8+1*2], cx add ebx, VIRTUAL_OFFSET - push eax + push eax ; multiboot bootloader magic value push ebx ; pointer to multiboot info struct call k_bootstrap add esp, 8 @@ -78,6 +78,11 @@ segmented_start: mov cx, 0x0700 + 'e' mov [CONSOLE_MEMORY+160*8+4*2], cx + ; at this point paging is still disabled but the PDBR is valid and + ; points to a page directory that has all of RAM mapped to the + ; beginning of the kernel's virtual address space, and the entire + ; kernel mapped in above 0xE000_0000. + idle_loop: hlt jmp idle_loop