]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Merge http://git.denx.de/u-boot-dm
authorTom Rini <trini@ti.com>
Mon, 4 Aug 2014 14:16:27 +0000 (10:16 -0400)
committerTom Rini <trini@ti.com>
Mon, 4 Aug 2014 14:16:27 +0000 (10:16 -0400)
README
arch/arm/include/asm/config.h
arch/arm/lib/crt0.S

diff --git a/README b/README
index f704eb3780082d76a93fe8a5d6a348f49ae7693f..31e08fc748d06201a99d5875cfc27b0d3b89bad5 100644 (file)
--- a/README
+++ b/README
@@ -3752,6 +3752,9 @@ Configuration Settings:
                Pre-relocation malloc() is only supported on sandbox
                at present but is fairly easy to enable for other archs.
 
+               Pre-relocation malloc() is only supported on ARM at present
+               but is fairly easy to enable for other archs.
+
 - CONFIG_SYS_BOOTM_LEN:
                Normally compressed uImages are limited to an
                uncompressed size of 8 MBytes. If this is not enough,
index d3433dafd9f900e45dcf9445cf86f2de35749289..5f2a5f4ea9f0905cffb340d75eb9e01aa25d8162 100644 (file)
@@ -7,7 +7,9 @@
 #ifndef _ASM_CONFIG_H_
 #define _ASM_CONFIG_H_
 
+#ifdef __aarch64__
 #define CONFIG_SYS_GENERIC_GLOBAL_DATA
+#endif
 
 #define CONFIG_LMB
 #define CONFIG_SYS_BOOT_RAMDISK_HIGH
index dfc2de9a618830e4c06a6a85705c142334ae9d30..29cdad0f70716a85e260a124b73f63746b484b80 100644 (file)
@@ -67,10 +67,22 @@ ENTRY(_main)
        ldr     sp, =(CONFIG_SYS_INIT_SP_ADDR)
 #endif
        bic     sp, sp, #7      /* 8-byte alignment for ABI compliance */
+       mov     r2, sp
        sub     sp, sp, #GD_SIZE        /* allocate one GD above SP */
        bic     sp, sp, #7      /* 8-byte alignment for ABI compliance */
        mov     r9, sp          /* GD is above SP */
+       mov     r1, sp
        mov     r0, #0
+clr_gd:
+       cmp     r1, r2                  /* while not at end of GD */
+       strlo   r0, [r1]                /* clear 32-bit GD word */
+       addlo   r1, r1, #4              /* move to next */
+       blo     clr_gd
+#if defined(CONFIG_SYS_MALLOC_F_LEN) && !defined(CONFIG_SPL_BUILD)
+       sub     sp, sp, #CONFIG_SYS_MALLOC_F_LEN
+       str     sp, [r9, #GD_MALLOC_BASE]
+#endif
+       /* mov r0, #0 not needed due to above code */
        bl      board_init_f
 
 #if ! defined(CONFIG_SPL_BUILD)