.section ".text.boot" .global _start _start: mrs x0, mpidr_el1 and x0, x0, #0xffffff cbz x0, _first_processor // hang all non primary CPU _idle: wfe b _idle _first_processor: // zero out BSS section adr x0, bss_begin adr x1, bss_end _zero_bss: str xzr, [x0], #8 cmp x0, x1 b.lt _zero_bss # set stack before boot code and call kernel adr x0, _start mov sp, x0 bl kernel_entry_point b _idle