OSDN Git Service

arm64: rename stext to primary_entry
authorArd Biesheuvel <ardb@kernel.org>
Thu, 26 Mar 2020 17:14:23 +0000 (18:14 +0100)
committerWill Deacon <will@kernel.org>
Tue, 28 Apr 2020 12:55:16 +0000 (13:55 +0100)
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: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20200326171423.3080-1-ardb@kernel.org
Reviwed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/efi-entry.S
arch/arm64/kernel/head.S
arch/arm64/kernel/image-vars.h
arch/arm64/kernel/vmlinux.lds.S

index 1a03618..3036429 100644 (file)
@@ -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
 
index 57a9103..01aa238 100644 (file)
@@ -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
-        *  x28        __create_page_tables()     callee preserved temp register
-        *  x19/x20    __primary_switch()         callee preserved temp registers
-        *  x24        __primary_switch() .. relocate_kernel()
-        *                                        current RELR displacement
+        *  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
         */
-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
index 7f06ad9..be0a63f 100644 (file)
@@ -13,7 +13,7 @@
 #ifdef CONFIG_EFI
 
 __efistub_kernel_size          = _edata - _text;
-__efistub_stext_offset         = stext - _text;
+__efistub_primary_entry_offset = primary_entry - _text;
 
 
 /*
index 497f967..8bd8252 100644 (file)
@@ -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.
  */