aboutsummaryrefslogtreecommitdiffstats
path: root/src/boot/boot.stage2.asm
diff options
context:
space:
mode:
authorkotorifan <kotorifan05@gmail.com>2026-03-08 15:33:02 +0100
committerkotorifan <kotorifan05@gmail.com>2026-03-08 15:33:02 +0100
commitceedd4f2c7e990162f1b619f0d60471eea3aed1f (patch)
tree640ffbfcb9428624b6386d45d28db35d9ccac756 /src/boot/boot.stage2.asm
parentf81dee10ef19f0c82eb89d0e528bcbfb7a38b016 (diff)
downloadkotori-os-ceedd4f2c7e990162f1b619f0d60471eea3aed1f.tar.gz
Made a common directory, moved the protmode print there
Diffstat (limited to 'src/boot/boot.stage2.asm')
-rw-r--r--src/boot/boot.stage2.asm100
1 files changed, 50 insertions, 50 deletions
diff --git a/src/boot/boot.stage2.asm b/src/boot/boot.stage2.asm
index 968bedc..13d844b 100644
--- a/src/boot/boot.stage2.asm
+++ b/src/boot/boot.stage2.asm
@@ -1,75 +1,75 @@
- ;; boot.stage2.asm
+;; boot.stage2.asm
- [bits 16]
- [org 0x7e00]
-
- %include "common.asm"
+[bits 16]
+[org 0x7e00]
+
+%include "common.asm"
- jmp 0x0000:_s2_entry
+ jmp 0x0000:_s2_entry
_s2_entry:
- cli
- xor ax, ax
- mov ds, ax
+ cli
+ xor ax, ax
+ mov ds, ax
- mov si, DAP_kernel
- mov ah, 0x42
- int 0x13
- jc _kernel_load_err
- jmp _kernel_loaded
+ mov si, DAP_kernel
+ mov ah, 0x42
+ int 0x13
+ jc _kernel_load_err
+ jmp _kernel_loaded
_kernel_load_err:
- mov si, boot_kernel_err
- call _print_string
+ mov si, boot_kernel_err
+ call _print_string
- jmp $
+ jmp $
_kernel_loaded:
- mov si, boot_s2_msg
- call _print_string
+ mov si, boot_s2_msg
+ call _print_string
- call _enable_a20 ; Enable A20 line
- lgdt [GDT32_ptr] ; Load GDT
+ call _enable_a20 ; Enable A20 line
+ lgdt [GDT32_ptr] ; Load GDT
- ;; Setup Protected Mode
- mov eax, cr0
- or eax, 1
- mov cr0, eax
+;; Setup Protected Mode
+ mov eax, cr0
+ or eax, 1
+ mov cr0, eax
- jmp CODE_SEG32:_protected_mode
+ jmp CODE_SEG32:_protected_mode
- [bits 32]
+[bits 32]
_protected_mode:
- mov ax, DATA_SEG32
- mov ds, ax
- mov ss, ax
- mov esp, 0x90000
- and esp, 0xFFFFFFF0 ; Align to 16-byte boundary
+ mov ax, DATA_SEG32
+ mov ds, ax
+ mov ss, ax
+ mov esp, 0x90000
+ and esp, 0xFFFFFFF0 ; Align to 16-byte boundary
- mov esi, boot_protmode_msg
- call _print_string_pm_vga
+ mov esi, boot_protmode_msg
+ call _print_string_pm_vga
- call 0x10000
-
+ call 0x10000
+
boot_s2_msg:
- db "Entering Stage 2", 13, 10, 0
+ db "Entering Stage 2", 13, 10, 0
boot_protmode_msg:
- db "Enabling Protected Mode", 13, 10, 0
+ db "Enabling Protected Mode", 13, 10, 0
boot_kernel_err:
- db "Error loading kernel from disk", 13, 10, 0
+ db "Error loading kernel from disk", 13, 10, 0
- align 16
+align 16
DAP_kernel:
- db 0x10
- db 0
- dw 1 ; Number of sectors
- dw 0x0000
- dw 0x1000 ; Offset
- dq 66 ; Starting sector
+ db 0x10
+ db 0
+ dw 1 ; Number of sectors
+ dw 0x0000
+ dw 0x1000 ; Offset
+ dq 66 ; Starting sector
- %include "boot.stage1.print.asm"
- %include "boot.stage2.a20.asm"
- %include "boot.stage2.gdt32.asm"
- %include "boot.stage2.print.asm"
+%include "boot.stage1.print.asm"
+%include "boot.stage2.a20.asm"
+%include "boot.stage2.gdt32.asm"
+%include "common.protmode.print.asm"