@@ -177,7 +177,7 @@ _LPP_OFFSET = __LC_LPP
177177 * Returns:
178178 * gpr2 = prev
179179 */
180- ENTRY (__switch_to)
180+ SYM_FUNC_START (__switch_to)
181181 stmg %r6,%r15 ,__SF_GPRS(%r15 ) # store gprs of prev task
182182 lghi %r4,__TASK_stack
183183 lghi %r1,__TASK_thread
@@ -193,7 +193,7 @@ ENTRY(__switch_to)
193193 lmg %r6,%r15 ,__SF_GPRS(%r15 ) # load gprs of next task
194194 ALTERNATIVE "nop" , "lpp _LPP_OFFSET" , 40
195195 BR_EX %r14
196- ENDPROC (__switch_to)
196+ SYM_FUNC_END (__switch_to)
197197
198198#if IS_ENABLED(CONFIG_KVM)
199199/*
@@ -202,7 +202,7 @@ ENDPROC(__switch_to)
202202 * %r3 pointer to sie control block virt
203203 * %r4 guest register save area
204204 */
205- ENTRY (__sie64a)
205+ SYM_FUNC_START (__sie64a)
206206 stmg %r6,%r14 ,__SF_GPRS(%r15 ) # save kernel registers
207207 lg %r12 ,__LC_CURRENT
208208 stg %r2,__SF_SIE_CONTROL_PHYS(%r15 ) # save sie block physical..
@@ -248,8 +248,7 @@ ENTRY(__sie64a)
248248 nopr 7
249249.Lrewind_pad2:
250250 nopr 7
251- .globl sie_exit
252- sie_exit:
251+ SYM_INNER_LABEL(sie_exit, SYM_L_GLOBAL)
253252 lg %r14 ,__SF_SIE_SAVEAREA(%r15 ) # load guest register save area
254253 stmg %r0,%r13 ,0 (%r14 ) # save guest gprs 0-13
255254 xgr %r0,%r0 # clear guest registers to
@@ -269,7 +268,7 @@ sie_exit:
269268 EX_TABLE(.Lrewind_pad4,.Lsie_fault)
270269 EX_TABLE(.Lrewind_pad2,.Lsie_fault)
271270 EX_TABLE(sie_exit,.Lsie_fault)
272- ENDPROC (__sie64a)
271+ SYM_FUNC_END (__sie64a)
273272EXPORT_SYMBOL(__sie64a)
274273EXPORT_SYMBOL(sie_exit)
275274#endif
@@ -279,7 +278,7 @@ EXPORT_SYMBOL(sie_exit)
279278 * are entered with interrupts disabled.
280279 */
281280
282- ENTRY (system_call)
281+ SYM_CODE_START (system_call)
283282 stpt __LC_SYS_ENTER_TIMER
284283 stmg %r8 ,%r15 ,__LC_SAVE_AREA_SYNC
285284 BPOFF
@@ -314,12 +313,12 @@ ENTRY(system_call)
314313 lmg %r0,%r15 ,STACK_FRAME_OVERHEAD+__PT_R0(%r15 )
315314 stpt __LC_EXIT_TIMER
316315 LPSWEY __LC_RETURN_PSW,__LC_RETURN_LPSWE
317- ENDPROC (system_call)
316+ SYM_CODE_END (system_call)
318317
319318#
320319# a new process exits the kernel with ret_from_fork
321320#
322- ENTRY (ret_from_fork)
321+ SYM_CODE_START (ret_from_fork)
323322 lgr %r3,%r11
324323 brasl %r14 ,__ret_from_fork
325324 STACKLEAK_ERASE
@@ -330,13 +329,13 @@ ENTRY(ret_from_fork)
330329 lmg %r0,%r15 ,STACK_FRAME_OVERHEAD+__PT_R0(%r15 )
331330 stpt __LC_EXIT_TIMER
332331 LPSWEY __LC_RETURN_PSW,__LC_RETURN_LPSWE
333- ENDPROC (ret_from_fork)
332+ SYM_CODE_END (ret_from_fork)
334333
335334/*
336335 * Program check handler routine
337336 */
338337
339- ENTRY (pgm_check_handler)
338+ SYM_CODE_START (pgm_check_handler)
340339 stpt __LC_SYS_ENTER_TIMER
341340 BPOFF
342341 stmg %r8 ,%r15 ,__LC_SAVE_AREA_SYNC
@@ -403,13 +402,13 @@ ENTRY(pgm_check_handler)
403402 lghi %r14 ,1
404403 LBEAR __LC_PGM_LAST_BREAK
405404 LPSWEY __LC_RETURN_PSW,__LC_RETURN_LPSWE # branch to .Lsysc_per
406- ENDPROC (pgm_check_handler)
405+ SYM_CODE_END (pgm_check_handler)
407406
408407/*
409408 * Interrupt handler macro used for external and IO interrupts.
410409 */
411410.macro INT_HANDLER name,lc_old_psw,handler
412- ENTRY (\name)
411+ SYM_CODE_START (\name)
413412 stckf __LC_INT_CLOCK
414413 stpt __LC_SYS_ENTER_TIMER
415414 STBEAR __LC_LAST_BREAK
@@ -456,7 +455,7 @@ ENTRY(\name)
4564552: LBEAR __PT_LAST_BREAK(%r11 )
457456 lmg %r0,%r15 ,__PT_R0(%r11 )
458457 LPSWEY __LC_RETURN_PSW,__LC_RETURN_LPSWE
459- ENDPROC (\name)
458+ SYM_CODE_END (\name)
460459.endm
461460
462461INT_HANDLER ext_int_handler,__LC_EXT_OLD_PSW,do_ext_irq
@@ -465,7 +464,7 @@ INT_HANDLER io_int_handler,__LC_IO_OLD_PSW,do_io_irq
465464/*
466465 * Load idle PSW.
467466 */
468- ENTRY (psw_idle)
467+ SYM_FUNC_START (psw_idle)
469468 stg %r14 ,(__SF_GPRS+8*8 )(%r15 )
470469 stg %r3,__SF_EMPTY(%r15 )
471470 larl %r1,psw_idle_exit
@@ -481,15 +480,14 @@ ENTRY(psw_idle)
481480 stckf __CLOCK_IDLE_ENTER(%r2)
482481 stpt __TIMER_IDLE_ENTER(%r2)
483482 lpswe __SF_EMPTY(%r15 )
484- .globl psw_idle_exit
485- psw_idle_exit:
483+ SYM_INNER_LABEL(psw_idle_exit, SYM_L_GLOBAL)
486484 BR_EX %r14
487- ENDPROC (psw_idle)
485+ SYM_FUNC_END (psw_idle)
488486
489487/*
490488 * Machine check handler routines
491489 */
492- ENTRY (mcck_int_handler)
490+ SYM_CODE_START (mcck_int_handler)
493491 stckf __LC_MCCK_CLOCK
494492 BPOFF
495493 la %r1,4095 # validate r1
@@ -573,10 +571,10 @@ ENTRY(mcck_int_handler)
573571 */
574572 lhi %r5,0
575573 lhi %r6,1
576- larl %r7,.Lstop_lock
574+ larl %r7,stop_lock
577575 cs %r5,%r6,0 (%r7) # single CPU-stopper only
578576 jnz 4f
579- larl %r7,.Lthis_cpu
577+ larl %r7,this_cpu
580578 stap 0 (%r7) # this CPU address
581579 lh %r4,0 (%r7)
582580 nilh %r4,0
@@ -592,15 +590,15 @@ ENTRY(mcck_int_handler)
5925903: sigp %r1,%r4,SIGP_STOP # stop this CPU
593591 brc SIGP_CC_BUSY,3b
5945924: j 4b
595- ENDPROC (mcck_int_handler)
593+ SYM_CODE_END (mcck_int_handler)
596594
597- ENTRY (restart_int_handler)
595+ SYM_CODE_START (restart_int_handler)
598596 ALTERNATIVE "nop" , "lpp _LPP_OFFSET" , 40
599597 stg %r15 ,__LC_SAVE_AREA_RESTART
600598 TSTMSK __LC_RESTART_FLAGS,RESTART_FLAG_CTLREGS,4
601599 jz 0f
602600 lctlg %c0,%c15,__LC_CREGS_SAVE_AREA
603- 0: larl %r15 ,.Lstosm_tmp
601+ 0: larl %r15 ,stosm_tmp
604602 stosm 0 (%r15 ),0x04 # turn dat on, keep irqs off
605603 lg %r15 ,__LC_RESTART_STACK
606604 xc STACK_FRAME_OVERHEAD(__PT_SIZE,%r15 ),STACK_FRAME_OVERHEAD(%r15 )
@@ -621,7 +619,7 @@ ENTRY(restart_int_handler)
6216192: sigp %r4,%r3,SIGP_STOP # sigp stop to current cpu
622620 brc 2 ,2b
6236213: j 3b
624- ENDPROC (restart_int_handler)
622+ SYM_CODE_END (restart_int_handler)
625623
626624 .section .kprobes.text, "ax"
627625
@@ -631,7 +629,7 @@ ENDPROC(restart_int_handler)
631629 * No need to properly save the registers, we are going to panic anyway.
632630 * Setup a pt_regs so that show_trace can provide a good call trace.
633631 */
634- ENTRY (stack_overflow)
632+ SYM_CODE_START (stack_overflow)
635633 lg %r15 ,__LC_NODAT_STACK # change to panic stack
636634 la %r11 ,STACK_FRAME_OVERHEAD(%r15 )
637635 stmg %r0,%r7,__PT_R0(%r11 )
@@ -641,26 +639,27 @@ ENTRY(stack_overflow)
641639 xc __SF_BACKCHAIN(8 ,%r15 ),__SF_BACKCHAIN(%r15 )
642640 lgr %r2,%r11 # pass pointer to pt_regs
643641 jg kernel_stack_overflow
644- ENDPROC (stack_overflow)
642+ SYM_CODE_END (stack_overflow)
645643#endif
646644
647645 .section .data , "aw"
648- .align 4
649- .Lstop_lock: .long 0
650- .Lthis_cpu: .short 0
651- .Lstosm_tmp: .byte 0
646+ .balign 4
647+ SYM_DATA_LOCAL (stop_lock, .long 0 )
648+ SYM_DATA_LOCAL (this_cpu, .short 0 )
649+ SYM_DATA_LOCAL (stosm_tmp, .byte 0 )
650+
652651 .section .rodata, "a"
653652#define SYSCALL (esame,emu) .quad __s390x_ ## esame
654- .globl sys_call_table
655- sys_call_table:
653+ SYM_DATA_START(sys_call_table)
656654#include "asm/syscall_table.h"
655+ SYM_DATA_END(sys_call_table)
657656#undef SYSCALL
658657
659658#ifdef CONFIG_COMPAT
660659
661660#define SYSCALL (esame,emu) .quad __s390_ ## emu
662- .globl sys_call_table_emu
663- sys_call_table_emu:
661+ SYM_DATA_START(sys_call_table_emu)
664662#include "asm/syscall_table.h"
663+ SYM_DATA_END(sys_call_table_emu)
665664#undef SYSCALL
666665#endif
0 commit comments