aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf561/head.S
diff options
context:
space:
mode:
authorMike Frysinger <vapier.adi@gmail.com>2008-08-06 05:15:27 -0400
committerBryan Wu <cooloney@kernel.org>2008-08-06 05:15:27 -0400
commit09e1f70e31ed6ca23dd42feb10aa104fc1b04c40 (patch)
treebe3b8fb1813414395fa4c11ad51698414191e043 /arch/blackfin/mach-bf561/head.S
parent778307d372555f979cf6cef112a6d7fbff056cd9 (diff)
Blackfin arch: unify the duplicated _real_start functions
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/mach-bf561/head.S')
-rw-r--r--arch/blackfin/mach-bf561/head.S70
1 files changed, 0 insertions, 70 deletions
diff --git a/arch/blackfin/mach-bf561/head.S b/arch/blackfin/mach-bf561/head.S
index 0a1443b6b46..553b2d149d7 100644
--- a/arch/blackfin/mach-bf561/head.S
+++ b/arch/blackfin/mach-bf561/head.S
@@ -217,76 +217,6 @@ ENTRY(__start)
217 jump .LWAIT_HERE; 217 jump .LWAIT_HERE;
218ENDPROC(__start) 218ENDPROC(__start)
219 219
220ENTRY(_real_start)
221 [ -- sp ] = reti;
222 p0.l = lo(WDOGA_CTL);
223 p0.h = hi(WDOGA_CTL);
224 r0 = 0xAD6(z);
225 w[p0] = r0; /* watchdog off for now */
226 ssync;
227
228 /* Code update for BSS size == 0
229 * Zero out the bss region.
230 */
231
232 p1.l = ___bss_start;
233 p1.h = ___bss_start;
234 p2.l = ___bss_stop;
235 p2.h = ___bss_stop;
236 r0 = 0;
237 p2 -= p1;
238 lsetup (.L_clear_bss, .L_clear_bss) lc0 = p2;
239.L_clear_bss:
240 B[p1++] = r0;
241
242 /* In case there is a NULL pointer reference
243 * Zero out region before stext
244 */
245
246 p1.l = 0x0;
247 p1.h = 0x0;
248 r0.l = __stext;
249 r0.h = __stext;
250 r0 = r0 >> 1;
251 p2 = r0;
252 r0 = 0;
253 lsetup (.L_clear_zero, .L_clear_zero) lc0 = p2;
254.L_clear_zero:
255 W[p1++] = r0;
256
257 /* pass the uboot arguments to the global value command line */
258 R0 = R7;
259 call _cmdline_init;
260
261 p1.l = __rambase;
262 p1.h = __rambase;
263 r0.l = __sdata;
264 r0.h = __sdata;
265 [p1] = r0;
266
267 p1.l = __ramstart;
268 p1.h = __ramstart;
269 p3.l = ___bss_stop;
270 p3.h = ___bss_stop;
271
272 r1 = p3;
273 [p1] = r1;
274
275 /*
276 * load the current thread pointer and stack
277 */
278 r1.l = _init_thread_union;
279 r1.h = _init_thread_union;
280
281 r2.l = 0x2000;
282 r2.h = 0x0000;
283 r1 = r1 + r2;
284 sp = r1;
285 usp = sp;
286 fp = sp;
287 jump.l _start_kernel;
288ENDPROC(_real_start)
289
290__FINIT 220__FINIT
291 221
292.section .l1.text 222.section .l1.text