xtensa: provide proper assembler function boundaries with ENDPROC()
Use ENDPROC() to mark the end of assembler functions. Signed-off-by: Chris Zankel <chris@zankel.net>
This commit is contained in:
@@ -219,6 +219,7 @@ _user_exception:
|
||||
|
||||
j common_exception
|
||||
|
||||
ENDPROC(user_exception)
|
||||
|
||||
/*
|
||||
* First-level exit handler for kernel exceptions
|
||||
@@ -641,6 +642,8 @@ common_exception_exit:
|
||||
l32i a1, a1, PT_AREG1
|
||||
rfde
|
||||
|
||||
ENDPROC(kernel_exception)
|
||||
|
||||
/*
|
||||
* Debug exception handler.
|
||||
*
|
||||
@@ -701,6 +704,7 @@ ENTRY(debug_exception)
|
||||
/* Debug exception while in exception mode. */
|
||||
1: j 1b // FIXME!!
|
||||
|
||||
ENDPROC(debug_exception)
|
||||
|
||||
/*
|
||||
* We get here in case of an unrecoverable exception.
|
||||
@@ -751,6 +755,7 @@ ENTRY(unrecoverable_exception)
|
||||
|
||||
1: j 1b
|
||||
|
||||
ENDPROC(unrecoverable_exception)
|
||||
|
||||
/* -------------------------- FAST EXCEPTION HANDLERS ----------------------- */
|
||||
|
||||
@@ -929,6 +934,7 @@ ENTRY(fast_alloca)
|
||||
l32i a2, a2, PT_AREG2
|
||||
rfe
|
||||
|
||||
ENDPROC(fast_alloca)
|
||||
|
||||
/*
|
||||
* fast system calls.
|
||||
@@ -966,6 +972,8 @@ ENTRY(fast_syscall_kernel)
|
||||
|
||||
j kernel_exception
|
||||
|
||||
ENDPROC(fast_syscall_kernel)
|
||||
|
||||
ENTRY(fast_syscall_user)
|
||||
|
||||
/* Skip syscall. */
|
||||
@@ -983,6 +991,8 @@ ENTRY(fast_syscall_user)
|
||||
|
||||
j user_exception
|
||||
|
||||
ENDPROC(fast_syscall_user)
|
||||
|
||||
ENTRY(fast_syscall_unrecoverable)
|
||||
|
||||
/* Restore all states. */
|
||||
@@ -995,7 +1005,7 @@ ENTRY(fast_syscall_unrecoverable)
|
||||
movi a0, unrecoverable_exception
|
||||
callx0 a0
|
||||
|
||||
|
||||
ENDPROC(fast_syscall_unrecoverable)
|
||||
|
||||
/*
|
||||
* sysxtensa syscall handler
|
||||
@@ -1101,7 +1111,7 @@ CATCH
|
||||
movi a2, -EINVAL
|
||||
rfe
|
||||
|
||||
|
||||
ENDPROC(fast_syscall_xtensa)
|
||||
|
||||
|
||||
/* fast_syscall_spill_registers.
|
||||
@@ -1160,6 +1170,8 @@ ENTRY(fast_syscall_spill_registers)
|
||||
movi a2, 0
|
||||
rfe
|
||||
|
||||
ENDPROC(fast_syscall_spill_registers)
|
||||
|
||||
/* Fixup handler.
|
||||
*
|
||||
* We get here if the spill routine causes an exception, e.g. tlb miss.
|
||||
@@ -1464,6 +1476,8 @@ ENTRY(_spill_registers)
|
||||
callx0 a0 # should not return
|
||||
1: j 1b
|
||||
|
||||
ENDPROC(_spill_registers)
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
/*
|
||||
* We should never get here. Bail out!
|
||||
@@ -1475,6 +1489,8 @@ ENTRY(fast_second_level_miss_double_kernel)
|
||||
callx0 a0 # should not return
|
||||
1: j 1b
|
||||
|
||||
ENDPROC(fast_second_level_miss_double_kernel)
|
||||
|
||||
/* First-level entry handler for user, kernel, and double 2nd-level
|
||||
* TLB miss exceptions. Note that for now, user and kernel miss
|
||||
* exceptions share the same entry point and are handled identically.
|
||||
@@ -1682,6 +1698,7 @@ ENTRY(fast_second_level_miss)
|
||||
j _kernel_exception
|
||||
1: j _user_exception
|
||||
|
||||
ENDPROC(fast_second_level_miss)
|
||||
|
||||
/*
|
||||
* StoreProhibitedException
|
||||
@@ -1777,6 +1794,9 @@ ENTRY(fast_store_prohibited)
|
||||
bbsi.l a2, PS_UM_BIT, 1f
|
||||
j _kernel_exception
|
||||
1: j _user_exception
|
||||
|
||||
ENDPROC(fast_store_prohibited)
|
||||
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
/*
|
||||
@@ -1787,6 +1807,7 @@ ENTRY(fast_store_prohibited)
|
||||
*/
|
||||
|
||||
ENTRY(system_call)
|
||||
|
||||
entry a1, 32
|
||||
|
||||
/* regs->syscall = regs->areg[2] */
|
||||
@@ -1831,6 +1852,8 @@ ENTRY(system_call)
|
||||
callx4 a4
|
||||
retw
|
||||
|
||||
ENDPROC(system_call)
|
||||
|
||||
|
||||
/*
|
||||
* Task switch.
|
||||
@@ -1899,6 +1922,7 @@ ENTRY(_switch_to)
|
||||
|
||||
retw
|
||||
|
||||
ENDPROC(_switch_to)
|
||||
|
||||
ENTRY(ret_from_fork)
|
||||
|
||||
@@ -1914,6 +1938,8 @@ ENTRY(ret_from_fork)
|
||||
|
||||
j common_exception_return
|
||||
|
||||
ENDPROC(ret_from_fork)
|
||||
|
||||
/*
|
||||
* Kernel thread creation helper
|
||||
* On entry, set up by copy_thread: a2 = thread_fn, a3 = thread_fn arg
|
||||
|
Reference in New Issue
Block a user