diff mbox

[U-Boot,01/2] powerpc/mpc85xx:Avoid fix address of bootpg section

Message ID 1396260094-2328-1-git-send-email-prabhakar@freescale.com
State Accepted
Delegated to: York Sun
Headers show

Commit Message

Prabhakar Kushwaha March 31, 2014, 10:01 a.m. UTC
It is not necessary for bootpg to be present at text + 512KB.
With increase of u-boot size (768KB), bootpg section's address
cannot be fixed.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
---
 arch/powerpc/cpu/mpc85xx/u-boot-nand.lds |    8 +++++++-
 arch/powerpc/cpu/mpc85xx/u-boot.lds      |    6 +++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

Comments

Prabhakar Kushwaha April 3, 2014, 4:02 a.m. UTC | #1
Hi All,

I just want to share my concern with respect to this patch.
This patch removed hard-coded value for 0x80000 and use 
CONFIG_SYS_MONITOR_LEN.

There were many Freescale boards config which don't have correct 
CONFIG_SYS_MONITOR_LEN(due to size increase from 512KB to 768KB). I 
fixed them in subsequent patch.

This linker file is being used by many other powerpc boards/platforms. 
Because of hard-coded value of 0x80000 in linker file, there boards are 
booting till now.
but after this patch,  there is a possibility there boards may not boot 
because of wrong value defined for CONFIG_SYS_MONITOR_LEN by board 
maintainers.

I will request powerpc board maintainers to check config file for 
correct value of CONFIG_SYS_MONITOR_LEN.

Regards,
Prabhakar

On 3/31/2014 3:31 PM, Prabhakar Kushwaha wrote:
> It is not necessary for bootpg to be present at text + 512KB.
> With increase of u-boot size (768KB), bootpg section's address
> cannot be fixed.
>
> Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
> ---
>   arch/powerpc/cpu/mpc85xx/u-boot-nand.lds |    8 +++++++-
>   arch/powerpc/cpu/mpc85xx/u-boot.lds      |    6 +++++-
>   2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> index df3b0f9..d77a6dc 100644
> --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> @@ -4,6 +4,12 @@
>    * SPDX-License-Identifier:	GPL-2.0+
>    */
>   
> +#include "config.h"	/* CONFIG_BOARDDIR */
> +
> +#ifndef CONFIG_SYS_MONITOR_LEN
> +#define CONFIG_SYS_MONITOR_LEN	0x80000
> +#endif
> +
>   OUTPUT_ARCH(powerpc)
>   /* Do we need any of these for elf?
>      __DYNAMIC = 0;    */
> @@ -76,7 +82,7 @@ SECTIONS
>       KEEP(arch/powerpc/cpu/mpc85xx/start.o (.bootpg))
>     } :text = 0xffff
>   
> -  . = ADDR(.text) + 0x80000;
> +  . = ADDR(.text) + CONFIG_SYS_MONITOR_LEN;
>   
>     __bss_start = .;
>     .bss (NOLOAD)       :
> diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
> index 2af4c80..99473dd 100644
> --- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
> +++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
> @@ -12,6 +12,10 @@
>   #define RESET_VECTOR_ADDRESS	0xfffffffc
>   #endif
>   
> +#ifndef CONFIG_SYS_MONITOR_LEN
> +#define CONFIG_SYS_MONITOR_LEN	0x80000
> +#endif
> +
>   OUTPUT_ARCH(powerpc)
>   
>   PHDRS
> @@ -84,7 +88,7 @@ SECTIONS
>     {
>       KEEP(arch/powerpc/cpu/mpc85xx/start.o (.bootpg))
>     } :text = 0xffff
> -  . = ADDR(.text) + 0x80000;
> +  . = ADDR(.text) + CONFIG_SYS_MONITOR_LEN;
>   #else
>     .bootpg RESET_VECTOR_ADDRESS - 0xffc :
>     {
Prabhakar Kushwaha April 4, 2014, 3:32 p.m. UTC | #2
Dear Wolfgang,

With this patch I removed hard-coding(0x80000) present in 
arch/powerpc/cpu/mpc85xx/u-boot-nand.lds with CONFIG_SYS_MONITOR_LEN.
I also updated Freescale boards with correct CONFIG_SYS_MONITOR_LEN in 
subsequent patch.

There is a possibility of other powerpc boards to have incorrect 
CONFIG_SYS_MONITOR_LEN.
As I am not aware of actual size of the binary. May I update 
CONFIG_SYS_MONITOR_LEN for all powerpc platforms as 0x80000 or leave it 
up to the platform user to update with correct binary size.  I will 
check the build of these updated boards.

Thanks,
Prabhakar


On 4/3/2014 9:32 AM, Prabhakar Kushwaha wrote:
> Hi All,
>
> I just want to share my concern with respect to this patch.
> This patch removed hard-coded value for 0x80000 and use 
> CONFIG_SYS_MONITOR_LEN.
>
> There were many Freescale boards config which don't have correct 
> CONFIG_SYS_MONITOR_LEN(due to size increase from 512KB to 768KB). I 
> fixed them in subsequent patch.
>
> This linker file is being used by many other powerpc boards/platforms. 
> Because of hard-coded value of 0x80000 in linker file, there boards 
> are booting till now.
> but after this patch,  there is a possibility there boards may not 
> boot because of wrong value defined for CONFIG_SYS_MONITOR_LEN by 
> board maintainers.
>
> I will request powerpc board maintainers to check config file for 
> correct value of CONFIG_SYS_MONITOR_LEN.
>
> Regards,
> Prabhakar
>
> On 3/31/2014 3:31 PM, Prabhakar Kushwaha wrote:
>> It is not necessary for bootpg to be present at text + 512KB.
>> With increase of u-boot size (768KB), bootpg section's address
>> cannot be fixed.
>>
>> Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
>> ---
>>   arch/powerpc/cpu/mpc85xx/u-boot-nand.lds |    8 +++++++-
>>   arch/powerpc/cpu/mpc85xx/u-boot.lds      |    6 +++++-
>>   2 files changed, 12 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds 
>> b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
>> index df3b0f9..d77a6dc 100644
>> --- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
>> +++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
>> @@ -4,6 +4,12 @@
>>    * SPDX-License-Identifier:    GPL-2.0+
>>    */
>>   +#include "config.h"    /* CONFIG_BOARDDIR */
>> +
>> +#ifndef CONFIG_SYS_MONITOR_LEN
>> +#define CONFIG_SYS_MONITOR_LEN    0x80000
>> +#endif
>> +
>>   OUTPUT_ARCH(powerpc)
>>   /* Do we need any of these for elf?
>>      __DYNAMIC = 0;    */
>> @@ -76,7 +82,7 @@ SECTIONS
>>       KEEP(arch/powerpc/cpu/mpc85xx/start.o (.bootpg))
>>     } :text = 0xffff
>>   -  . = ADDR(.text) + 0x80000;
>> +  . = ADDR(.text) + CONFIG_SYS_MONITOR_LEN;
>>       __bss_start = .;
>>     .bss (NOLOAD)       :
>> diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds 
>> b/arch/powerpc/cpu/mpc85xx/u-boot.lds
>> index 2af4c80..99473dd 100644
>> --- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
>> +++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
>> @@ -12,6 +12,10 @@
>>   #define RESET_VECTOR_ADDRESS    0xfffffffc
>>   #endif
>>   +#ifndef CONFIG_SYS_MONITOR_LEN
>> +#define CONFIG_SYS_MONITOR_LEN    0x80000
>> +#endif
>> +
>>   OUTPUT_ARCH(powerpc)
>>     PHDRS
>> @@ -84,7 +88,7 @@ SECTIONS
>>     {
>>       KEEP(arch/powerpc/cpu/mpc85xx/start.o (.bootpg))
>>     } :text = 0xffff
>> -  . = ADDR(.text) + 0x80000;
>> +  . = ADDR(.text) + CONFIG_SYS_MONITOR_LEN;
>>   #else
>>     .bootpg RESET_VECTOR_ADDRESS - 0xffc :
>>     {
>
>
>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
York Sun April 17, 2014, 12:07 a.m. UTC | #3
On 04/02/2014 09:02 PM, Prabhakar Kushwaha wrote:
> Hi All,
> 
> I just want to share my concern with respect to this patch.
> This patch removed hard-coded value for 0x80000 and use CONFIG_SYS_MONITOR_LEN.
> 
> There were many Freescale boards config which don’t have correct
> CONFIG_SYS_MONITOR_LEN(due to size increase from 512KB to 768KB). I fixed them
> in subsequent patch.
> 
> This linker file is being used by many other powerpc boards/platforms. Because
> of hard-coded value of 0x80000 in linker file, there boards are booting till now. 
> but after this patch,  there is a possibility there boards may not boot because
> of wrong value defined for CONFIG_SYS_MONITOR_LEN by board maintainers.
> 
> I will request powerpc board maintainers to check config file for correct value
> of CONFIG_SYS_MONITOR_LEN.
> 
>
Prabhakar,

Where are we for this patch? I don't see any comment.

York
Prabhakar Kushwaha April 17, 2014, 3:41 a.m. UTC | #4
On 4/17/2014 5:37 AM, York Sun wrote:
> On 04/02/2014 09:02 PM, Prabhakar Kushwaha wrote:
>> Hi All,
>>
>> I just want to share my concern with respect to this patch.
>> This patch removed hard-coded value for 0x80000 and use CONFIG_SYS_MONITOR_LEN.
>>
>> There were many Freescale boards config which don’t have correct
>> CONFIG_SYS_MONITOR_LEN(due to size increase from 512KB to 768KB). I fixed them
>> in subsequent patch.
>>
>> This linker file is being used by many other powerpc boards/platforms. Because
>> of hard-coded value of 0x80000 in linker file, there boards are booting till now.
>> but after this patch,  there is a possibility there boards may not boot because
>> of wrong value defined for CONFIG_SYS_MONITOR_LEN by board maintainers.
>>
>> I will request powerpc board maintainers to check config file for correct value
>> of CONFIG_SYS_MONITOR_LEN.
>>
>>
> Prabhakar,
>
> Where are we for this patch? I don't see any comment.
>
>

I did not get any comments :(

Looks like every one is OK with it.

regards,
Prabhakar
York Sun April 23, 2014, 9:51 p.m. UTC | #5
On 03/31/2014 03:01 AM, Prabhakar Kushwaha wrote:
> It is not necessary for bootpg to be present at text + 512KB.
> With increase of u-boot size (768KB), bootpg section's address
> cannot be fixed.
> 
> Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
> ---


Applied to u-boot-mpc85xx/master, thanks.

York
diff mbox

Patch

diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
index df3b0f9..d77a6dc 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
@@ -4,6 +4,12 @@ 
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
+#include "config.h"	/* CONFIG_BOARDDIR */
+
+#ifndef CONFIG_SYS_MONITOR_LEN
+#define CONFIG_SYS_MONITOR_LEN	0x80000
+#endif
+
 OUTPUT_ARCH(powerpc)
 /* Do we need any of these for elf?
    __DYNAMIC = 0;    */
@@ -76,7 +82,7 @@  SECTIONS
     KEEP(arch/powerpc/cpu/mpc85xx/start.o (.bootpg))
   } :text = 0xffff
 
-  . = ADDR(.text) + 0x80000;
+  . = ADDR(.text) + CONFIG_SYS_MONITOR_LEN;
 
   __bss_start = .;
   .bss (NOLOAD)       :
diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
index 2af4c80..99473dd 100644
--- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
+++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
@@ -12,6 +12,10 @@ 
 #define RESET_VECTOR_ADDRESS	0xfffffffc
 #endif
 
+#ifndef CONFIG_SYS_MONITOR_LEN
+#define CONFIG_SYS_MONITOR_LEN	0x80000
+#endif
+
 OUTPUT_ARCH(powerpc)
 
 PHDRS
@@ -84,7 +88,7 @@  SECTIONS
   {
     KEEP(arch/powerpc/cpu/mpc85xx/start.o (.bootpg))
   } :text = 0xffff
-  . = ADDR(.text) + 0x80000;
+  . = ADDR(.text) + CONFIG_SYS_MONITOR_LEN;
 #else
   .bootpg RESET_VECTOR_ADDRESS - 0xffc :
   {