aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/loader.s
blob: b283a640826c77388aa806cd2173e1542cd7ecaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
.set MAGIC, 0x1badb002
.set FLAGS, (1<<0 | 1<<1)
.set CHECKSUM, -(MAGIC + FLAGS)

.section .multiboot
	.long MAGIC
	.long FLAGS
	.long CHECKSUM

.section .text
.extern kernel_main
.global loader

loader:
	mov $kernel_stack, %esp
	push %eax
	push %ebx
	call kernel_main

_stop:
	cli
	hlt
	jmp _stop

.section .bss
.space 2*1024*1024  # 2 MiB
kernel_stack: