[U-Boot] [V3] arm: Fix to mistake clean the memory space

From: Zhong Hongbo bocui107@gmail.com
In currently, when __bss_start is equal to __bss_end__, The bss loop will clear all the things in memory space.
But just only when __bss_end__ greater than __bss_start__, we do the clear bss section operation.
Signed-off-by: Zhong Hongbo bocui107@gmail.com --- Change for V2 - Fixed bss clear operation, no just skip it. - Adjust the commit information Change for V3 - Modify all the bss clean operation for arm platform - Adjust the title --- arch/arm/cpu/arm1136/start.S | 8 +++++--- arch/arm/cpu/arm1176/start.S | 9 +++++---- arch/arm/cpu/arm720t/start.S | 8 +++++--- arch/arm/cpu/arm920t/start.S | 8 +++++--- arch/arm/cpu/arm925t/start.S | 8 +++++--- arch/arm/cpu/arm946es/start.S | 8 +++++--- arch/arm/cpu/arm_intcm/start.S | 8 +++++--- arch/arm/cpu/armv7/start.S | 8 +++++--- arch/arm/cpu/ixp/start.S | 8 +++++--- arch/arm/cpu/lh7a40x/start.S | 8 +++++--- arch/arm/cpu/pxa/start.S | 8 +++++--- arch/arm/cpu/s3c44b0/start.S | 8 +++++--- arch/arm/cpu/sa1100/start.S | 8 +++++--- 13 files changed, 65 insertions(+), 40 deletions(-)
diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S index c0db96c..2483c63 100644 --- a/arch/arm/cpu/arm1136/start.S +++ b/arch/arm/cpu/arm1136/start.S @@ -251,10 +251,12 @@ clear_bss: add r1, r1, r4 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: #endif /* #ifndef CONFIG_SPL_BUILD */
/* diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S index 848144a..d613641 100644 --- a/arch/arm/cpu/arm1176/start.S +++ b/arch/arm/cpu/arm1176/start.S @@ -351,11 +351,12 @@ clear_bss: add r1, r1, r4 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_NAND_SPL bl coloured_LED_init bl red_led_on diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S index 540e3c2..3b97e80 100644 --- a/arch/arm/cpu/arm720t/start.S +++ b/arch/arm/cpu/arm720t/start.S @@ -228,10 +228,12 @@ clear_bss: add r1, r1, r4 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:
bl coloured_LED_init bl red_led_on diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S index 8c5612c..9b8604e 100644 --- a/arch/arm/cpu/arm920t/start.S +++ b/arch/arm/cpu/arm920t/start.S @@ -271,10 +271,12 @@ clear_bss: add r1, r1, r4 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:
bl coloured_LED_init bl red_led_on diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S index dbb93ef..1a54416 100644 --- a/arch/arm/cpu/arm925t/start.S +++ b/arch/arm/cpu/arm925t/start.S @@ -265,10 +265,12 @@ clear_bss: add r1, r1, r4 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:
bl coloured_LED_init bl red_led_on diff --git a/arch/arm/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S index 89ba558..b4d1d2d 100644 --- a/arch/arm/cpu/arm946es/start.S +++ b/arch/arm/cpu/arm946es/start.S @@ -236,10 +236,12 @@ clear_bss: add r1, r1, r4 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 - blo clbss_l + b clbss_l +clbss_e: #endif
/* diff --git a/arch/arm/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S index 2033b36..b85e7d4 100644 --- a/arch/arm/cpu/arm_intcm/start.S +++ b/arch/arm/cpu/arm_intcm/start.S @@ -232,10 +232,12 @@ clear_bss: add r1, r1, r4 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:
bl coloured_LED_init bl red_led_on diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S index 22a3ced..aee27fd 100644 --- a/arch/arm/cpu/armv7/start.S +++ b/arch/arm/cpu/armv7/start.S @@ -259,10 +259,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:
/* * We are done. Do not return, instead branch to second part of board diff --git a/arch/arm/cpu/ixp/start.S b/arch/arm/cpu/ixp/start.S index cb32121..59c359a 100644 --- a/arch/arm/cpu/ixp/start.S +++ b/arch/arm/cpu/ixp/start.S @@ -334,10 +334,12 @@ clear_bss: add r1, r1, r4 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:
bl coloured_LED_init bl red_led_on diff --git a/arch/arm/cpu/lh7a40x/start.S b/arch/arm/cpu/lh7a40x/start.S index 62de8b8..bd68cd4 100644 --- a/arch/arm/cpu/lh7a40x/start.S +++ b/arch/arm/cpu/lh7a40x/start.S @@ -245,10 +245,12 @@ clear_bss: add r1, r1, r4 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: #endif
/* diff --git a/arch/arm/cpu/pxa/start.S b/arch/arm/cpu/pxa/start.S index ba0de8f..33c73f6 100644 --- a/arch/arm/cpu/pxa/start.S +++ b/arch/arm/cpu/pxa/start.S @@ -258,10 +258,12 @@ clear_bss: add r1, r1, r4 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: #endif /* #ifndef CONFIG_SPL_BUILD */
/* diff --git a/arch/arm/cpu/s3c44b0/start.S b/arch/arm/cpu/s3c44b0/start.S index a29d5b4..8daf26c 100644 --- a/arch/arm/cpu/s3c44b0/start.S +++ b/arch/arm/cpu/s3c44b0/start.S @@ -217,10 +217,12 @@ clear_bss: add r1, r1, r4 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:
bl coloured_LED_init bl red_led_on diff --git a/arch/arm/cpu/sa1100/start.S b/arch/arm/cpu/sa1100/start.S index 92546d8..bcea2a8 100644 --- a/arch/arm/cpu/sa1100/start.S +++ b/arch/arm/cpu/sa1100/start.S @@ -221,10 +221,12 @@ clear_bss: add r1, r1, r4 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: #endif
/*

Hi Zhong Hongbo,
On Sat, 7 Jul 2012 17:47:16 +0800, Zhong Hongbo bocui107@gmail.com wrote:
From: Zhong Hongbo bocui107@gmail.com
In currently, when __bss_start is equal to __bss_end__, The bss loop will clear all the things in memory space.
But just only when __bss_end__ greater than __bss_start__, we do the clear bss section operation.
Signed-off-by: Zhong Hongbo bocui107@gmail.com
Change for V2
- Fixed bss clear operation, no just skip it.
- Adjust the commit information
Change for V3
- Modify all the bss clean operation for arm platform
- Adjust the title
Almost there... The PATCH part is missing, i.e. you should not tag "[V3]" but "[PATCH V3]".
Just to make sure patchwork gets it right, please repost a V4 of this properly tagged with "[PATCH V4]".
Amicalement,

On 07/07/2012 05:58 PM, Albert ARIBAUD wrote:
Hi Zhong Hongbo,
On Sat, 7 Jul 2012 17:47:16 +0800, Zhong Hongbo bocui107@gmail.com wrote:
From: Zhong Hongbo bocui107@gmail.com
In currently, when __bss_start is equal to __bss_end__, The bss loop will clear all the things in memory space.
But just only when __bss_end__ greater than __bss_start__, we do the clear bss section operation.
Signed-off-by: Zhong Hongbo bocui107@gmail.com
Change for V2
- Fixed bss clear operation, no just skip it.
- Adjust the commit information
Change for V3
- Modify all the bss clean operation for arm platform
- Adjust the title
Almost there... The PATCH part is missing, i.e. you should not tag "[V3]" but "[PATCH V3]".
Ok,
Just to make sure patchwork gets it right, please repost a V4 of this properly tagged with "[PATCH V4]".
Ok,
Thanks, hongbo
Amicalement,

Dear Zhong Hongbo,
On 07.07.2012 15:19, Zhong Hongbo wrote:
On 07/07/2012 05:58 PM, Albert ARIBAUD wrote:
Hi Zhong Hongbo,
On Sat, 7 Jul 2012 17:47:16 +0800, Zhong Hongbo bocui107@gmail.com wrote:
From: Zhong Hongbo bocui107@gmail.com
Almost there... The PATCH part is missing, i.e. you should not tag "[V3]" but "[PATCH V3]".
Ok,
well, you sent v4 but didn't respect this comment. Please read http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versions especially this part:
---8<--- Make an appropriate note that this is a re-submission in the subject line, eg. "[PATCH v2] Add support for feature X". git format-patch --subject-prefix="PATCH v2" can be used in this case. --->8---
Another option is to use 'git send-email --annotate ...' and change the subject line.
Just to make sure patchwork gets it right, please repost a V4 of this properly tagged with "[PATCH V4]".
I think patchwork got it right http://patchwork.ozlabs.org/patch/169595/ and http://patchwork.ozlabs.org/patch/169572/. So I would say you do not need to resend a v5 of the same patch cause of this formal 'fault'. Albert, do you have the same opinion?
Albert, I think we should count this a fix and pull into this upcoming release. How do you think about?
Best regards
Andreas Bießmann

Hi Andreas,
On Mon, 09 Jul 2012 13:21:12 +0200, "Andreas Bießmann" andreas.devel@googlemail.com wrote:
Dear Zhong Hongbo,
On 07.07.2012 15:19, Zhong Hongbo wrote:
On 07/07/2012 05:58 PM, Albert ARIBAUD wrote:
Hi Zhong Hongbo,
On Sat, 7 Jul 2012 17:47:16 +0800, Zhong Hongbo bocui107@gmail.com wrote:
From: Zhong Hongbo bocui107@gmail.com
Almost there... The PATCH part is missing, i.e. you should not tag "[V3]" but "[PATCH V3]".
Ok,
well, you sent v4 but didn't respect this comment. Please read http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versions especially this part:
---8<--- Make an appropriate note that this is a re-submission in the subject line, eg. "[PATCH v2] Add support for feature X". git format-patch --subject-prefix="PATCH v2" can be used in this case. --->8---
Another option is to use 'git send-email --annotate ...' and change the subject line.
Just to make sure patchwork gets it right, please repost a V4 of this properly tagged with "[PATCH V4]".
I think patchwork got it right http://patchwork.ozlabs.org/patch/169595/ and http://patchwork.ozlabs.org/patch/169572/. So I would say you do not need to resend a v5 of the same patch cause of this formal 'fault'. Albert, do you have the same opinion?
(sigh) No, I don't have the same opinion.
But I will accept... for this once.
Albert, I think we should count this a fix and pull into this upcoming release. How do you think about?
This was my intent from the start. :)
Best regards
Andreas Bießmann
Amicalement,

Dear Albert Aribaud,
On 09.07.2012 16:20, Albert ARIBAUD wrote:
Hi Andreas,
On Mon, 09 Jul 2012 13:21:12 +0200, "Andreas Bießmann" andreas.devel@googlemail.com wrote:
Dear Zhong Hongbo,
On 07.07.2012 15:19, Zhong Hongbo wrote:
On 07/07/2012 05:58 PM, Albert ARIBAUD wrote:
Hi Zhong Hongbo,
On Sat, 7 Jul 2012 17:47:16 +0800, Zhong Hongbo bocui107@gmail.com wrote:
From: Zhong Hongbo bocui107@gmail.com
Almost there... The PATCH part is missing, i.e. you should not tag "[V3]" but "[PATCH V3]".
Ok,
well, you sent v4 but didn't respect this comment. Please read http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versions especially this part:
---8<--- Make an appropriate note that this is a re-submission in the subject line, eg. "[PATCH v2] Add support for feature X". git format-patch --subject-prefix="PATCH v2" can be used in this case. --->8---
Another option is to use 'git send-email --annotate ...' and change the subject line.
Just to make sure patchwork gets it right, please repost a V4 of this properly tagged with "[PATCH V4]".
I think patchwork got it right http://patchwork.ozlabs.org/patch/169595/ and http://patchwork.ozlabs.org/patch/169572/. So I would say you do not need to resend a v5 of the same patch cause of this formal 'fault'. Albert, do you have the same opinion?
(sigh) No, I don't have the same opinion.
Ouch, sorry for that. I will notice this and do not force your opinion. I should have asked before.
Best regards
Andreas Bießmann
participants (3)
-
Albert ARIBAUD
-
Andreas Bießmann
-
Zhong Hongbo