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