s390: add missing ENDPROC statements to assembler functions
The assembler code in arch/s390 misses proper ENDPROC statements to properly end functions in a few places. Add them. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
@@ -224,6 +224,7 @@ ENTRY(__bpon)
|
||||
.globl __bpon
|
||||
BPON
|
||||
BR_EX %r14
|
||||
ENDPROC(__bpon)
|
||||
|
||||
/*
|
||||
* Scheduler resume function, called by switch_to
|
||||
@@ -248,6 +249,7 @@ ENTRY(__switch_to)
|
||||
lmg %r6,%r15,__SF_GPRS(%r15) # load gprs of next task
|
||||
ALTERNATIVE "", ".insn s,0xb2800000,_LPP_OFFSET", 40
|
||||
BR_EX %r14
|
||||
ENDPROC(__switch_to)
|
||||
|
||||
.L__critical_start:
|
||||
|
||||
@@ -324,6 +326,7 @@ sie_exit:
|
||||
EX_TABLE(.Lrewind_pad4,.Lsie_fault)
|
||||
EX_TABLE(.Lrewind_pad2,.Lsie_fault)
|
||||
EX_TABLE(sie_exit,.Lsie_fault)
|
||||
ENDPROC(sie64a)
|
||||
EXPORT_SYMBOL(sie64a)
|
||||
EXPORT_SYMBOL(sie_exit)
|
||||
#endif
|
||||
@@ -570,6 +573,7 @@ ENTRY(system_call)
|
||||
lgr %r2,%r11 # pass pointer to pt_regs
|
||||
larl %r14,.Lsysc_return
|
||||
jg do_syscall_trace_exit
|
||||
ENDPROC(system_call)
|
||||
|
||||
#
|
||||
# a new process exits the kernel with ret_from_fork
|
||||
@@ -584,10 +588,16 @@ ENTRY(ret_from_fork)
|
||||
jne .Lsysc_tracenogo
|
||||
# it's a kernel thread
|
||||
lmg %r9,%r10,__PT_R9(%r11) # load gprs
|
||||
la %r2,0(%r10)
|
||||
BASR_EX %r14,%r9
|
||||
j .Lsysc_tracenogo
|
||||
ENDPROC(ret_from_fork)
|
||||
|
||||
ENTRY(kernel_thread_starter)
|
||||
la %r2,0(%r10)
|
||||
BASR_EX %r14,%r9
|
||||
j .Lsysc_tracenogo
|
||||
ENDPROC(kernel_thread_starter)
|
||||
|
||||
/*
|
||||
* Program check handler routine
|
||||
@@ -698,6 +708,7 @@ ENTRY(pgm_check_handler)
|
||||
stg %r14,__LC_RETURN_PSW+8
|
||||
lghi %r14,_PIF_SYSCALL | _PIF_PER_TRAP
|
||||
lpswe __LC_RETURN_PSW # branch to .Lsysc_per and enable irqs
|
||||
ENDPROC(pgm_check_handler)
|
||||
|
||||
/*
|
||||
* IO interrupt handler routine
|
||||
@@ -926,6 +937,7 @@ ENTRY(io_int_handler)
|
||||
ssm __LC_PGM_NEW_PSW # disable I/O and ext. interrupts
|
||||
TRACE_IRQS_OFF
|
||||
j .Lio_return
|
||||
ENDPROC(io_int_handler)
|
||||
|
||||
/*
|
||||
* External interrupt handler routine
|
||||
@@ -965,6 +977,7 @@ ENTRY(ext_int_handler)
|
||||
lghi %r3,EXT_INTERRUPT
|
||||
brasl %r14,do_IRQ
|
||||
j .Lio_return
|
||||
ENDPROC(ext_int_handler)
|
||||
|
||||
/*
|
||||
* Load idle PSW. The second "half" of this function is in .Lcleanup_idle.
|
||||
@@ -989,6 +1002,7 @@ ENTRY(psw_idle)
|
||||
lpswe __SF_EMPTY(%r15)
|
||||
BR_EX %r14
|
||||
.Lpsw_idle_end:
|
||||
ENDPROC(psw_idle)
|
||||
|
||||
/*
|
||||
* Store floating-point controls and floating-point or vector register
|
||||
@@ -1031,6 +1045,7 @@ ENTRY(save_fpu_regs)
|
||||
.Lsave_fpu_regs_exit:
|
||||
BR_EX %r14
|
||||
.Lsave_fpu_regs_end:
|
||||
ENDPROC(save_fpu_regs)
|
||||
EXPORT_SYMBOL(save_fpu_regs)
|
||||
|
||||
/*
|
||||
@@ -1077,6 +1092,7 @@ load_fpu_regs:
|
||||
.Lload_fpu_regs_exit:
|
||||
BR_EX %r14
|
||||
.Lload_fpu_regs_end:
|
||||
ENDPROC(load_fpu_regs)
|
||||
|
||||
.L__critical_end:
|
||||
|
||||
@@ -1206,6 +1222,7 @@ ENTRY(mcck_int_handler)
|
||||
lg %r15,__LC_NODAT_STACK
|
||||
la %r11,STACK_FRAME_OVERHEAD(%r15)
|
||||
j .Lmcck_skip
|
||||
ENDPROC(mcck_int_handler)
|
||||
|
||||
#
|
||||
# PSW restart interrupt handler
|
||||
@@ -1232,6 +1249,7 @@ ENTRY(restart_int_handler)
|
||||
2: sigp %r4,%r3,SIGP_STOP # sigp stop to current cpu
|
||||
brc 2,2b
|
||||
3: j 3b
|
||||
ENDPROC(restart_int_handler)
|
||||
|
||||
.section .kprobes.text, "ax"
|
||||
|
||||
@@ -1241,7 +1259,7 @@ ENTRY(restart_int_handler)
|
||||
* No need to properly save the registers, we are going to panic anyway.
|
||||
* Setup a pt_regs so that show_trace can provide a good call trace.
|
||||
*/
|
||||
stack_overflow:
|
||||
ENTRY(stack_overflow)
|
||||
lg %r15,__LC_NODAT_STACK # change to panic stack
|
||||
la %r11,STACK_FRAME_OVERHEAD(%r15)
|
||||
stmg %r0,%r7,__PT_R0(%r11)
|
||||
@@ -1251,9 +1269,10 @@ stack_overflow:
|
||||
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
|
||||
lgr %r2,%r11 # pass pointer to pt_regs
|
||||
jg kernel_stack_overflow
|
||||
ENDPROC(stack_overflow)
|
||||
#endif
|
||||
|
||||
cleanup_critical:
|
||||
ENTRY(cleanup_critical)
|
||||
#if IS_ENABLED(CONFIG_KVM)
|
||||
clg %r9,BASED(.Lcleanup_table_sie) # .Lsie_gmap
|
||||
jl 0f
|
||||
@@ -1289,6 +1308,7 @@ cleanup_critical:
|
||||
clg %r9,BASED(.Lcleanup_table+104) # .Lload_fpu_regs_end
|
||||
jl .Lcleanup_load_fpu_regs
|
||||
0: BR_EX %r14,%r11
|
||||
ENDPROC(cleanup_critical)
|
||||
|
||||
.align 8
|
||||
.Lcleanup_table:
|
||||
|
Reference in New Issue
Block a user