add kernel highmem remap for aarch64 and some clean-ups
[lunaix-os.git] / lunaix-os / arch / aarch64 / boot / start.S
1 .section .boot.data
2     .align 16
3     stack_end:
4         .skip 512
5     stack_top:
6
7 .section .boot.text
8     .global start_
9
10     /*
11         We follow Linux-arm64 boot protocol
12             ldr x0, dtb
13             mov x1, xzr
14             mov x2, xzr
15             mov x3, xzr
16      */
17     start_:
18         ldr sp, =stack_top
19         mov fp, xzr
20
21         ldr x4, =aarch64_init
22         bl x4
23          
24         // x0: ptr to boot_handoff
25         ldr x4, =kernel_bootstrap
26         bl x4