[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