summaryrefslogtreecommitdiffstats
path: root/kernel/boot.s
blob: 534beb617bd4ec476f3c940e8ca5e246c390b2f9 (plain) (blame)
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
28
29
30
31
32
33
34
35
36
MBFLAGS equ 0
MAGIC equ 0x1BADB002
CHECKSUM equ -(MAGIC + MBFLAGS)

            section .multiboot
align 4
    dd MAGIC
    dd MBFLAGS
    dd CHECKSUM

section .bss
resb 512
align 16
; align 16 bytes according to the System V ABI standard
; Stack space
stack_bottom:
resb 16384 ; 16KiB
stack_top:

section .text
extern main
global _start:function (_start.end - _start)
_start:
            mov esp, stack_top
            call main
            cli
.hang:      hlt
            jmp .hang
.end:

section .kheap
kheap_top:
; Kernel heap space
; Change this value together Kheap::size varibale (mem/Kheap.h file)
resb 4096
kheap_bottom: