Introduce CONFIG_SKIP_RELOCATION as alternative define. This may be
desired in some conditions where U-Boot is downloaded directly into SRAM
during NAND/Peripheral download mode and is not expected to be
relocated.

This patch also organizes SKIP_LOWLEVEL_INIT and SKIP_RELOCATION in a
common arm feature dependent section.

Signed-off-by: Nishanth Menon <[EMAIL PROTECTED]>

Index: u-boot-v2.git/arch/arm/cpu/start-arm.S
===================================================================
--- u-boot-v2.git.orig/arch/arm/cpu/start-arm.S 2008-05-05
09:35:00.000000000 -0500
+++ u-boot-v2.git/arch/arm/cpu/start-arm.S      2008-05-05
09:35:05.000000000 -0500
@@ -160,6 +160,10 @@
        bl      board_init_lowlevel
 #endif
 
+       /*
+        * In some circumstances, we may choose not to relocate u-boot
+        */
+#ifndef CONFIG_SKIP_RELOCATION
 relocate:                              /* relocate U-Boot to RAM
*/
        adr     r0, _start              /* r0 <- current position of
code   */
        ldr     r1, _TEXT_BASE          /* test if we run from flash or
RAM */
@@ -176,6 +180,7 @@
        stmia   r1!, {r3-r10}           /* copy to   target address [r1]
*/
        cmp     r0, r2                  /* until source end addreee [r2]
*/
        ble     copy_loop
+#endif
 
        /* Set up the stack
*/
 stack_setup:
Index: u-boot-v2.git/arch/arm/Kconfig
===================================================================
--- u-boot-v2.git.orig/arch/arm/Kconfig 2008-05-05 09:34:44.000000000
-0500
+++ u-boot-v2.git/arch/arm/Kconfig      2008-05-05 09:35:25.000000000
-0500
@@ -74,6 +74,7 @@
        bool
        select ARM926EJS
 
+
 choice
        prompt "Select your board"
 
@@ -140,7 +141,7 @@
          The i.MX SoCs have a Pin which can output different reference
frequencies.
          Say y here if you want to have the clko command which lets you
select the
          frequency to output on this pin.
-         
+
 source arch/arm/mach-netx/Kconfig
 
 menu "Arm specific settings         "
@@ -164,6 +165,27 @@
          If you want to start a 2.6 kernel and use an
          initrd image say y here.
 
+menu "Boot Features"
+
+config SKIP_LOWLEVEL_INIT
+       bool
+       default n
+       depends on ARM
+       prompt "Skip lowlevel init"
+       help
+         This entry skips the SDRAM initialising on many ARM based
boards.
+         It enables using U-boot as a second stage bootloader.
+
+config SKIP_RELOCATION
+       bool
+       default n
+       depends on ARM
+       prompt "Skip U-Boot Relocation"
+       help
+         This entry skips the relocation logic on certain platforms
+         It enables using U-boot as a second stage bootloader.
+endmenu
+
 endmenu
 
 source common/Kconfig
Index: u-boot-v2.git/common/Kconfig
===================================================================
--- u-boot-v2.git.orig/common/Kconfig   2008-05-05 09:34:44.000000000
-0500
+++ u-boot-v2.git/common/Kconfig        2008-05-05 09:35:05.000000000
-0500
@@ -216,14 +216,6 @@
        help
          Enable build of u-boot with -g.
 
-config SKIP_LOWLEVEL_INIT
-       bool
-       depends on ARM
-       prompt "Skip lowlevel init"
-       help
-         This entry skips the SDRAM initialising on many ARM based
boards.
-         It enables using U-boot as a second stage bootloader.
-
 config ENABLE_FLASH_NOISE
        bool
        prompt "verbose flash handling"

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to