Blob


1 .section ".text.boot"
3 .global _start
4 _start:
5 mrs x0, mpidr_el1
6 and x0, x0, #0xffffff
7 cbz x0, _first_processor
9 // hang all non primary CPU
10 _idle:
11 wfe
12 b _idle
14 _first_processor:
15 // zero out BSS section
16 adr x0, bss_begin
17 adr x1, bss_end
18 _zero_bss:
19 str xzr, [x0], #8
20 cmp x0, x1
21 b.lt _zero_bss
23 # set stack before boot code and call kernel
24 adr x0, _start
25 mov sp, x0
26 bl kernel_entry_point
27 b _idle