Lines Matching +full:bl +full:- +full:code +full:- +full:offset
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Low-level CPU initialisation
6 * Copyright (C) 1994-2002 Russell King
7 * Copyright (C) 2003-2012 ARM Ltd.
21 #include <asm/asm-offsets.h>
27 #include <asm/kernel-pgtable.h>
30 #include <asm/pgtable-hwdef.h>
39 #include "efi-header.S"
47 * ---------------------------
50 * MMU = off, D-cache = off, I-cache = on or off,
53 * Note that the callee-saved registers are used for storing variables
59 * DO NOT MODIFY. Image header expected by Linux boot-loaders.
63 .quad 0 // Image load offset from start of RAM, little-endian
64 le64sym _kernel_size_le // Effective size of kernel image, little-endian
65 le64sym _kernel_flags_le // Informative flags, little-endian
70 .long .Lpe_header_offset // Offset to the PE header.
86 bl record_mmu_state
87 bl preserve_boot_args
94 bl __pi_create_init_idmap
97 * If the page tables have been populated with non-cacheable
111 * of the primary boot code to the PoC so we can safely execute it with
120 bl init_kernel_el // w0=cpu_boot_mode
124 * The following calls CPU setup code, see arch/arm64/mm/proc.S for
129 bl __cpu_setup // initialise processor
188 * Initialize CPU registers with task-specific and cpu-specific context.
190 * Create a final frame record at task_pt_regs(current)->stackframe, so
216 * The following fragment of code is executed with the MMU enabled.
228 stp x29, x30, [sp, #-16]!
233 adrp x4, _text // Save the offset between
238 bl set_cpu_boot_mode_flag
241 bl kasan_early_init
244 bl finalise_el2 // Prefer VHE if possible
246 bl start_kernel
251 * end early head section, begin head code that is also used for
289 // clean all HYP code to the PoC if we booted at EL2 with the MMU on
339 bl init_kernel_el // w0=cpu_boot_mode
357 bl init_kernel_el // w0=cpu_boot_mode
369 bl __cpu_secondary_check52bitva
373 bl __cpu_setup // initialise processor
376 bl __enable_mmu
384 bl set_cpu_boot_mode_flag
387 bl finalise_el2
404 bl secondary_start_kernel
432 * - Corrupts tmp1, tmp2
433 * - Writes 'status' to __early_cpu_boot_status and makes sure
511 bl __enable_mmu
518 bl __pi_early_map_kernel // Map and relocate the kernel