diff --git a/src/multiboot/boot.asm b/src/multiboot/boot.asm index d502f26..6ca5009 100644 --- a/src/multiboot/boot.asm +++ b/src/multiboot/boot.asm @@ -19,11 +19,38 @@ _start: ; setup stack for kernel main function mov esp, stack + KERNEL_STACK_SIZE + lgdt [gdt32.end] ; call main function - call kernelMain + call 0x08:kernelMain .loop: jmp .loop +section .data + +ALIGN 4 + +gdt32: + dq 0 + +.code: + dw 0xffff + dw 0 + db 0 + db 10011010b + db 11001111b + db 0 + +.data: + dw 0xffff + dw 0 + db 0 + db 10010010b + db 11001111b + db 0 +.end: + dw .end - gdt32 - 1 + dd gdt32 + section .bss align 4 stack: