s390/purgatory: use SYM* macros instead of ENTRY(), etc.
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 17 Apr 2023 12:45:14 +0000 (14:45 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Wed, 19 Apr 2023 15:24:18 +0000 (17:24 +0200)
Consistently use the SYM* family of macros instead of the
deprecated ENTRY(), ENDPROC(), etc. family of macros.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/purgatory/head.S
arch/s390/purgatory/kexec-purgatory.S

index 6f835124ee82ab28d07a1971bf7e4fa1b1e4c1c5..e5bd1a50352833eef9dff6d347fc156e9152b223 100644 (file)
@@ -76,9 +76,9 @@
        diag    %r0,%r1,0x308
 .endm
 
-.text
-.align PAGE_SIZE
-ENTRY(purgatory_start)
+       .text
+       .balign PAGE_SIZE
+SYM_CODE_START(purgatory_start)
        /* The purgatory might be called after a diag308 so better set
         * architecture and addressing mode.
         */
@@ -245,45 +245,21 @@ ENTRY(purgatory_start)
 
        /* start crash kernel */
        START_NEXT_KERNEL .base_dst 1
-
-
-load_psw_mask:
-       .long   0x00080000,0x80000000
-
-       .align  8
-disabled_wait_psw:
-       .quad   0x0002000180000000
-       .quad   0x0000000000000000 + .do_checksum_verification
-
-gprregs:
-       .rept   10
-       .quad   0
-       .endr
-
-/* Macro to define a global variable with name and size (in bytes) to be
- * shared with C code.
- *
- * Add the .size and .type attribute to satisfy checks on the Elf_Sym during
- * purgatory load.
- */
-.macro GLOBAL_VARIABLE name,size
-\name:
-       .global \name
-       .size   \name,\size
-       .type   \name,object
-       .skip   \size,0
-.endm
-
-GLOBAL_VARIABLE purgatory_sha256_digest,32
-GLOBAL_VARIABLE purgatory_sha_regions,16*__KEXEC_SHA_REGION_SIZE
-GLOBAL_VARIABLE kernel_entry,8
-GLOBAL_VARIABLE kernel_type,8
-GLOBAL_VARIABLE crash_start,8
-GLOBAL_VARIABLE crash_size,8
-
-       .align  PAGE_SIZE
-stack:
+SYM_CODE_END(purgatory_start)
+
+SYM_DATA_LOCAL(load_psw_mask,          .long 0x00080000,0x80000000)
+       .balign 8
+SYM_DATA_LOCAL(disabled_wait_psw,      .quad 0x0002000180000000,.do_checksum_verification)
+SYM_DATA_LOCAL(gprregs,                        .fill 10,8,0)
+SYM_DATA(purgatory_sha256_digest,      .skip 32)
+SYM_DATA(purgatory_sha_regions,                .skip 16*__KEXEC_SHA_REGION_SIZE)
+SYM_DATA(kernel_entry,                 .skip 8)
+SYM_DATA(kernel_type,                  .skip 8)
+SYM_DATA(crash_start,                  .skip 8)
+SYM_DATA(crash_size,                   .skip 8)
+       .balign PAGE_SIZE
+SYM_DATA_START_LOCAL(stack)
        /* The buffer to move this code must be as big as the code. */
        .skip   stack-purgatory_start
-       .align  PAGE_SIZE
-purgatory_end:
+       .balign PAGE_SIZE
+SYM_DATA_END_LABEL(stack, SYM_L_LOCAL, purgatory_end)
index 8293753100aea9221b4e9b2dd7971b3c40b46391..25f512b1de124eec0ae5869dd4ae22e0da21befa 100644 (file)
@@ -1,14 +1,12 @@
 /* SPDX-License-Identifier: GPL-2.0 */
+#include <linux/linkage.h>
 
        .section .rodata, "a"
 
-       .align  8
-kexec_purgatory:
-       .globl  kexec_purgatory
+       .balign 8
+SYM_DATA_START(kexec_purgatory)
        .incbin "arch/s390/purgatory/purgatory.ro"
-.Lkexec_purgatroy_end:
+SYM_DATA_END_LABEL(kexec_purgatory, SYM_L_LOCAL, kexec_purgatory_end)
 
-       .align  8
-kexec_purgatory_size:
-       .globl  kexec_purgatory_size
-       .quad   .Lkexec_purgatroy_end - kexec_purgatory
+       .balign 8
+SYM_DATA(kexec_purgatory_size, .quad kexec_purgatory_end-kexec_purgatory)