diff --git a/kernel/boot/boot.asm b/kernel/boot/boot.asm index 88bfccc..b2a39a1 100644 --- a/kernel/boot/boot.asm +++ b/kernel/boot/boot.asm @@ -109,8 +109,8 @@ segmentation_disabled: mov cx, 0x0700 + 'f' mov [CONSOLE_MEMORY+160*8+5*2], cx -; mov esp, KERNEL_STACK_TOP -; call k_main + mov esp, KERNEL_STACK_TOP + call k_main idle_loop: hlt diff --git a/kernel/boot/k_bootstrap.cc b/kernel/boot/k_bootstrap.cc index a7c5464..593b5ca 100644 --- a/kernel/boot/k_bootstrap.cc +++ b/kernel/boot/k_bootstrap.cc @@ -47,7 +47,6 @@ u32_t k_bootstrap(mb_info_t * mb_info, u32_t mb_magic) * before calling them. */ mm_bootstrap(); - stack_bootstrap(); /* after mm */ kio_bootstrap(); return 0; diff --git a/kernel/mm/mm.cc b/kernel/mm/mm.cc index 2a2b33f..cc644fe 100644 --- a/kernel/mm/mm.cc +++ b/kernel/mm/mm.cc @@ -2,6 +2,7 @@ #include #include "mm.h" +#include "stack.h" #include "boot/k_early_panic.h" #include "lang/string.h" @@ -156,6 +157,8 @@ void mm_bootstrap() /* set the page directory base register */ set_cr3(page_directory); + stack_bootstrap(); + mm_use_virtual_offset = false; }