diff options
Diffstat (limited to 'src/boot/boot.stage2.pm.asm')
| -rw-r--r-- | src/boot/boot.stage2.pm.asm | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/boot/boot.stage2.pm.asm b/src/boot/boot.stage2.pm.asm index 77f5f61..8897be6 100644 --- a/src/boot/boot.stage2.pm.asm +++ b/src/boot/boot.stage2.pm.asm @@ -4,9 +4,25 @@ [bits 16] %include "boot.stage2.gdt32.asm" -_ +_enable_pm: cli lgdt [GDT32_ptr] - ;; Enable Protected Mode + mov eax, cr0 + or eax, 1 + mov cr0, eax + + jmp CODE_SEG32:_protected_mode + +[bits 32] +_protected_mode: + mov ax, DATA_SEG32 + mov ds, ax + mov ss, ax + mov es, ax + mov fs, ax + mov gs, ax + + ret + |
