[U-Boot] [RFC, PATCH] ppc: make the PPC405 jump to _start during RAM/XMD boot
Rommel G Custodio
sessyargc at gmail.com
Sat Feb 2 00:21:41 CET 2013
Dear All,
This is an RFC.
The first instruction during RAM boot is a branch to _start.
This is as desribed in the start.S file for ppc4xx arch. This
is not the case when trying to do a RAM boot build for the ppc405
platform.
** Pre-patch
build-x405g-pre/u-boot: file format elf32-powerpc
Disassembly of section .text:
04000000 <version_string-0x4>:
4000000: 27 05 19 56 dozi r24,r5,6486
** Post-patch
build-x405g-post/u-boot: file format elf32-powerpc
Disassembly of section .text:
04000000 <version_string-0x8>:
4000000: 48 00 21 01 bl 4002100 <_start>
4000004: 27 05 19 56 dozi r24,r5,6486
Comments are very much welcome.
All the best,
Rommel
During RAM boot first instruction at offset 0 of load the load
address should be a branch to _start.
Signed-off-by: Rommel G Custodio <sessyargc at gmail.com>
---
arch/powerpc/cpu/ppc4xx/start.S | 5 +++++
boards.cfg | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/cpu/ppc4xx/start.S b/arch/powerpc/cpu/ppc4xx/start.S
index 7aef43b..a2aa02a 100644
--- a/arch/powerpc/cpu/ppc4xx/start.S
+++ b/arch/powerpc/cpu/ppc4xx/start.S
@@ -267,8 +267,13 @@
* 4xx RAM-booting U-Boot image is started from offset 0
*/
.text
+#if defined(CONFIG_440)
bl _start_440
#endif
+#if defined(CONFIG_405)
+ bl _start
+#endif
+#endif
/*
* 440 Startup -- on reset only the top 4k of the effective
diff --git a/boards.cfg b/boards.cfg
index 98f7a14..29b73d9 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -1086,7 +1086,7 @@ METROBOX powerpc ppc4xx metrobox sandbur
xpedite1000 powerpc ppc4xx - xes
ml507 powerpc ppc4xx ml507 xilinx - ml507:SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1,INIT_TLB=board/xilinx/ppc440-generic/init.o
ml507_flash powerpc ppc4xx ml507 xilinx - ml507:SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC,INIT_TLB=board/xilinx/ppc440-generic/init.o
-xilinx-ppc405-generic powerpc ppc4xx ppc405-generic xilinx - xilinx-ppc405-generic:SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000
+xilinx-ppc405-generic powerpc ppc4xx ppc405-generic xilinx - xilinx-ppc405-generic:SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1
xilinx-ppc405-generic_flash powerpc ppc4xx ppc405-generic xilinx - xilinx-ppc405-generic:SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC
xilinx-ppc440-generic powerpc ppc4xx ppc440-generic xilinx - xilinx-ppc440-generic:SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1
xilinx-ppc440-generic_flash powerpc ppc4xx ppc440-generic xilinx - xilinx-ppc440-generic:SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC
--
1.8.1.2
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130202/f4087342/attachment.pgp>
More information about the U-Boot
mailing list