Files
Simple-Kernel/src/boot.s
T

35 lines
602 B
ArmAsm

/* Multiboot header */
.set ALIGN, 1<<0
.set MEMINFO, 1<<1
.set FLAGS, ALIGN | MEMINFO
.set MAGIC, 0x1BADB002
.set CHECKSUM, -(MAGIC + FLAGS)
.section .multiboot
.align 4
.long MAGIC
.long FLAGS
.long CHECKSUM
.section .bss
.align 16
stack_bottom:
.skip 16384 /* 16 KiB */
stack_top:
.section .text
.global _start
.type _start, @function
_start:
mov $stack_top, %esp
/* Initialize processor state here */
call kernel_main
cli /* Disable interrupts */
1: hlt /* Waits for an interrupt */
jmp 1b /* Jump in case an interrupt actually arrives */
.size _start, . - _start