Commit 348a625d authored by Ard Biesheuvel's avatar Ard Biesheuvel Committed by Will Deacon
Browse files

arm64: rename stext to primary_entry



For historical reasons, the primary entry routine living somewhere in
the inittext section is called stext(), which is confusing, given that
there is also a section marker called _stext which lives at a fixed
offset in the image (either 64 or 4096 bytes, depending on whether
CONFIG_EFI is enabled)

Let's rename stext to primary_entry(), which is a better description
and reflects the secondary_entry() routine that already exists for
SMP boot.

Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20200326171423.3080-1-ardb@kernel.org


Reviwed-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent 6a8b55ed
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ SYM_CODE_START(efi_enter_kernel)
	 * point stored in x0. Save those values in registers which are
	 * callee preserved.
	 */
	ldr	w2, =stext_offset
	ldr	w2, =primary_entry_offset
	add	x19, x0, x2		// relocated Image entrypoint
	mov	x20, x1			// DTB address

+9 −10
Original line number Diff line number Diff line
@@ -70,9 +70,9 @@ _head:
	 * its opcode forms the magic "MZ" signature required by UEFI.
	 */
	add	x13, x18, #0x16
	b	stext
	b	primary_entry
#else
	b	stext				// branch to kernel start, magic
	b	primary_entry			// branch to kernel start, magic
	.long	0				// reserved
#endif
	le64sym	_kernel_offset_le		// Image load offset from start of RAM, little-endian
@@ -98,14 +98,13 @@ pe_header:
	 * primary lowlevel boot path:
	 *
	 *  Register   Scope                      Purpose
	 *  x21        stext() .. start_kernel()  FDT pointer passed at boot in x0
	 *  x23        stext() .. start_kernel()  physical misalignment/KASLR offset
	 *  x21        primary_entry() .. start_kernel()        FDT pointer passed at boot in x0
	 *  x23        primary_entry() .. start_kernel()        physical misalignment/KASLR offset
	 *  x28        __create_page_tables()                   callee preserved temp register
	 *  x19/x20    __primary_switch()                       callee preserved temp registers
	 *  x24        __primary_switch() .. relocate_kernel()
	 *                                        current RELR displacement
	 *  x24        __primary_switch() .. relocate_kernel()  current RELR displacement
	 */
SYM_CODE_START(stext)
SYM_CODE_START(primary_entry)
	bl	preserve_boot_args
	bl	el2_setup			// Drop to EL1, w0=cpu_boot_mode
	adrp	x23, __PHYS_OFFSET
@@ -121,7 +120,7 @@ SYM_CODE_START(stext)
	mov	x0, #ARM64_CPU_BOOT_PRIMARY
	bl	__cpu_setup			// initialise processor
	b	__primary_switch
SYM_CODE_END(stext)
SYM_CODE_END(primary_entry)

/*
 * Preserve the arguments passed by the bootloader in x0 .. x3
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@
#ifdef CONFIG_EFI

__efistub_kernel_size		= _edata - _text;
__efistub_stext_offset		= stext - _text;
__efistub_primary_entry_offset	= primary_entry - _text;


/*
+2 −2
Original line number Diff line number Diff line
@@ -72,8 +72,8 @@ jiffies = jiffies_64;

/*
 * The size of the PE/COFF section that covers the kernel image, which
 * runs from stext to _edata, must be a round multiple of the PE/COFF
 * FileAlignment, which we set to its minimum value of 0x200. 'stext'
 * runs from _stext to _edata, must be a round multiple of the PE/COFF
 * FileAlignment, which we set to its minimum value of 0x200. '_stext'
 * itself is 4 KB aligned, so padding out _edata to a 0x200 aligned
 * boundary should be sufficient.
 */