Implemented a nice kernel death. Nothing works

paging
E. Almqvist 3 years ago
parent 9ffbcc8ad0
commit f2d454d3d5
  1. 3
      kernel/enable_paging.asm
  2. 1
      kernel/kernel.c

@ -13,7 +13,10 @@ enable_paging_registers:
mov eax, cr0 ; eax as a middle-man register (again) mov eax, cr0 ; eax as a middle-man register (again)
or eax, PAGING_ENABLE_FLAG ; perform the OR operation on eax (ex: 0b01 or 0b10 = 0b11) or eax, PAGING_ENABLE_FLAG ; perform the OR operation on eax (ex: 0b01 or 0b10 = 0b11)
; This is needed to enable paging (set the flag as "enabled") ; This is needed to enable paging (set the flag as "enabled")
; DANGER: past this op memory will get weird
mov cr0, eax ; Move it into cr0 to finally enable paging mov cr0, eax ; Move it into cr0 to finally enable paging
; TODO: Make this work to prevent kernel "panic" (actually death) -> bootloop
ret ; return to last location ret ; return to last location

@ -12,7 +12,6 @@ void init() {
enable_paging(); enable_paging();
println(""); println("");
char* title = "eOS Version 0.3 2021"; char* title = "eOS Version 0.3 2021";
println(title, DEFAULT_COLOR); println(title, DEFAULT_COLOR);

Loading…
Cancel
Save