diff options
author | Mike Frysinger <michael.frysinger@analog.com> | 2007-06-11 03:31:30 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-06-11 03:31:30 -0400 |
commit | 51be24c351bc9ee4937121100adb098eeb1effdd (patch) | |
tree | b766c400cab7c51bfc7672cfbc3402bc83be5fb3 | |
parent | 52a078120c33b06a9abb721357adaafc3b55b7c1 (diff) |
Blackfin arch: add proper ENDPROC()
add proper ENDPROC() to close out assembly functions
so size/type is set properly in the final ELF image
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
-rw-r--r-- | arch/blackfin/kernel/entry.S | 5 | ||||
-rw-r--r-- | arch/blackfin/lib/divsi3.S | 3 | ||||
-rw-r--r-- | arch/blackfin/lib/ins.S | 4 | ||||
-rw-r--r-- | arch/blackfin/lib/memchr.S | 2 | ||||
-rw-r--r-- | arch/blackfin/lib/memcmp.S | 2 | ||||
-rw-r--r-- | arch/blackfin/lib/memcpy.S | 2 | ||||
-rw-r--r-- | arch/blackfin/lib/memmove.S | 2 | ||||
-rw-r--r-- | arch/blackfin/lib/memset.S | 2 | ||||
-rw-r--r-- | arch/blackfin/lib/modsi3.S | 2 | ||||
-rw-r--r-- | arch/blackfin/lib/outs.S | 3 | ||||
-rw-r--r-- | arch/blackfin/lib/smulsi3_highpart.S | 2 | ||||
-rw-r--r-- | arch/blackfin/lib/udivsi3.S | 2 | ||||
-rw-r--r-- | arch/blackfin/lib/umodsi3.S | 4 | ||||
-rw-r--r-- | arch/blackfin/lib/umulsi3_highpart.S | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-common/cache.S | 10 | ||||
-rw-r--r-- | arch/blackfin/mach-common/cacheinit.S | 4 | ||||
-rw-r--r-- | arch/blackfin/mach-common/cplbhdlr.S | 4 | ||||
-rw-r--r-- | arch/blackfin/mach-common/cplbmgr.S | 1 | ||||
-rw-r--r-- | arch/blackfin/mach-common/entry.S | 18 | ||||
-rw-r--r-- | arch/blackfin/mach-common/interrupt.S | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-common/lock.S | 4 |
21 files changed, 72 insertions, 8 deletions
diff --git a/arch/blackfin/kernel/entry.S b/arch/blackfin/kernel/entry.S index 5880b270bd50..65c5ba4260b0 100644 --- a/arch/blackfin/kernel/entry.S +++ b/arch/blackfin/kernel/entry.S | |||
@@ -58,10 +58,12 @@ ENTRY(_ret_from_fork) | |||
58 | RESTORE_ALL_SYS | 58 | RESTORE_ALL_SYS |
59 | p0 = reti; | 59 | p0 = reti; |
60 | jump (p0); | 60 | jump (p0); |
61 | ENDPROC(_ret_from_fork) | ||
61 | 62 | ||
62 | ENTRY(_sys_fork) | 63 | ENTRY(_sys_fork) |
63 | r0 = -EINVAL; | 64 | r0 = -EINVAL; |
64 | rts; | 65 | rts; |
66 | ENDPROC(_sys_fork) | ||
65 | 67 | ||
66 | ENTRY(_sys_vfork) | 68 | ENTRY(_sys_vfork) |
67 | r0 = sp; | 69 | r0 = sp; |
@@ -72,6 +74,7 @@ ENTRY(_sys_vfork) | |||
72 | SP += 12; | 74 | SP += 12; |
73 | rets = [sp++]; | 75 | rets = [sp++]; |
74 | rts; | 76 | rts; |
77 | ENDPROC(_sys_vfork) | ||
75 | 78 | ||
76 | ENTRY(_sys_clone) | 79 | ENTRY(_sys_clone) |
77 | r0 = sp; | 80 | r0 = sp; |
@@ -82,6 +85,7 @@ ENTRY(_sys_clone) | |||
82 | SP += 12; | 85 | SP += 12; |
83 | rets = [sp++]; | 86 | rets = [sp++]; |
84 | rts; | 87 | rts; |
88 | ENDPROC(_sys_clone) | ||
85 | 89 | ||
86 | ENTRY(_sys_rt_sigreturn) | 90 | ENTRY(_sys_rt_sigreturn) |
87 | r0 = sp; | 91 | r0 = sp; |
@@ -92,3 +96,4 @@ ENTRY(_sys_rt_sigreturn) | |||
92 | SP += 12; | 96 | SP += 12; |
93 | rets = [sp++]; | 97 | rets = [sp++]; |
94 | rts; | 98 | rts; |
99 | ENDPROC(_sys_rt_sigreturn) | ||
diff --git a/arch/blackfin/lib/divsi3.S b/arch/blackfin/lib/divsi3.S index 3e29861852b2..2ac59c70dd94 100644 --- a/arch/blackfin/lib/divsi3.S +++ b/arch/blackfin/lib/divsi3.S | |||
@@ -44,6 +44,7 @@ | |||
44 | */ | 44 | */ |
45 | 45 | ||
46 | .global ___divsi3; | 46 | .global ___divsi3; |
47 | .type ___divsi3, STT_FUNC; | ||
47 | 48 | ||
48 | #ifdef CONFIG_ARITHMETIC_OPS_L1 | 49 | #ifdef CONFIG_ARITHMETIC_OPS_L1 |
49 | .section .l1.text | 50 | .section .l1.text |
@@ -214,3 +215,5 @@ ___divsi3 : | |||
214 | .Lret_zero: | 215 | .Lret_zero: |
215 | R0 = 0; | 216 | R0 = 0; |
216 | RTS; | 217 | RTS; |
218 | |||
219 | .size ___divsi3, .-___divsi3 | ||
diff --git a/arch/blackfin/lib/ins.S b/arch/blackfin/lib/ins.S index 7d5e9846311d..a17cc77ac36f 100644 --- a/arch/blackfin/lib/ins.S +++ b/arch/blackfin/lib/ins.S | |||
@@ -46,7 +46,7 @@ ENTRY(_insl) | |||
46 | .Llong_loop_e: NOP; | 46 | .Llong_loop_e: NOP; |
47 | sti R3; | 47 | sti R3; |
48 | RTS; | 48 | RTS; |
49 | 49 | ENDPROC(_insl) | |
50 | 50 | ||
51 | ENTRY(_insw) | 51 | ENTRY(_insw) |
52 | P0 = R0; /* P0 = port */ | 52 | P0 = R0; /* P0 = port */ |
@@ -61,6 +61,7 @@ ENTRY(_insw) | |||
61 | .Lword_loop_e: NOP; | 61 | .Lword_loop_e: NOP; |
62 | sti R3; | 62 | sti R3; |
63 | RTS; | 63 | RTS; |
64 | ENDPROC(_insw) | ||
64 | 65 | ||
65 | ENTRY(_insb) | 66 | ENTRY(_insb) |
66 | P0 = R0; /* P0 = port */ | 67 | P0 = R0; /* P0 = port */ |
@@ -75,3 +76,4 @@ ENTRY(_insb) | |||
75 | .Lbyte_loop_e: NOP; | 76 | .Lbyte_loop_e: NOP; |
76 | sti R3; | 77 | sti R3; |
77 | RTS; | 78 | RTS; |
79 | ENDPROC(_insb) | ||
diff --git a/arch/blackfin/lib/memchr.S b/arch/blackfin/lib/memchr.S index 498122250d07..5da428134d32 100644 --- a/arch/blackfin/lib/memchr.S +++ b/arch/blackfin/lib/memchr.S | |||
@@ -67,4 +67,4 @@ ENTRY(_memchr) | |||
67 | R0 += -1; | 67 | R0 += -1; |
68 | RTS; | 68 | RTS; |
69 | 69 | ||
70 | .size _memchr,.-_memchr | 70 | ENDPROC(_memchr) |
diff --git a/arch/blackfin/lib/memcmp.S b/arch/blackfin/lib/memcmp.S index 5b9502368fc6..a6b8ee6a6bf2 100644 --- a/arch/blackfin/lib/memcmp.S +++ b/arch/blackfin/lib/memcmp.S | |||
@@ -107,4 +107,4 @@ ENTRY(_memcmp) | |||
107 | P3 = I1; | 107 | P3 = I1; |
108 | RTS; | 108 | RTS; |
109 | 109 | ||
110 | .size _memcmp,.-_memcmp | 110 | ENDPROC(_memcmp) |
diff --git a/arch/blackfin/lib/memcpy.S b/arch/blackfin/lib/memcpy.S index c1e00eff541c..34b5a91c215c 100644 --- a/arch/blackfin/lib/memcpy.S +++ b/arch/blackfin/lib/memcpy.S | |||
@@ -140,3 +140,5 @@ ENTRY(_memcpy) | |||
140 | B[P0--] = R1; | 140 | B[P0--] = R1; |
141 | 141 | ||
142 | RTS; | 142 | RTS; |
143 | |||
144 | ENDPROC(_memcpy) | ||
diff --git a/arch/blackfin/lib/memmove.S b/arch/blackfin/lib/memmove.S index 2e5fb7f8df13..c371585e9dbd 100644 --- a/arch/blackfin/lib/memmove.S +++ b/arch/blackfin/lib/memmove.S | |||
@@ -100,4 +100,4 @@ ENTRY(_memmove) | |||
100 | P3 = I1; | 100 | P3 = I1; |
101 | RTS; | 101 | RTS; |
102 | 102 | ||
103 | .size _memmove,.-_memmove | 103 | ENDPROC(_memmove) |
diff --git a/arch/blackfin/lib/memset.S b/arch/blackfin/lib/memset.S index ba6d047568dd..8159136a29ea 100644 --- a/arch/blackfin/lib/memset.S +++ b/arch/blackfin/lib/memset.S | |||
@@ -106,4 +106,4 @@ ENTRY(_memset) | |||
106 | B[P0++] = R1; | 106 | B[P0++] = R1; |
107 | JUMP .Laligned; | 107 | JUMP .Laligned; |
108 | 108 | ||
109 | .size _memset,.-_memset | 109 | ENDPROC(_memset) |
diff --git a/arch/blackfin/lib/modsi3.S b/arch/blackfin/lib/modsi3.S index 528b8b1ccb34..ca1dd3973b39 100644 --- a/arch/blackfin/lib/modsi3.S +++ b/arch/blackfin/lib/modsi3.S | |||
@@ -77,3 +77,5 @@ ___modsi3: | |||
77 | R0 = 0; | 77 | R0 = 0; |
78 | .LRETURN_R0: | 78 | .LRETURN_R0: |
79 | RTS; | 79 | RTS; |
80 | |||
81 | .size ___modsi3, .-___modsi3 | ||
diff --git a/arch/blackfin/lib/outs.S b/arch/blackfin/lib/outs.S index f8c876fe8930..4c3da8ae094e 100644 --- a/arch/blackfin/lib/outs.S +++ b/arch/blackfin/lib/outs.S | |||
@@ -40,6 +40,7 @@ ENTRY(_outsl) | |||
40 | .Llong_loop_s: R0 = [P1++]; | 40 | .Llong_loop_s: R0 = [P1++]; |
41 | .Llong_loop_e: [P0] = R0; | 41 | .Llong_loop_e: [P0] = R0; |
42 | RTS; | 42 | RTS; |
43 | ENDPROC(_outsl) | ||
43 | 44 | ||
44 | ENTRY(_outsw) | 45 | ENTRY(_outsw) |
45 | P0 = R0; /* P0 = port */ | 46 | P0 = R0; /* P0 = port */ |
@@ -50,6 +51,7 @@ ENTRY(_outsw) | |||
50 | .Lword_loop_s: R0 = W[P1++]; | 51 | .Lword_loop_s: R0 = W[P1++]; |
51 | .Lword_loop_e: W[P0] = R0; | 52 | .Lword_loop_e: W[P0] = R0; |
52 | RTS; | 53 | RTS; |
54 | ENDPROC(_outsw) | ||
53 | 55 | ||
54 | ENTRY(_outsb) | 56 | ENTRY(_outsb) |
55 | P0 = R0; /* P0 = port */ | 57 | P0 = R0; /* P0 = port */ |
@@ -60,3 +62,4 @@ ENTRY(_outsb) | |||
60 | .Lbyte_loop_s: R0 = B[P1++]; | 62 | .Lbyte_loop_s: R0 = B[P1++]; |
61 | .Lbyte_loop_e: B[P0] = R0; | 63 | .Lbyte_loop_e: B[P0] = R0; |
62 | RTS; | 64 | RTS; |
65 | ENDPROC(_outsb) | ||
diff --git a/arch/blackfin/lib/smulsi3_highpart.S b/arch/blackfin/lib/smulsi3_highpart.S index 10b8f8da576f..e383cd3eca5d 100644 --- a/arch/blackfin/lib/smulsi3_highpart.S +++ b/arch/blackfin/lib/smulsi3_highpart.S | |||
@@ -28,3 +28,5 @@ ___smulsi3_highpart: | |||
28 | 28 | ||
29 | R0 = R0 + R1; | 29 | R0 = R0 + R1; |
30 | RTS; | 30 | RTS; |
31 | |||
32 | .size ___smulsi3_highpart, .-___smulsi3_highpart | ||
diff --git a/arch/blackfin/lib/udivsi3.S b/arch/blackfin/lib/udivsi3.S index d39a12916259..58fd96d74766 100644 --- a/arch/blackfin/lib/udivsi3.S +++ b/arch/blackfin/lib/udivsi3.S | |||
@@ -296,3 +296,5 @@ ENTRY(___udivsi3) | |||
296 | R1 = R0 - R3; | 296 | R1 = R0 - R3; |
297 | IF CC R0 = R1; | 297 | IF CC R0 = R1; |
298 | RTS; | 298 | RTS; |
299 | |||
300 | ENDPROC(___udivsi3) | ||
diff --git a/arch/blackfin/lib/umodsi3.S b/arch/blackfin/lib/umodsi3.S index b55ce96ab89f..4f2b76ee7626 100644 --- a/arch/blackfin/lib/umodsi3.S +++ b/arch/blackfin/lib/umodsi3.S | |||
@@ -34,7 +34,9 @@ | |||
34 | #endif | 34 | #endif |
35 | 35 | ||
36 | .extern ___udivsi3; | 36 | .extern ___udivsi3; |
37 | .type ___udivsi3, STT_FUNC; | ||
37 | .globl ___umodsi3 | 38 | .globl ___umodsi3 |
39 | .type ___umodsi3, STT_FUNC; | ||
38 | ___umodsi3: | 40 | ___umodsi3: |
39 | 41 | ||
40 | CC=R0==0; | 42 | CC=R0==0; |
@@ -64,3 +66,5 @@ ___umodsi3: | |||
64 | R0 = 0; | 66 | R0 = 0; |
65 | .LRETURN_R0: | 67 | .LRETURN_R0: |
66 | RTS; | 68 | RTS; |
69 | |||
70 | .size ___umodsi3, .-___umodsi3 | ||
diff --git a/arch/blackfin/lib/umulsi3_highpart.S b/arch/blackfin/lib/umulsi3_highpart.S index aac8218fb258..67b799351e3e 100644 --- a/arch/blackfin/lib/umulsi3_highpart.S +++ b/arch/blackfin/lib/umulsi3_highpart.S | |||
@@ -21,3 +21,5 @@ ___umulsi3_highpart: | |||
21 | R1 = PACK(R1.l,R0.h); | 21 | R1 = PACK(R1.l,R0.h); |
22 | R0 = R1 + R2; | 22 | R0 = R1 + R2; |
23 | RTS; | 23 | RTS; |
24 | |||
25 | .size ___umulsi3_highpart, .-___umulsi3_highpart | ||
diff --git a/arch/blackfin/mach-common/cache.S b/arch/blackfin/mach-common/cache.S index bb9446ef66ef..8bd2af1935bd 100644 --- a/arch/blackfin/mach-common/cache.S +++ b/arch/blackfin/mach-common/cache.S | |||
@@ -70,6 +70,7 @@ ENTRY(_cache_invalidate) | |||
70 | .Lno_dcache_b: | 70 | .Lno_dcache_b: |
71 | R7 = [SP++]; | 71 | R7 = [SP++]; |
72 | RTS; | 72 | RTS; |
73 | ENDPROC(_cache_invalidate) | ||
73 | 74 | ||
74 | /* Invalidate the Entire Instruction cache by | 75 | /* Invalidate the Entire Instruction cache by |
75 | * disabling IMC bit | 76 | * disabling IMC bit |
@@ -106,6 +107,8 @@ ENTRY(_invalidate_entire_icache) | |||
106 | 107 | ||
107 | ( R7:5) = [SP++]; | 108 | ( R7:5) = [SP++]; |
108 | RTS; | 109 | RTS; |
110 | ENDPROC(_invalidate_entire_icache) | ||
111 | ENDPROC(_icache_invalidate) | ||
109 | 112 | ||
110 | /* | 113 | /* |
111 | * blackfin_cache_flush_range(start, end) | 114 | * blackfin_cache_flush_range(start, end) |
@@ -129,6 +132,7 @@ ENTRY(_blackfin_icache_flush_range) | |||
129 | IFLUSH [P0]; | 132 | IFLUSH [P0]; |
130 | SSYNC; | 133 | SSYNC; |
131 | RTS; | 134 | RTS; |
135 | ENDPROC(_blackfin_icache_flush_range) | ||
132 | 136 | ||
133 | /* | 137 | /* |
134 | * blackfin_icache_dcache_flush_range(start, end) | 138 | * blackfin_icache_dcache_flush_range(start, end) |
@@ -155,6 +159,7 @@ ENTRY(_blackfin_icache_dcache_flush_range) | |||
155 | FLUSH [P0]; | 159 | FLUSH [P0]; |
156 | SSYNC; | 160 | SSYNC; |
157 | RTS; | 161 | RTS; |
162 | ENDPROC(_blackfin_icache_dcache_flush_range) | ||
158 | 163 | ||
159 | /* Throw away all D-cached data in specified region without any obligation to | 164 | /* Throw away all D-cached data in specified region without any obligation to |
160 | * write them back. However, we must clean the D-cached entries around the | 165 | * write them back. However, we must clean the D-cached entries around the |
@@ -183,6 +188,7 @@ ENTRY(_blackfin_dcache_invalidate_range) | |||
183 | FLUSHINV[P0]; | 188 | FLUSHINV[P0]; |
184 | SSYNC; | 189 | SSYNC; |
185 | RTS; | 190 | RTS; |
191 | ENDPROC(_blackfin_dcache_invalidate_range) | ||
186 | 192 | ||
187 | /* Invalidate the Entire Data cache by | 193 | /* Invalidate the Entire Data cache by |
188 | * clearing DMC[1:0] bits | 194 | * clearing DMC[1:0] bits |
@@ -221,6 +227,8 @@ ENTRY(_dcache_invalidate) | |||
221 | 227 | ||
222 | ( R7:6) = [SP++]; | 228 | ( R7:6) = [SP++]; |
223 | RTS; | 229 | RTS; |
230 | ENDPROC(_dcache_invalidate) | ||
231 | ENDPROC(_invalidate_entire_dcache) | ||
224 | 232 | ||
225 | ENTRY(_blackfin_dcache_flush_range) | 233 | ENTRY(_blackfin_dcache_flush_range) |
226 | R2 = -L1_CACHE_BYTES; | 234 | R2 = -L1_CACHE_BYTES; |
@@ -241,6 +249,7 @@ ENTRY(_blackfin_dcache_flush_range) | |||
241 | FLUSH[P0]; | 249 | FLUSH[P0]; |
242 | SSYNC; | 250 | SSYNC; |
243 | RTS; | 251 | RTS; |
252 | ENDPROC(_blackfin_dcache_flush_range) | ||
244 | 253 | ||
245 | ENTRY(_blackfin_dflush_page) | 254 | ENTRY(_blackfin_dflush_page) |
246 | P1 = 1 << (PAGE_SHIFT - L1_CACHE_SHIFT); | 255 | P1 = 1 << (PAGE_SHIFT - L1_CACHE_SHIFT); |
@@ -251,3 +260,4 @@ ENTRY(_blackfin_dflush_page) | |||
251 | .Lfl1: FLUSH [P0++]; | 260 | .Lfl1: FLUSH [P0++]; |
252 | SSYNC; | 261 | SSYNC; |
253 | RTS; | 262 | RTS; |
263 | ENDPROC(_blackfin_dflush_page) | ||
diff --git a/arch/blackfin/mach-common/cacheinit.S b/arch/blackfin/mach-common/cacheinit.S index 8c17f099e5eb..7924a90d9658 100644 --- a/arch/blackfin/mach-common/cacheinit.S +++ b/arch/blackfin/mach-common/cacheinit.S | |||
@@ -86,6 +86,8 @@ ENTRY(_bfin_icache_init) | |||
86 | SSYNC; | 86 | SSYNC; |
87 | STI R2; | 87 | STI R2; |
88 | RTS; | 88 | RTS; |
89 | |||
90 | ENDPROC(_bfin_icache_init) | ||
89 | #endif | 91 | #endif |
90 | 92 | ||
91 | #if defined(CONFIG_BLKFIN_DCACHE) | 93 | #if defined(CONFIG_BLKFIN_DCACHE) |
@@ -134,4 +136,6 @@ ENTRY(_bfin_dcache_init) | |||
134 | SSYNC; | 136 | SSYNC; |
135 | STI R2; | 137 | STI R2; |
136 | RTS; | 138 | RTS; |
139 | |||
140 | ENDPROC(_bfin_dcache_init) | ||
137 | #endif | 141 | #endif |
diff --git a/arch/blackfin/mach-common/cplbhdlr.S b/arch/blackfin/mach-common/cplbhdlr.S index b979067c49ef..2f3c72c23997 100644 --- a/arch/blackfin/mach-common/cplbhdlr.S +++ b/arch/blackfin/mach-common/cplbhdlr.S | |||
@@ -42,8 +42,6 @@ | |||
42 | 42 | ||
43 | .align 2 | 43 | .align 2 |
44 | 44 | ||
45 | .global __cplb_hdr; | ||
46 | .type __cplb_hdr, STT_FUNC; | ||
47 | ENTRY(__cplb_hdr) | 45 | ENTRY(__cplb_hdr) |
48 | R2 = SEQSTAT; | 46 | R2 = SEQSTAT; |
49 | 47 | ||
@@ -128,3 +126,5 @@ ENTRY(__cplb_hdr) | |||
128 | call _panic_cplb_error; | 126 | call _panic_cplb_error; |
129 | SP += 12; | 127 | SP += 12; |
130 | JUMP _handle_bad_cplb; | 128 | JUMP _handle_bad_cplb; |
129 | |||
130 | ENDPROC(__cplb_hdr) | ||
diff --git a/arch/blackfin/mach-common/cplbmgr.S b/arch/blackfin/mach-common/cplbmgr.S index f5efc4bc65e6..e4b47e09cf13 100644 --- a/arch/blackfin/mach-common/cplbmgr.S +++ b/arch/blackfin/mach-common/cplbmgr.S | |||
@@ -592,6 +592,7 @@ ENTRY(_cplb_mgr) | |||
592 | ( R7:4,P5:3 ) = [SP++]; | 592 | ( R7:4,P5:3 ) = [SP++]; |
593 | R0 = CPLB_RELOADED; | 593 | R0 = CPLB_RELOADED; |
594 | RTS; | 594 | RTS; |
595 | ENDPROC(_cplb_mgr) | ||
595 | 596 | ||
596 | .data | 597 | .data |
597 | .align 4; | 598 | .align 4; |
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S index 7d0368772cda..40045b1386ad 100644 --- a/arch/blackfin/mach-common/entry.S +++ b/arch/blackfin/mach-common/entry.S | |||
@@ -103,6 +103,7 @@ ENTRY(_ex_dcplb) | |||
103 | if !cc jump _return_from_exception; | 103 | if !cc jump _return_from_exception; |
104 | /* fall through */ | 104 | /* fall through */ |
105 | #endif | 105 | #endif |
106 | ENDPROC(_ex_dcplb) | ||
106 | 107 | ||
107 | ENTRY(_ex_icplb) | 108 | ENTRY(_ex_icplb) |
108 | (R7:6,P5:4) = [sp++]; | 109 | (R7:6,P5:4) = [sp++]; |
@@ -113,6 +114,7 @@ ENTRY(_ex_icplb) | |||
113 | RESTORE_ALL_SYS | 114 | RESTORE_ALL_SYS |
114 | SP = RETN; | 115 | SP = RETN; |
115 | rtx; | 116 | rtx; |
117 | ENDPROC(_ex_icplb) | ||
116 | 118 | ||
117 | ENTRY(_ex_spinlock) | 119 | ENTRY(_ex_spinlock) |
118 | /* Transform this into a syscall - twiddle the syscall vector. */ | 120 | /* Transform this into a syscall - twiddle the syscall vector. */ |
@@ -123,6 +125,7 @@ ENTRY(_ex_spinlock) | |||
123 | [p5] = r7; | 125 | [p5] = r7; |
124 | csync; | 126 | csync; |
125 | /* Fall through. */ | 127 | /* Fall through. */ |
128 | ENDPROC(_ex_spinlock) | ||
126 | 129 | ||
127 | ENTRY(_ex_syscall) | 130 | ENTRY(_ex_syscall) |
128 | DEBUG_START_HWTRACE | 131 | DEBUG_START_HWTRACE |
@@ -131,6 +134,7 @@ ENTRY(_ex_syscall) | |||
131 | raise 15; /* invoked by TRAP #0, for sys call */ | 134 | raise 15; /* invoked by TRAP #0, for sys call */ |
132 | sp = retn; | 135 | sp = retn; |
133 | rtx | 136 | rtx |
137 | ENDPROC(_ex_syscall) | ||
134 | 138 | ||
135 | ENTRY(_spinlock_bh) | 139 | ENTRY(_spinlock_bh) |
136 | SAVE_ALL_SYS | 140 | SAVE_ALL_SYS |
@@ -150,12 +154,14 @@ ENTRY(_spinlock_bh) | |||
150 | [SP + PT_R0] = R0; | 154 | [SP + PT_R0] = R0; |
151 | RESTORE_ALL_SYS | 155 | RESTORE_ALL_SYS |
152 | rti; | 156 | rti; |
157 | ENDPROC(_spinlock_bh) | ||
153 | 158 | ||
154 | ENTRY(_ex_soft_bp) | 159 | ENTRY(_ex_soft_bp) |
155 | r7 = retx; | 160 | r7 = retx; |
156 | r7 += -2; | 161 | r7 += -2; |
157 | retx = r7; | 162 | retx = r7; |
158 | jump.s _ex_trap_c; | 163 | jump.s _ex_trap_c; |
164 | ENDPROC(_ex_soft_bp) | ||
159 | 165 | ||
160 | ENTRY(_ex_single_step) | 166 | ENTRY(_ex_single_step) |
161 | r7 = retx; | 167 | r7 = retx; |
@@ -191,6 +197,7 @@ _return_from_exception: | |||
191 | ASTAT = [sp++]; | 197 | ASTAT = [sp++]; |
192 | sp = retn; | 198 | sp = retn; |
193 | rtx; | 199 | rtx; |
200 | ENDPROC(_ex_soft_bp) | ||
194 | 201 | ||
195 | ENTRY(_handle_bad_cplb) | 202 | ENTRY(_handle_bad_cplb) |
196 | /* To get here, we just tried and failed to change a CPLB | 203 | /* To get here, we just tried and failed to change a CPLB |
@@ -250,6 +257,7 @@ ENTRY(_ex_trap_c) | |||
250 | SP = RETN; | 257 | SP = RETN; |
251 | raise 5; | 258 | raise 5; |
252 | rtx; | 259 | rtx; |
260 | ENDPROC(_ex_trap_c) | ||
253 | 261 | ||
254 | ENTRY(_exception_to_level5) | 262 | ENTRY(_exception_to_level5) |
255 | SAVE_ALL_SYS | 263 | SAVE_ALL_SYS |
@@ -314,6 +322,7 @@ ENTRY(_exception_to_level5) | |||
314 | call _ret_from_exception; | 322 | call _ret_from_exception; |
315 | RESTORE_ALL_SYS | 323 | RESTORE_ALL_SYS |
316 | rti; | 324 | rti; |
325 | ENDPROC(_exception_to_level5) | ||
317 | 326 | ||
318 | ENTRY(_trap) /* Exception: 4th entry into system event table(supervisor mode)*/ | 327 | ENTRY(_trap) /* Exception: 4th entry into system event table(supervisor mode)*/ |
319 | /* Since the kernel stack can be anywhere, it's not guaranteed to be | 328 | /* Since the kernel stack can be anywhere, it's not guaranteed to be |
@@ -342,6 +351,7 @@ ENTRY(_trap) /* Exception: 4th entry into system event table(supervisor mode)*/ | |||
342 | r7 = -ENOSYS; /* signextending enough */ | 351 | r7 = -ENOSYS; /* signextending enough */ |
343 | [sp + PT_R0] = r7; /* return value from system call */ | 352 | [sp + PT_R0] = r7; /* return value from system call */ |
344 | jump .Lsyscall_really_exit; | 353 | jump .Lsyscall_really_exit; |
354 | ENDPROC(_trap) | ||
345 | 355 | ||
346 | ENTRY(_kernel_execve) | 356 | ENTRY(_kernel_execve) |
347 | link SIZEOF_PTREGS; | 357 | link SIZEOF_PTREGS; |
@@ -396,6 +406,7 @@ ENTRY(_kernel_execve) | |||
396 | 1: | 406 | 1: |
397 | unlink; | 407 | unlink; |
398 | rts; | 408 | rts; |
409 | ENDPROC(_kernel_execve) | ||
399 | 410 | ||
400 | ENTRY(_system_call) | 411 | ENTRY(_system_call) |
401 | /* Store IPEND */ | 412 | /* Store IPEND */ |
@@ -503,6 +514,7 @@ ENTRY(_system_call) | |||
503 | r5 = [sp + PT_RESERVED]; | 514 | r5 = [sp + PT_RESERVED]; |
504 | rets = r5; | 515 | rets = r5; |
505 | rts; | 516 | rts; |
517 | ENDPROC(_system_call) | ||
506 | 518 | ||
507 | _sys_trace: | 519 | _sys_trace: |
508 | call _syscall_trace; | 520 | call _syscall_trace; |
@@ -531,6 +543,7 @@ _sys_trace: | |||
531 | 543 | ||
532 | call _syscall_trace; | 544 | call _syscall_trace; |
533 | jump .Lresume_userspace; | 545 | jump .Lresume_userspace; |
546 | ENDPROC(_sys_trace) | ||
534 | 547 | ||
535 | ENTRY(_resume) | 548 | ENTRY(_resume) |
536 | /* | 549 | /* |
@@ -580,6 +593,7 @@ _new_old_task: | |||
580 | * in "new" task. | 593 | * in "new" task. |
581 | */ | 594 | */ |
582 | rts; | 595 | rts; |
596 | ENDPROC(_resume) | ||
583 | 597 | ||
584 | ENTRY(_ret_from_exception) | 598 | ENTRY(_ret_from_exception) |
585 | p2.l = lo(IPEND); | 599 | p2.l = lo(IPEND); |
@@ -638,6 +652,7 @@ ENTRY(_ret_from_exception) | |||
638 | syscfg = r0; | 652 | syscfg = r0; |
639 | 5: | 653 | 5: |
640 | rts; | 654 | rts; |
655 | ENDPROC(_ret_from_exception) | ||
641 | 656 | ||
642 | ENTRY(_return_from_int) | 657 | ENTRY(_return_from_int) |
643 | /* If someone else already raised IRQ 15, do nothing. */ | 658 | /* If someone else already raised IRQ 15, do nothing. */ |
@@ -680,6 +695,7 @@ ENTRY(_return_from_int) | |||
680 | rti; | 695 | rti; |
681 | 2: | 696 | 2: |
682 | rts; | 697 | rts; |
698 | ENDPROC(_return_from_int) | ||
683 | 699 | ||
684 | ENTRY(_lower_to_irq14) | 700 | ENTRY(_lower_to_irq14) |
685 | #if defined(ANOMALY_05000281) | 701 | #if defined(ANOMALY_05000281) |
@@ -745,6 +761,7 @@ _schedule_and_signal: | |||
745 | 1: | 761 | 1: |
746 | RESTORE_CONTEXT | 762 | RESTORE_CONTEXT |
747 | rti; | 763 | rti; |
764 | ENDPROC(_lower_to_irq14) | ||
748 | 765 | ||
749 | /* Make sure when we start, that the circular buffer is initialized properly | 766 | /* Make sure when we start, that the circular buffer is initialized properly |
750 | * R0 and P0 are call clobbered, so we can use them here. | 767 | * R0 and P0 are call clobbered, so we can use them here. |
@@ -758,6 +775,7 @@ ENTRY(_init_exception_buff) | |||
758 | p0.l = _out_ptr_excause; | 775 | p0.l = _out_ptr_excause; |
759 | [p0] = r0; | 776 | [p0] = r0; |
760 | rts; | 777 | rts; |
778 | ENDPROC(_init_exception_buff) | ||
761 | 779 | ||
762 | /* | 780 | /* |
763 | * Put these in the kernel data section - that should always be covered by | 781 | * Put these in the kernel data section - that should always be covered by |
diff --git a/arch/blackfin/mach-common/interrupt.S b/arch/blackfin/mach-common/interrupt.S index dd45664f0d02..b69f517a650b 100644 --- a/arch/blackfin/mach-common/interrupt.S +++ b/arch/blackfin/mach-common/interrupt.S | |||
@@ -66,6 +66,7 @@ ENTRY(_evt_emulation) | |||
66 | SP += 12; | 66 | SP += 12; |
67 | /* - GDB stub fills this in by itself (if defined) */ | 67 | /* - GDB stub fills this in by itself (if defined) */ |
68 | rte; | 68 | rte; |
69 | ENDPROC(_evt_emulation) | ||
69 | #endif | 70 | #endif |
70 | 71 | ||
71 | /* Common interrupt entry code. First we do CLI, then push | 72 | /* Common interrupt entry code. First we do CLI, then push |
@@ -251,3 +252,4 @@ ENTRY(_evt_system_call) | |||
251 | #endif | 252 | #endif |
252 | call _system_call; | 253 | call _system_call; |
253 | jump .Lcommon_restore_context; | 254 | jump .Lcommon_restore_context; |
255 | ENDPROC(_evt_system_call) | ||
diff --git a/arch/blackfin/mach-common/lock.S b/arch/blackfin/mach-common/lock.S index 2cbb15b33925..386ac8dda076 100644 --- a/arch/blackfin/mach-common/lock.S +++ b/arch/blackfin/mach-common/lock.S | |||
@@ -155,6 +155,7 @@ ENTRY(_cache_grab_lock) | |||
155 | ( R7:0,P5:0 ) = [SP++]; | 155 | ( R7:0,P5:0 ) = [SP++]; |
156 | 156 | ||
157 | RTS; | 157 | RTS; |
158 | ENDPROC(_cache_grab_lock) | ||
158 | 159 | ||
159 | /* After the execution of critical code, the code is now locked into | 160 | /* After the execution of critical code, the code is now locked into |
160 | * the cache way. Now we need to set ILOC. | 161 | * the cache way. Now we need to set ILOC. |
@@ -186,6 +187,7 @@ ENTRY(_cache_lock) | |||
186 | 187 | ||
187 | ( R7:0,P5:0 ) = [SP++]; | 188 | ( R7:0,P5:0 ) = [SP++]; |
188 | RTS; | 189 | RTS; |
190 | ENDPROC(_cache_lock) | ||
189 | 191 | ||
190 | #endif /* BLKFIN_CACHE_LOCK */ | 192 | #endif /* BLKFIN_CACHE_LOCK */ |
191 | 193 | ||
@@ -193,7 +195,6 @@ ENTRY(_cache_lock) | |||
193 | */ | 195 | */ |
194 | 196 | ||
195 | ENTRY(_read_iloc) | 197 | ENTRY(_read_iloc) |
196 | |||
197 | P1.H = (IMEM_CONTROL >> 16); | 198 | P1.H = (IMEM_CONTROL >> 16); |
198 | P1.L = (IMEM_CONTROL & 0xFFFF); | 199 | P1.L = (IMEM_CONTROL & 0xFFFF); |
199 | R1 = 0xF; | 200 | R1 = 0xF; |
@@ -202,3 +203,4 @@ ENTRY(_read_iloc) | |||
202 | R0 = R0 & R1; | 203 | R0 = R0 & R1; |
203 | 204 | ||
204 | RTS; | 205 | RTS; |
206 | ENDPROC(_read_iloc) | ||