diff options
author | Mike Frysinger <michael.frysinger@analog.com> | 2007-06-11 03:31:30 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-06-11 03:31:30 -0400 |
commit | 52a078120c33b06a9abb721357adaafc3b55b7c1 (patch) | |
tree | 5a17d6b1c5c0beb639507d9c54b3c26bd99aa8fc /arch/blackfin/mach-bf537/head.S | |
parent | 83a5c3e3218f138b1a99f787c76e380d6a6ecec9 (diff) |
Blackfin arch: move more of our startup code to .init so it can be freed once we are up and running
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/mach-bf537/head.S')
-rw-r--r-- | arch/blackfin/mach-bf537/head.S | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/blackfin/mach-bf537/head.S b/arch/blackfin/mach-bf537/head.S index 3f490bfb73fa..7d902bbd860f 100644 --- a/arch/blackfin/mach-bf537/head.S +++ b/arch/blackfin/mach-bf537/head.S | |||
@@ -28,6 +28,7 @@ | |||
28 | */ | 28 | */ |
29 | 29 | ||
30 | #include <linux/linkage.h> | 30 | #include <linux/linkage.h> |
31 | #include <linux/init.h> | ||
31 | #include <asm/blackfin.h> | 32 | #include <asm/blackfin.h> |
32 | #if CONFIG_BFIN_KERNEL_CLOCK | 33 | #if CONFIG_BFIN_KERNEL_CLOCK |
33 | #include <asm/mach/mem_init.h> | 34 | #include <asm/mach/mem_init.h> |
@@ -42,10 +43,9 @@ | |||
42 | 43 | ||
43 | #define INITIAL_STACK 0xFFB01000 | 44 | #define INITIAL_STACK 0xFFB01000 |
44 | 45 | ||
45 | .text | 46 | __INIT |
46 | 47 | ||
47 | ENTRY(__start) | 48 | ENTRY(__start) |
48 | ENTRY(__stext) | ||
49 | /* R0: argument of command line string, passed from uboot, save it */ | 49 | /* R0: argument of command line string, passed from uboot, save it */ |
50 | R7 = R0; | 50 | R7 = R0; |
51 | /* Set the SYSCFG register: | 51 | /* Set the SYSCFG register: |
@@ -275,6 +275,7 @@ ENTRY(__stext) | |||
275 | 275 | ||
276 | .LWAIT_HERE: | 276 | .LWAIT_HERE: |
277 | jump .LWAIT_HERE; | 277 | jump .LWAIT_HERE; |
278 | ENDPROC(__start) | ||
278 | 279 | ||
279 | ENTRY(_real_start) | 280 | ENTRY(_real_start) |
280 | [ -- sp ] = reti; | 281 | [ -- sp ] = reti; |
@@ -343,9 +344,10 @@ ENTRY(_real_start) | |||
343 | sp = r1; | 344 | sp = r1; |
344 | usp = sp; | 345 | usp = sp; |
345 | fp = sp; | 346 | fp = sp; |
346 | call _start_kernel; | 347 | jump.l _start_kernel; |
347 | .L_exit: | 348 | ENDPROC(_real_start) |
348 | jump.s .L_exit; | 349 | |
350 | __FINIT | ||
349 | 351 | ||
350 | .section .l1.text | 352 | .section .l1.text |
351 | #if CONFIG_BFIN_KERNEL_CLOCK | 353 | #if CONFIG_BFIN_KERNEL_CLOCK |
@@ -464,6 +466,7 @@ ENTRY(_start_dma_code) | |||
464 | SSYNC; | 466 | SSYNC; |
465 | 467 | ||
466 | RTS; | 468 | RTS; |
469 | ENDPROC(_start_dma_code) | ||
467 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | 470 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ |
468 | 471 | ||
469 | ENTRY(_bfin_reset) | 472 | ENTRY(_bfin_reset) |