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-bf561/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-bf561/head.S')
-rw-r--r-- | arch/blackfin/mach-bf561/head.S | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/blackfin/mach-bf561/head.S b/arch/blackfin/mach-bf561/head.S index 3029e940ddcd..31cbc75c85cf 100644 --- a/arch/blackfin/mach-bf561/head.S +++ b/arch/blackfin/mach-bf561/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: |
@@ -221,6 +221,7 @@ ENTRY(__stext) | |||
221 | 221 | ||
222 | .LWAIT_HERE: | 222 | .LWAIT_HERE: |
223 | jump .LWAIT_HERE; | 223 | jump .LWAIT_HERE; |
224 | ENDPROC(__start) | ||
224 | 225 | ||
225 | ENTRY(_real_start) | 226 | ENTRY(_real_start) |
226 | [ -- sp ] = reti; | 227 | [ -- sp ] = reti; |
@@ -289,9 +290,10 @@ ENTRY(_real_start) | |||
289 | sp = r1; | 290 | sp = r1; |
290 | usp = sp; | 291 | usp = sp; |
291 | fp = sp; | 292 | fp = sp; |
292 | call _start_kernel; | 293 | jump.l _start_kernel; |
293 | .L_exit: | 294 | ENDPROC(_real_start) |
294 | jump.s .L_exit; | 295 | |
296 | __FINIT | ||
295 | 297 | ||
296 | .section .l1.text | 298 | .section .l1.text |
297 | #if CONFIG_BFIN_KERNEL_CLOCK | 299 | #if CONFIG_BFIN_KERNEL_CLOCK |
@@ -393,6 +395,7 @@ ENTRY(_start_dma_code) | |||
393 | SSYNC; | 395 | SSYNC; |
394 | 396 | ||
395 | RTS; | 397 | RTS; |
398 | ENDPROC(_start_dma_code) | ||
396 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ | 399 | #endif /* CONFIG_BFIN_KERNEL_CLOCK */ |
397 | 400 | ||
398 | ENTRY(_bfin_reset) | 401 | ENTRY(_bfin_reset) |