Skip to content

Commit 0343a7e

Browse files
brooniewilldeacon
authored andcommitted
arm64: kernel: Convert to modern annotations for assembly functions
In an effort to clarify and simplify the annotation of assembly functions in the kernel new macros have been introduced. These replace ENTRY and ENDPROC and also add a new annotation for static functions which previously had no ENTRY equivalent. Update the annotations in the core kernel code to the new macros. Signed-off-by: Mark Brown <broonie@kernel.org> Acked-by: Mark Rutland <mark.rutland@arm.com> Link: https://lore.kernel.org/r/20200501115430.37315-3-broonie@kernel.org Signed-off-by: Will Deacon <will@kernel.org>
1 parent 06607c7 commit 0343a7e

File tree

10 files changed

+68
-68
lines changed

10 files changed

+68
-68
lines changed

arch/arm64/kernel/cpu-reset.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* branch to what would be the reset vector. It must be executed with the
3030
* flat identity mapping.
3131
*/
32-
ENTRY(__cpu_soft_restart)
32+
SYM_CODE_START(__cpu_soft_restart)
3333
/* Clear sctlr_el1 flags. */
3434
mrs x12, sctlr_el1
3535
mov_q x13, SCTLR_ELx_FLAGS
@@ -47,6 +47,6 @@ ENTRY(__cpu_soft_restart)
4747
mov x1, x3 // arg1
4848
mov x2, x4 // arg2
4949
br x8
50-
ENDPROC(__cpu_soft_restart)
50+
SYM_CODE_END(__cpu_soft_restart)
5151

5252
.popsection

arch/arm64/kernel/efi-rt-wrapper.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
#include <linux/linkage.h>
77

