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