aboutsummaryrefslogtreecommitdiffstats
path: root/arch/xtensa/kernel/coprocessor.S
diff options
context:
space:
mode:
authorChris Zankel <chris@zankel.net>2012-11-16 19:16:20 -0500
committerChris Zankel <chris@zankel.net>2012-12-19 00:10:20 -0500
commitd1538c4675f37d0eeb34bd38bec798b3b29a5a7e (patch)
tree4fa2d2c539825ad99f2f677cef686ea0051fbe9f /arch/xtensa/kernel/coprocessor.S
parentc0226e34a4293dee0e7c5787e1ebfc5ee8b44b7c (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/coprocessor.S')
-rw-r--r--arch/xtensa/kernel/coprocessor.S22
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/xtensa/kernel/coprocessor.S b/arch/xtensa/kernel/coprocessor.S
index 54c3be313bfa..60bb13589249 100644
--- a/arch/xtensa/kernel/coprocessor.S
+++ b/arch/xtensa/kernel/coprocessor.S
@@ -43,10 +43,13 @@
43/* IO protection is currently unsupported. */ 43/* IO protection is currently unsupported. */
44 44
45ENTRY(fast_io_protect) 45ENTRY(fast_io_protect)
46
46 wsr a0, excsave1 47 wsr a0, excsave1
47 movi a0, unrecoverable_exception 48 movi a0, unrecoverable_exception
48 callx0 a0 49 callx0 a0
49 50
51ENDPROC(fast_io_protect)
52
50#if XTENSA_HAVE_COPROCESSORS 53#if XTENSA_HAVE_COPROCESSORS
51 54
52/* 55/*
@@ -139,6 +142,7 @@ ENTRY(fast_io_protect)
139 */ 142 */
140 143
141ENTRY(coprocessor_save) 144ENTRY(coprocessor_save)
145
142 entry a1, 32 146 entry a1, 32
143 s32i a0, a1, 0 147 s32i a0, a1, 0
144 movi a0, .Lsave_cp_regs_jump_table 148 movi a0, .Lsave_cp_regs_jump_table
@@ -150,7 +154,10 @@ ENTRY(coprocessor_save)
1501: l32i a0, a1, 0 1541: l32i a0, a1, 0
151 retw 155 retw
152 156
157ENDPROC(coprocessor_save)
158
153ENTRY(coprocessor_load) 159ENTRY(coprocessor_load)
160
154 entry a1, 32 161 entry a1, 32
155 s32i a0, a1, 0 162 s32i a0, a1, 0
156 movi a0, .Lload_cp_regs_jump_table 163 movi a0, .Lload_cp_regs_jump_table
@@ -162,6 +169,8 @@ ENTRY(coprocessor_load)
1621: l32i a0, a1, 0 1691: l32i a0, a1, 0
163 retw 170 retw
164 171
172ENDPROC(coprocessor_load)
173
165/* 174/*
166 * coprocessor_flush(struct task_info*, index) 175 * coprocessor_flush(struct task_info*, index)
167 * a2 a3 176 * a2 a3
@@ -178,6 +187,7 @@ ENTRY(coprocessor_load)
178 187
179 188
180ENTRY(coprocessor_flush) 189ENTRY(coprocessor_flush)
190
181 entry a1, 32 191 entry a1, 32
182 s32i a0, a1, 0 192 s32i a0, a1, 0
183 movi a0, .Lsave_cp_regs_jump_table 193 movi a0, .Lsave_cp_regs_jump_table
@@ -191,6 +201,8 @@ ENTRY(coprocessor_flush)
1911: l32i a0, a1, 0 2011: l32i a0, a1, 0
192 retw 202 retw
193 203
204ENDPROC(coprocessor_flush)
205
194ENTRY(coprocessor_restore) 206ENTRY(coprocessor_restore)
195 entry a1, 32 207 entry a1, 32
196 s32i a0, a1, 0 208 s32i a0, a1, 0
@@ -205,6 +217,8 @@ ENTRY(coprocessor_restore)
2051: l32i a0, a1, 0 2171: l32i a0, a1, 0
206 retw 218 retw
207 219
220ENDPROC(coprocessor_restore)
221
208/* 222/*
209 * Entry condition: 223 * Entry condition:
210 * 224 *
@@ -220,10 +234,12 @@ ENTRY(coprocessor_restore)
220 */ 234 */
221 235
222ENTRY(fast_coprocessor_double) 236ENTRY(fast_coprocessor_double)
237
223 wsr a0, excsave1 238 wsr a0, excsave1
224 movi a0, unrecoverable_exception 239 movi a0, unrecoverable_exception
225 callx0 a0 240 callx0 a0
226 241
242ENDPROC(fast_coprocessor_double)
227 243
228ENTRY(fast_coprocessor) 244ENTRY(fast_coprocessor)
229 245
@@ -327,9 +343,15 @@ ENTRY(fast_coprocessor)
327 343
328 rfe 344 rfe
329 345
346ENDPROC(fast_coprocessor)
347
330 .data 348 .data
349
331ENTRY(coprocessor_owner) 350ENTRY(coprocessor_owner)
351
332 .fill XCHAL_CP_MAX, 4, 0 352 .fill XCHAL_CP_MAX, 4, 0
333 353
354END(coprocessor_owner)
355
334#endif /* XTENSA_HAVE_COPROCESSORS */ 356#endif /* XTENSA_HAVE_COPROCESSORS */
335 357