summaryrefslogtreecommitdiff
path: root/arch/blackfin/cpu/start.S
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2014-07-17 19:00:29 +0800
committerSonic Zhang <sonic.zhang@analog.com>2014-08-07 15:15:14 +0800
commitc49eabeffce351b561d79466a6f7cc4e304c063a (patch)
tree5212c5c788aa620a9f5ca0ace8dc2d8f4958a5fc /arch/blackfin/cpu/start.S
parent9f9a65c80a2e435074d5cd5b4a0ce7af591dfd3d (diff)
downloadu-boot-imx-c49eabeffce351b561d79466a6f7cc4e304c063a.zip
u-boot-imx-c49eabeffce351b561d79466a6f7cc4e304c063a.tar.gz
u-boot-imx-c49eabeffce351b561d79466a6f7cc4e304c063a.tar.bz2
blackfin: convert blackfin board_f and board_r to use generic board init functions
- move blackfin specific cpu init code from blackfin board.c to cpu.c - remove blackfin specific board init code and invoke generic board_f fron cpu init entry - rename section name bss_vma to bss_start in order to match the generic board init code - add a fake relocate_code function to set up the new stack only Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Diffstat (limited to 'arch/blackfin/cpu/start.S')
-rw-r--r--arch/blackfin/cpu/start.S14
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/blackfin/cpu/start.S b/arch/blackfin/cpu/start.S
index 29a7c23..f31abfa 100644
--- a/arch/blackfin/cpu/start.S
+++ b/arch/blackfin/cpu/start.S
@@ -196,8 +196,8 @@ ENTRY(_start)
* takes care of clearing things for us.
*/
serial_early_puts("Zero BSS");
- r0.l = __bss_vma;
- r0.h = __bss_vma;
+ r0.l = __bss_start;
+ r0.h = __bss_start;
r1 = 0 (x);
r2.l = __bss_len;
r2.h = __bss_len;
@@ -251,3 +251,13 @@ LENTRY(_get_pc)
#endif
rts;
ENDPROC(_get_pc)
+
+ENTRY(_relocate_code)
+ /* Fake relocate code. Setup the new stack only */
+ sp = r0;
+ fp = sp;
+ r0 = p3;
+ r1.h = 0x2000;
+ r1.l = 0x10;
+ jump.l _board_init_r
+ENDPROC(_relocate_code)