|
|
@ -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 |
|
|
|
|
|
|
|
|
|
|
|