28 lines
350 B
ArmAsm
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:
|
|
|