8-
ENTRY(__efi_rt_asm_wrapper)
8+
SYM_FUNC_START(__efi_rt_asm_wrapper)
99
stp x29, x30, [sp, #-32]!
1010
mov x29, sp
1111

@@ -35,4 +35,4 @@ ENTRY(__efi_rt_asm_wrapper)
3535
b.ne 0f
3636
ret
3737
0: b efi_handle_corrupted_x18 // tail call
38-
ENDPROC(__efi_rt_asm_wrapper)
38+
SYM_FUNC_END(__efi_rt_asm_wrapper)

arch/arm64/kernel/entry-fpsimd.S

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,34 +16,34 @@
1616
*
1717
* x0 - pointer to struct fpsimd_state
1818
*/
19-
ENTRY(fpsimd_save_state)
19+
SYM_FUNC_START(fpsimd_save_state)
2020
fpsimd_save x0, 8
2121
ret
22-
ENDPROC(fpsimd_save_state)
22+
SYM_FUNC_END(fpsimd_save_state)
2323

2424
/*
2525
* Load the FP registers.
2626
*
2727
* x0 - pointer to struct fpsimd_state
2828
*/
29-
ENTRY(fpsimd_load_state)
29+
SYM_FUNC_START(fpsimd_load_state)
3030
fpsimd_restore x0, 8
3131
ret
32-
ENDPROC(fpsimd_load_state)
32+
SYM_FUNC_END(fpsimd_load_state)
3333

3434
#ifdef CONFIG_ARM64_SVE
35-
ENTRY(sve_save_state)
35+
SYM_FUNC_START(sve_save_state)
3636
sve_save 0, x1, 2
3737
ret
38-
ENDPROC(sve_save_state)
38+
SYM_FUNC_END(sve_save_state)
3939

40-
ENTRY(sve_load_state)
40+
SYM_FUNC_START(sve_load_state)
4141
sve_load 0, x1, x2, 3, x4
4242
ret
43-
ENDPROC(sve_load_state)
43+
SYM_FUNC_END(sve_load_state)
4444

45-
ENTRY(sve_get_vl)
45+
SYM_FUNC_START(sve_get_vl)
4646
_sve_rdvl 0, 1
4747
ret
48-
ENDPROC(sve_get_vl)
48+
SYM_FUNC_END(sve_get_vl)
4949
#endif /* CONFIG_ARM64_SVE */

arch/arm64/kernel/hibernate-asm.S

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
* x5: physical address of a zero page that remains zero after resume
6666
*/
6767
.pushsection ".hibernate_exit.text", "ax"
68-
ENTRY(swsusp_arch_suspend_exit)
68+
SYM_CODE_START(swsusp_arch_suspend_exit)
6969
/*
7070
* We execute from ttbr0, change ttbr1 to our copied linear map tables
7171
* with a break-before-make via the zero page
@@ -110,7 +110,7 @@ ENTRY(swsusp_arch_suspend_exit)
110110
cbz x24, 3f /* Do we need to re-initialise EL2? */
111111
hvc #0
112112
3: ret
113-
ENDPROC(swsusp_arch_suspend_exit)
113+
SYM_CODE_END(swsusp_arch_suspend_exit)
114114

115115
/*
116116
* Restore the hyp stub.
@@ -119,15 +119,15 @@ ENDPROC(swsusp_arch_suspend_exit)
119119
*
120120
* x24: The physical address of __hyp_stub_vectors
121121
*/
122-
el1_sync:
122+
SYM_CODE_START_LOCAL(el1_sync)
123123
msr vbar_el2, x24
124124
eret
125-
ENDPROC(el1_sync)
125+
SYM_CODE_END(el1_sync)
126126

127127
.macro invalid_vector label
128-
\label:
128+
SYM_CODE_START_LOCAL(\label)
129129
b \label
130-
ENDPROC(\label)
130+
SYM_CODE_END(\label)
131131
.endm
132132

133133
invalid_vector el2_sync_invalid
@@ -141,7 +141,7 @@ ENDPROC(\label)
141141

142142
/* el2 vectors - switch el2 here while we restore the memory image. */
143143
.align 11
144-
ENTRY(hibernate_el2_vectors)
144+
SYM_CODE_START(hibernate_el2_vectors)
145145
ventry el2_sync_invalid // Synchronous EL2t
146146
ventry el2_irq_invalid // IRQ EL2t
147147
ventry el2_fiq_invalid // FIQ EL2t
@@ -161,6 +161,6 @@ ENTRY(hibernate_el2_vectors)
161161
ventry el1_irq_invalid // IRQ 32-bit EL1
162162
ventry el1_fiq_invalid // FIQ 32-bit EL1
163163
ventry el1_error_invalid // Error 32-bit EL1
164-
END(hibernate_el2_vectors)
164+
SYM_CODE_END(hibernate_el2_vectors)
165165

166166
.popsection

arch/arm64/kernel/hyp-stub.S

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
.align 11
2323

24-
ENTRY(__hyp_stub_vectors)
24+
SYM_CODE_START(__hyp_stub_vectors)
2525
ventry el2_sync_invalid // Synchronous EL2t
2626
ventry el2_irq_invalid // IRQ EL2t
2727
ventry el2_fiq_invalid // FIQ EL2t
@@ -41,11 +41,11 @@ ENTRY(__hyp_stub_vectors)
4141
ventry el1_irq_invalid // IRQ 32-bit EL1
4242
ventry el1_fiq_invalid // FIQ 32-bit EL1
4343
ventry el1_error_invalid // Error 32-bit EL1
44-
ENDPROC(__hyp_stub_vectors)
44+
SYM_CODE_END(__hyp_stub_vectors)
4545

4646
.align 11
4747

48-
el1_sync:
48+
SYM_CODE_START_LOCAL(el1_sync)
4949
cmp x0, #HVC_SET_VECTORS
5050
b.ne 2f
5151
msr vbar_el2, x1
@@ -68,12 +68,12 @@ el1_sync:
6868

6969
9: mov x0, xzr
7070
eret
71-
ENDPROC(el1_sync)
71+
SYM_CODE_END(el1_sync)
7272

7373
.macro invalid_vector label
74-
\label:
74+
SYM_CODE_START_LOCAL(\label)
7575
b \label
76-
ENDPROC(\label)
76+
SYM_CODE_END(\label)
7777
.endm
7878

7979
invalid_vector el2_sync_invalid
@@ -106,15 +106,15 @@ ENDPROC(\label)
106106
* initialisation entry point.
107107
*/
108108

109-
ENTRY(__hyp_set_vectors)
109+
SYM_FUNC_START(__hyp_set_vectors)
110110
mov x1, x0
111111
mov x0, #HVC_SET_VECTORS
112112
hvc #0
113113
ret
114-
ENDPROC(__hyp_set_vectors)
114+
SYM_FUNC_END(__hyp_set_vectors)
115115

116-
ENTRY(__hyp_reset_vectors)
116+
SYM_FUNC_START(__hyp_reset_vectors)
117117
mov x0, #HVC_RESET_VECTORS
118118
hvc #0
119119
ret
120-
ENDPROC(__hyp_reset_vectors)
120+
SYM_FUNC_END(__hyp_reset_vectors)

arch/arm64/kernel/probes/kprobes_trampoline.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
ldp x28, x29, [sp, #S_X28]
6262
.endm
6363

64-
ENTRY(kretprobe_trampoline)
64+
SYM_CODE_START(kretprobe_trampoline)
6565
sub sp, sp, #S_FRAME_SIZE
6666

6767
save_all_base_regs
@@ -79,4 +79,4 @@ ENTRY(kretprobe_trampoline)
7979
add sp, sp, #S_FRAME_SIZE
8080
ret
8181

82-
ENDPROC(kretprobe_trampoline)
82+
SYM_CODE_END(kretprobe_trampoline)

arch/arm64/kernel/reloc_test_syms.S

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,81 +5,81 @@
55

66
#include <linux/linkage.h>
77

8-
ENTRY(absolute_data64)
8+
SYM_FUNC_START(absolute_data64)
99
ldr x0, 0f
1010
ret
1111
0: .quad sym64_abs
12-
ENDPROC(absolute_data64)
12+
SYM_FUNC_END(absolute_data64)
1313

14-
ENTRY(absolute_data32)
14+
SYM_FUNC_START(absolute_data32)
1515
ldr w0, 0f
1616
ret
1717
0: .long sym32_abs
18-
ENDPROC(absolute_data32)
18+
SYM_FUNC_END(absolute_data32)
1919

20-
ENTRY(absolute_data16)
20+
SYM_FUNC_START(absolute_data16)
2121
adr x0, 0f
2222
ldrh w0, [x0]
2323
ret
2424
0: .short sym16_abs, 0
25-
ENDPROC(absolute_data16)
25+
SYM_FUNC_END(absolute_data16)
2626

27-
ENTRY(signed_movw)
27+
SYM_FUNC_START(signed_movw)
2828
movz x0, #:abs_g2_s:sym64_abs
2929
movk x0, #:abs_g1_nc:sym64_abs
3030
movk x0, #:abs_g0_nc:sym64_abs
3131
ret
32-
ENDPROC(signed_movw)
32+
SYM_FUNC_END(signed_movw)
3333

34-
ENTRY(unsigned_movw)
34+
SYM_FUNC_START(unsigned_movw)
3535
movz x0, #:abs_g3:sym64_abs
3636
movk x0, #:abs_g2_nc:sym64_abs
3737
movk x0, #:abs_g1_nc:sym64_abs
3838
movk x0, #:abs_g0_nc:sym64_abs
3939
ret
40-
ENDPROC(unsigned_movw)
40+
SYM_FUNC_END(unsigned_movw)
4141

4242
.align 12
4343
.space 0xff8
44-
ENTRY(relative_adrp)
44+
SYM_FUNC_START(relative_adrp)
4545
adrp x0, sym64_rel
4646
add x0, x0, #:lo12:sym64_rel
4747
ret
48-
ENDPROC(relative_adrp)
48+
SYM_FUNC_END(relative_adrp)
4949

5050
.align 12
5151
.space 0xffc
52-
ENTRY(relative_adrp_far)
52+
SYM_FUNC_START(relative_adrp_far)
5353
adrp x0, memstart_addr
5454
add x0, x0, #:lo12:memstart_addr
5555
ret
56-
ENDPROC(relative_adrp_far)
56+
SYM_FUNC_END(relative_adrp_far)
5757

58-
ENTRY(relative_adr)
58+
SYM_FUNC_START(relative_adr)
5959
adr x0, sym64_rel
6060
ret
61-
ENDPROC(relative_adr)
61+
SYM_FUNC_END(relative_adr)
6262

63-
ENTRY(relative_data64)
63+
SYM_FUNC_START(relative_data64)
6464
adr x1, 0f
6565
ldr x0, [x1]
6666
add x0, x0, x1
6767
ret
6868
0: .quad sym64_rel - .
69-
ENDPROC(relative_data64)
69+
SYM_FUNC_END(relative_data64)
7070

71-
ENTRY(relative_data32)
71+
SYM_FUNC_START(relative_data32)
7272
adr x1, 0f
7373
ldr w0, [x1]
7474
add x0, x0, x1
7575
ret
7676
0: .long sym64_rel - .
77-
ENDPROC(relative_data32)
77+
SYM_FUNC_END(relative_data32)
7878

79-
ENTRY(relative_data16)
79+
SYM_FUNC_START(relative_data16)
8080
adr x1, 0f
8181
ldrsh w0, [x1]
8282
add x0, x0, x1
8383
ret
8484
0: .short sym64_rel - ., 0
85-
ENDPROC(relative_data16)
85+
SYM_FUNC_END(relative_data16)

arch/arm64/kernel/relocate_kernel.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
* control_code_page, a special page which has been set up to be preserved
2727
* during the copy operation.
2828
*/
29-
ENTRY(arm64_relocate_new_kernel)
29+
SYM_CODE_START(arm64_relocate_new_kernel)
3030

3131
/* Setup the list loop variables. */
3232
mov x18, x2 /* x18 = dtb address */
@@ -111,7 +111,7 @@ ENTRY(arm64_relocate_new_kernel)
111111
mov x3, xzr
112112
br x17
113113

114-
ENDPROC(arm64_relocate_new_kernel)
114+
SYM_CODE_END(arm64_relocate_new_kernel)
115115

116116
.align 3 /* To keep the 64-bit values below naturally aligned. */
117117

arch/arm64/kernel/sleep.S

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
*
6363
* x0 = struct sleep_stack_data area
6464
*/
65-
ENTRY(__cpu_suspend_enter)
65+
SYM_FUNC_START(__cpu_suspend_enter)
6666
stp x29, lr, [x0, #SLEEP_STACK_DATA_CALLEE_REGS]
6767
stp x19, x20, [x0,#SLEEP_STACK_DATA_CALLEE_REGS+16]
6868
stp x21, x22, [x0,#SLEEP_STACK_DATA_CALLEE_REGS+32]
@@ -95,10 +95,10 @@ ENTRY(__cpu_suspend_enter)
9595
ldp x29, lr, [sp], #16
9696
mov x0, #1
9797
ret
98-
ENDPROC(__cpu_suspend_enter)
98+
SYM_FUNC_END(__cpu_suspend_enter)
9999

100100
.pushsection ".idmap.text", "awx"
101-
ENTRY(cpu_resume)
101+
SYM_CODE_START(cpu_resume)
102102
bl el2_setup // if in EL2 drop to EL1 cleanly
103103
mov x0, #ARM64_CPU_RUNTIME
104104
bl __cpu_setup
@@ -107,11 +107,11 @@ ENTRY(cpu_resume)
107107
bl __enable_mmu
108108
ldr x8, =_cpu_resume
109109
br x8
110-
ENDPROC(cpu_resume)
110+
SYM_CODE_END(cpu_resume)
111111
.ltorg
112112
.popsection
113113

114-
ENTRY(_cpu_resume)
114+
SYM_FUNC_START(_cpu_resume)
115115
mrs x1, mpidr_el1
116116
adr_l x8, mpidr_hash // x8 = struct mpidr_hash virt address
117117

@@ -147,4 +147,4 @@ ENTRY(_cpu_resume)
147147
ldp x29, lr, [x29]
148148
mov x0, #0
149149
ret
150-
ENDPROC(_cpu_resume)
150+
SYM_FUNC_END(_cpu_resume)

arch/arm64/kernel/smccc-call.S

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
* unsigned long a6, unsigned long a7, struct arm_smccc_res *res,
3131
* struct arm_smccc_quirk *quirk)
3232
*/
33-
ENTRY(__arm_smccc_smc)
33+
SYM_FUNC_START(__arm_smccc_smc)
3434
SMCCC smc
35-
ENDPROC(__arm_smccc_smc)
35+
SYM_FUNC_END(__arm_smccc_smc)
3636
EXPORT_SYMBOL(__arm_smccc_smc)
3737

3838
/*
@@ -41,7 +41,7 @@ EXPORT_SYMBOL(__arm_smccc_smc)
4141
* unsigned long a6, unsigned long a7, struct arm_smccc_res *res,
4242
* struct arm_smccc_quirk *quirk)
4343
*/
44-
ENTRY(__arm_smccc_hvc)
44+
SYM_FUNC_START(__arm_smccc_hvc)
4545
SMCCC hvc
46-
ENDPROC(__arm_smccc_hvc)
46+
SYM_FUNC_END(__arm_smccc_hvc)
4747
EXPORT_SYMBOL(__arm_smccc_hvc)

0 commit comments

Comments
 (0)