StupidOS/kernel/head.s

48 lines
609 B
ArmAsm

[BITS 32]
%include "base.inc"
MULTIBOOT_MAGIC equ 0x1BADB002
MULTIBOOT_ALIGN equ 1 << 0
MULTIBOOT_MEMINFO equ 1 << 1
MULTIBOOT_FLAGS equ MULTIBOOT_ALIGN | MULTIBOOT_MEMINFO
section .multiboot
align 4
dd MULTIBOOT_MAGIC
dd MULTIBOOT_FLAGS
dd -(MULTIBOOT_MAGIC + MULTIBOOT_FLAGS)
section .bss
align 16
stack_bottom:
resb 16384
stack_top:
section .text
global entry
entry:
mov esp, stack_top
cli
extern serial_init
call serial_init
extern setup_gdt
call setup_gdt
extern setup_idt
call setup_idt
extern setup_paging
call setup_paging
LOG file
hang:
hlt
jmp hang
file db __FILE__, 0