Hi Christian,

Le 29/11/2011 11:58, Christian Riesch a écrit :
This patch fixes the clear bss loop for bss sections that have
zero length, i.e., where __bss_start == __bss_end__.

Just out of curiosity, did you actually hit a scenario when you had a really empty BSS? Not that I intend to reject this patch because of this, mind.

Signed-off-by: Christian Riesch<christian.rie...@omicron.at>
Cc: Albert Aribaud<albert.u.b...@aribaud.net>
---
Hi,
this is v5 of a patch out of my recent patchset

[PATCH v3 00/15] Add an SPL to boot the da850evm from SPI
http://lists.denx.de/pipermail/u-boot/2011-November/111182.html

Changes for v5:
- correct subject line

Changes for v4:
- split the patchset since it is getting quite big

Regards, Christian

  arch/arm/cpu/arm926ejs/start.S |    8 +++++---
  1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S
index 8b5355b..772793c 100644
--- a/arch/arm/cpu/arm926ejs/start.S
+++ b/arch/arm/cpu/arm926ejs/start.S
@@ -299,10 +299,12 @@ clear_bss:
  #endif
        mov     r2, #0x00000000         /* clear                            */

-clbss_l:str    r2, [r0]                /* clear loop...                    */
+clbss_l:cmp    r0, r1                  /* clear loop...                    */
+       beq     clbss_e

For safety, you had better use a bge here, in case r1-r0 is not a multiple of 4.

+       str     r2, [r0]
        add     r0, r0, #4
-       cmp     r0, r1
-       bne     clbss_l
+       b       clbss_l
+clbss_e:

  #ifndef CONFIG_SPL_BUILD
        bl coloured_LED_init

Amicalement,
--
Albert.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to