aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf537
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-bf537
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-bf537')
-rw-r--r--arch/blackfin/mach-bf537/head.S70
1 files changed, 0 insertions, 70 deletions
diff --git a/arch/blackfin/mach-bf537/head.S b/arch/blackfin/mach-bf537/head.S
index 5bc89bbb89d..c11f0fd8225 100644
--- a/arch/blackfin/mach-bf537/head.S
+++ b/arch/blackfin/mach-bf537/head.S
@@ -240,76 +240,6 @@ ENTRY(__start)
240 jump .LWAIT_HERE; 240 jump .LWAIT_HERE;
241ENDPROC(__start) 241ENDPROC(__start)
242 242
243ENTRY(_real_start)
244 [ -- sp ] = reti;
245 p0.l = lo(WDOG_CTL);
246 p0.h = hi(WDOG_CTL);
247 r0 = 0xAD6(z);
248 w[p0] = r0; /* watchdog off for now */
249 ssync;
250
251 /* Code update for BSS size == 0
252 * Zero out the bss region.
253 */
254
255 p1.l = ___bss_start;
256 p1.h = ___bss_start;
257 p2.l = ___bss_stop;
258 p2.h = ___bss_stop;
259 r0 = 0;
260 p2 -= p1;
261 lsetup (.L_clear_bss, .L_clear_bss) lc0 = p2;
262.L_clear_bss:
263 B[p1++] = r0;
264
265 /* In case there is a NULL pointer reference
266 * Zero out region before stext
267 */
268
269 p1.l = 0x0;
270 p1.h = 0x0;
271 r0.l = __stext;
272 r0.h = __stext;
273 r0 = r0 >> 1;
274 p2 = r0;
275 r0 = 0;
276 lsetup (.L_clear_zero, .L_clear_zero) lc0 = p2;
277.L_clear_zero:
278 W[p1++] = r0;
279
280 /* pass the uboot arguments to the global value command line */
281 R0 = R7;
282 call _cmdline_init;
283
284 p1.l = __rambase;
285 p1.h = __rambase;
286 r0.l = __sdata;
287 r0.h = __sdata;
288 [p1] = r0;
289
290 p1.l = __ramstart;
291 p1.h = __ramstart;
292 p3.l = ___bss_stop;
293 p3.h = ___bss_stop;
294
295 r1 = p3;
296 [p1] = r1;
297
298 /*
299 * load the current thread pointer and stack
300 */
301 r1.l = _init_thread_union;
302 r1.h = _init_thread_union;
303
304 r2.l = 0x2000;
305 r2.h = 0x0000;
306 r1 = r1 + r2;
307 sp = r1;
308 usp = sp;
309 fp = sp;
310 jump.l _start_kernel;
311ENDPROC(_real_start)
312
313__FINIT 243__FINIT
314 244
315.section .l1.text 245.section .l1.text