24 lines
452 B
ArmAsm
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:
|