aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/entry.S
diff options
context:
space:
mode:
authorMike Frysinger <michael.frysinger@analog.com>2007-06-11 03:31:30 -0400
committerBryan Wu <bryan.wu@analog.com>2007-06-11 03:31:30 -0400
commit51be24c351bc9ee4937121100adb098eeb1effdd (patch)
treeb766c400cab7c51bfc7672cfbc3402bc83be5fb3 /arch/blackfin/mach-common/entry.S
parent52a078120c33b06a9abb721357adaafc3b55b7c1 (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>
Diffstat (limited to 'arch/blackfin/mach-common/entry.S')
-rw-r--r--arch/blackfin/mach-common/entry.S18
1 files changed, 18 insertions, 0 deletions
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
106ENDPROC(_ex_dcplb)
106 107
107ENTRY(_ex_icplb) 108ENTRY(_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;
117ENDPROC(_ex_icplb)
116 118
117ENTRY(_ex_spinlock) 119ENTRY(_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. */
128ENDPROC(_ex_spinlock)
126 129
127ENTRY(_ex_syscall) 130ENTRY(_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
137ENDPROC(_ex_syscall)
134 138
135ENTRY(_spinlock_bh) 139ENTRY(_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;
157ENDPROC(_spinlock_bh)
153 158
154ENTRY(_ex_soft_bp) 159ENTRY(_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;
164ENDPROC(_ex_soft_bp)
159 165
160ENTRY(_ex_single_step) 166ENTRY(_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;
200ENDPROC(_ex_soft_bp)
194 201
195ENTRY(_handle_bad_cplb) 202ENTRY(_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;
260ENDPROC(_ex_trap_c)
253 261
254ENTRY(_exception_to_level5) 262ENTRY(_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;
325ENDPROC(_exception_to_level5)
317 326
318ENTRY(_trap) /* Exception: 4th entry into system event table(supervisor mode)*/ 327ENTRY(_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;
354ENDPROC(_trap)
345 355
346ENTRY(_kernel_execve) 356ENTRY(_kernel_execve)
347 link SIZEOF_PTREGS; 357 link SIZEOF_PTREGS;
@@ -396,6 +406,7 @@ ENTRY(_kernel_execve)
3961: 4061:
397 unlink; 407 unlink;
398 rts; 408 rts;
409ENDPROC(_kernel_execve)
399 410
400ENTRY(_system_call) 411ENTRY(_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;
517ENDPROC(_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;
546ENDPROC(_sys_trace)
534 547
535ENTRY(_resume) 548ENTRY(_resume)
536 /* 549 /*
@@ -580,6 +593,7 @@ _new_old_task:
580 * in "new" task. 593 * in "new" task.
581 */ 594 */
582 rts; 595 rts;
596ENDPROC(_resume)
583 597
584ENTRY(_ret_from_exception) 598ENTRY(_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;
6395: 6535:
640 rts; 654 rts;
655ENDPROC(_ret_from_exception)
641 656
642ENTRY(_return_from_int) 657ENTRY(_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;
6812: 6962:
682 rts; 697 rts;
698ENDPROC(_return_from_int)
683 699
684ENTRY(_lower_to_irq14) 700ENTRY(_lower_to_irq14)
685#if defined(ANOMALY_05000281) 701#if defined(ANOMALY_05000281)
@@ -745,6 +761,7 @@ _schedule_and_signal:
7451: 7611:
746 RESTORE_CONTEXT 762 RESTORE_CONTEXT
747 rti; 763 rti;
764ENDPROC(_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;
778ENDPROC(_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