| Submitter | Christian Riesch |
|---|---|
| Date | Dec. 1, 2011, 8:27 a.m. |
| Message ID | <1322728057-7662-1-git-send-email-christian.riesch@omicron.at> |
| Download | mbox | patch |
| Permalink | /patch/128664/ |
| State | Accepted |
| Delegated to: | Albert ARIBAUD |
| Headers | show |
Comments
Hi Christian, Le 01/12/2011 09:27, 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__. > > Signed-off-by: Christian Riesch<christian.riesch@omicron.at> > Cc: Albert Aribaud<albert.u.boot@aribaud.net> > --- > > Hi, > this is v6 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 v6: > - replace beq clbss_e to allow for cases where r1-r0 is not a multiple of 4, > as suggested by Albert Aribaud. > > 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..6a09c02 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... */ > + bhs clbss_e /* if reached end of bss, exit */ > + 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 Applied to u-boot-arm/master, thanks! Amicalement,
Patch
diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S index 8b5355b..6a09c02 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... */ + bhs clbss_e /* if reached end of bss, exit */ + 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
This patch fixes the clear bss loop for bss sections that have zero length, i.e., where __bss_start == __bss_end__. Signed-off-by: Christian Riesch <christian.riesch@omicron.at> Cc: Albert Aribaud <albert.u.boot@aribaud.net> --- Hi, this is v6 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 v6: - replace beq clbss_e to allow for cases where r1-r0 is not a multiple of 4, as suggested by Albert Aribaud. 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(-)