diff options
author | Chris Zankel <chris@zankel.net> | 2012-11-16 19:16:20 -0500 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2012-12-19 00:10:20 -0500 |
commit | d1538c4675f37d0eeb34bd38bec798b3b29a5a7e (patch) | |
tree | 4fa2d2c539825ad99f2f677cef686ea0051fbe9f /arch/xtensa/kernel/entry.S | |
parent | c0226e34a4293dee0e7c5787e1ebfc5ee8b44b7c (diff) |
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>
Diffstat (limited to 'arch/xtensa/kernel/entry.S')
-rw-r--r-- | arch/xtensa/kernel/entry.S | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/arch/xtensa/kernel/entry.S b/arch/xtensa/kernel/entry.S index 90bfc1dbc13d..41ad9cfe9a2a 100644 --- a/arch/xtensa/kernel/entry.S +++ b/arch/xtensa/kernel/entry.S | |||
@@ -219,6 +219,7 @@ _user_exception: | |||
219 | 219 | ||
220 | j common_exception | 220 | j common_exception |
221 | 221 | ||
222 | ENDPROC(user_exception) | ||
222 | 223 | ||
223 | /* | 224 | /* |
224 | * First-level exit handler for kernel exceptions | 225 | * First-level exit handler for kernel exceptions |
@@ -641,6 +642,8 @@ common_exception_exit: | |||
641 | l32i a1, a1, PT_AREG1 | 642 | l32i a1, a1, PT_AREG1 |
642 | rfde | 643 | rfde |
643 | 644 | ||
645 | ENDPROC(kernel_exception) | ||
646 | |||
644 | /* | 647 | /* |
645 | * Debug exception handler. | 648 | * Debug exception handler. |
646 | * | 649 | * |
@@ -701,6 +704,7 @@ ENTRY(debug_exception) | |||
701 | /* Debug exception while in exception mode. */ | 704 | /* Debug exception while in exception mode. */ |
702 | 1: j 1b // FIXME!! | 705 | 1: j 1b // FIXME!! |
703 | 706 | ||
707 | ENDPROC(debug_exception) | ||
704 | 708 | ||
705 | /* | 709 | /* |
706 | * We get here in case of an unrecoverable exception. | 710 | * We get here in case of an unrecoverable exception. |
@@ -751,6 +755,7 @@ ENTRY(unrecoverable_exception) | |||
751 | 755 | ||
752 | 1: j 1b | 756 | 1: j 1b |
753 | 757 | ||
758 | ENDPROC(unrecoverable_exception) | ||
754 | 759 | ||
755 | /* -------------------------- FAST EXCEPTION HANDLERS ----------------------- */ | 760 | /* -------------------------- FAST EXCEPTION HANDLERS ----------------------- */ |
756 | 761 | ||
@@ -929,6 +934,7 @@ ENTRY(fast_alloca) | |||
929 | l32i a2, a2, PT_AREG2 | 934 | l32i a2, a2, PT_AREG2 |
930 | rfe | 935 | rfe |
931 | 936 | ||
937 | ENDPROC(fast_alloca) | ||
932 | 938 | ||
933 | /* | 939 | /* |
934 | * fast system calls. | 940 | * fast system calls. |
@@ -966,6 +972,8 @@ ENTRY(fast_syscall_kernel) | |||
966 | 972 | ||
967 | j kernel_exception | 973 | j kernel_exception |
968 | 974 | ||
975 | ENDPROC(fast_syscall_kernel) | ||
976 | |||
969 | ENTRY(fast_syscall_user) | 977 | ENTRY(fast_syscall_user) |
970 | 978 | ||
971 | /* Skip syscall. */ | 979 | /* Skip syscall. */ |
@@ -983,6 +991,8 @@ ENTRY(fast_syscall_user) | |||
983 | 991 | ||
984 | j user_exception | 992 | j user_exception |
985 | 993 | ||
994 | ENDPROC(fast_syscall_user) | ||
995 | |||
986 | ENTRY(fast_syscall_unrecoverable) | 996 | ENTRY(fast_syscall_unrecoverable) |
987 | 997 | ||
988 | /* Restore all states. */ | 998 | /* Restore all states. */ |
@@ -995,7 +1005,7 @@ ENTRY(fast_syscall_unrecoverable) | |||
995 | movi a0, unrecoverable_exception | 1005 | movi a0, unrecoverable_exception |
996 | callx0 a0 | 1006 | callx0 a0 |
997 | 1007 | ||
998 | 1008 | ENDPROC(fast_syscall_unrecoverable) | |
999 | 1009 | ||
1000 | /* | 1010 | /* |
1001 | * sysxtensa syscall handler | 1011 | * sysxtensa syscall handler |
@@ -1101,7 +1111,7 @@ CATCH | |||
1101 | movi a2, -EINVAL | 1111 | movi a2, -EINVAL |
1102 | rfe | 1112 | rfe |
1103 | 1113 | ||
1104 | 1114 | ENDPROC(fast_syscall_xtensa) | |
1105 | 1115 | ||
1106 | 1116 | ||
1107 | /* fast_syscall_spill_registers. | 1117 | /* fast_syscall_spill_registers. |
@@ -1160,6 +1170,8 @@ ENTRY(fast_syscall_spill_registers) | |||
1160 | movi a2, 0 | 1170 | movi a2, 0 |
1161 | rfe | 1171 | rfe |
1162 | 1172 | ||
1173 | ENDPROC(fast_syscall_spill_registers) | ||
1174 | |||
1163 | /* Fixup handler. | 1175 | /* Fixup handler. |
1164 | * | 1176 | * |
1165 | * We get here if the spill routine causes an exception, e.g. tlb miss. | 1177 | * We get here if the spill routine causes an exception, e.g. tlb miss. |
@@ -1464,6 +1476,8 @@ ENTRY(_spill_registers) | |||
1464 | callx0 a0 # should not return | 1476 | callx0 a0 # should not return |
1465 | 1: j 1b | 1477 | 1: j 1b |
1466 | 1478 | ||
1479 | ENDPROC(_spill_registers) | ||
1480 | |||
1467 | #ifdef CONFIG_MMU | 1481 | #ifdef CONFIG_MMU |
1468 | /* | 1482 | /* |
1469 | * We should never get here. Bail out! | 1483 | * We should never get here. Bail out! |
@@ -1475,6 +1489,8 @@ ENTRY(fast_second_level_miss_double_kernel) | |||
1475 | callx0 a0 # should not return | 1489 | callx0 a0 # should not return |
1476 | 1: j 1b | 1490 | 1: j 1b |
1477 | 1491 | ||
1492 | ENDPROC(fast_second_level_miss_double_kernel) | ||
1493 | |||
1478 | /* First-level entry handler for user, kernel, and double 2nd-level | 1494 | /* First-level entry handler for user, kernel, and double 2nd-level |
1479 | * TLB miss exceptions. Note that for now, user and kernel miss | 1495 | * TLB miss exceptions. Note that for now, user and kernel miss |
1480 | * exceptions share the same entry point and are handled identically. | 1496 | * exceptions share the same entry point and are handled identically. |
@@ -1682,6 +1698,7 @@ ENTRY(fast_second_level_miss) | |||
1682 | j _kernel_exception | 1698 | j _kernel_exception |
1683 | 1: j _user_exception | 1699 | 1: j _user_exception |
1684 | 1700 | ||
1701 | ENDPROC(fast_second_level_miss) | ||
1685 | 1702 | ||
1686 | /* | 1703 | /* |
1687 | * StoreProhibitedException | 1704 | * StoreProhibitedException |
@@ -1777,6 +1794,9 @@ ENTRY(fast_store_prohibited) | |||
1777 | bbsi.l a2, PS_UM_BIT, 1f | 1794 | bbsi.l a2, PS_UM_BIT, 1f |
1778 | j _kernel_exception | 1795 | j _kernel_exception |
1779 | 1: j _user_exception | 1796 | 1: j _user_exception |
1797 | |||
1798 | ENDPROC(fast_store_prohibited) | ||
1799 | |||
1780 | #endif /* CONFIG_MMU */ | 1800 | #endif /* CONFIG_MMU */ |
1781 | 1801 | ||
1782 | /* | 1802 | /* |
@@ -1787,6 +1807,7 @@ ENTRY(fast_store_prohibited) | |||
1787 | */ | 1807 | */ |
1788 | 1808 | ||
1789 | ENTRY(system_call) | 1809 | ENTRY(system_call) |
1810 | |||
1790 | entry a1, 32 | 1811 | entry a1, 32 |
1791 | 1812 | ||
1792 | /* regs->syscall = regs->areg[2] */ | 1813 | /* regs->syscall = regs->areg[2] */ |
@@ -1831,6 +1852,8 @@ ENTRY(system_call) | |||
1831 | callx4 a4 | 1852 | callx4 a4 |
1832 | retw | 1853 | retw |
1833 | 1854 | ||
1855 | ENDPROC(system_call) | ||
1856 | |||
1834 | 1857 | ||
1835 | /* | 1858 | /* |
1836 | * Task switch. | 1859 | * Task switch. |
@@ -1899,6 +1922,7 @@ ENTRY(_switch_to) | |||
1899 | 1922 | ||
1900 | retw | 1923 | retw |
1901 | 1924 | ||
1925 | ENDPROC(_switch_to) | ||
1902 | 1926 | ||
1903 | ENTRY(ret_from_fork) | 1927 | ENTRY(ret_from_fork) |
1904 | 1928 | ||
@@ -1914,6 +1938,8 @@ ENTRY(ret_from_fork) | |||
1914 | 1938 | ||
1915 | j common_exception_return | 1939 | j common_exception_return |
1916 | 1940 | ||
1941 | ENDPROC(ret_from_fork) | ||
1942 | |||
1917 | /* | 1943 | /* |
1918 | * Kernel thread creation helper | 1944 | * Kernel thread creation helper |
1919 | * On entry, set up by copy_thread: a2 = thread_fn, a3 = thread_fn arg | 1945 | * On entry, set up by copy_thread: a2 = thread_fn, a3 = thread_fn arg |