diff options
Diffstat (limited to 'arch/blackfin/mach-common')
-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 |
7 files changed, 40 insertions, 3 deletions
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) | ||