diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2014-07-17 11:00:29 (GMT) |
---|---|---|
committer | Sonic Zhang <sonic.zhang@analog.com> | 2014-08-07 07:15:14 (GMT) |
commit | c49eabeffce351b561d79466a6f7cc4e304c063a (patch) | |
tree | 5212c5c788aa620a9f5ca0ace8dc2d8f4958a5fc /arch/blackfin/cpu/start.S | |
parent | 9f9a65c80a2e435074d5cd5b4a0ce7af591dfd3d (diff) | |
download | u-boot-fsl-qoriq-c49eabeffce351b561d79466a6f7cc4e304c063a.tar.xz |
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.S | 14 |
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) |