rosos/loader.s

28 lines
350 B
ArmAsm

.set MAGIC, 0x1badb002
.set FLAGS, (1<<0 | 1<<1)
.set CHECKSUM, -(MAGIC + FLAGS)
.section .multiboot
.long MAGIC
.long FLAGS
.long CHECKSUM
.section .text
.extern kernelmain
.global loader
loader:
mov $kernel_stack, %esp
push %eax
push %ebx
call kernelmain
.L1:
cli
hlt
jmp .L1
.section bss
.space 2*1024*1024 ; # 2 MiB
kernel_stack: