os/boot.s

38 lines
547 B
ArmAsm
Raw Normal View History

2024-05-25 19:20:33 +03:00
.set ALIGN, 1<<0
.set MEMINFO, 1<<1
.set FLAGS, ALIGN | MEMINFO
2025-01-31 17:38:38 +02:00
.set MAGIC, 0x1BADB002
2024-05-25 19:20:33 +03:00
.set CHECKSUM, -(MAGIC + FLAGS)
.section .multiboot
.align 4
.long MAGIC
.long FLAGS
.long CHECKSUM
2025-01-31 17:38:38 +02:00
.section .bss
.align 16
.global stack_bottom
2024-05-25 19:20:33 +03:00
.global stack_top
stack_bottom:
.skip 16384
stack_top:
.section .text
.global _start
.type _start, @function
_start:
2025-01-31 17:38:38 +02:00
movl $stack_top, %esp
pushl $0
popf
pushl %ebx
call kernel_main
2024-05-25 19:20:33 +03:00
2025-01-31 17:38:38 +02:00
cli
1: hlt
jmp 1b
2024-05-25 19:20:33 +03:00
2025-01-31 17:38:38 +02:00
.size _start, . - _start