Files
kernel3/kernel/loader.s
T

24 lines
452 B
ArmAsm

global loader
align 4
MAGIC_NUMBER equ 0x1BADB002
FLAGS equ 0x0
CHECKSUM equ -MAGIC_NUMBER
KERNEL_STACK_SIZE equ 4096 ; size of stack in bytes
dd MAGIC_NUMBER
dd FLAGS
dd CHECKSUM
loader:
mov esp, kernel_stack; + KERNEL_STACK_SIZE ; ont ESP to the start of the stack (end of memory area)
extern kmain
call kmain
;mov eax, 0xCAFEBABE
.loop:
jmp .loop
section .bss
resb KERNEL_STACK_SIZE ; reserve stack for kernel
kernel_stack: