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

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 : {

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 : {

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

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

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

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
participants (2)
-
Prabhakar Kushwaha
-
York Sun