Skip to contentSkip to conversation

powerpc/mpc85xx:Avoid fix address of bootpg section

PATCH New Prabhakar Kushwaha 2 participants 6 messages Mar 31, 2014 – Apr 23, 2014 PowerPC

lore
Share & tools
lore
#0 lore raw

PATCH 1/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.

---
 arch/powerpc/cpu/mpc85xx/u-boot-nand.lds |    8 +++++++-
 arch/powerpc/cpu/mpc85xx/u-boot.lds      |    6 +++++-
 2 files changed, 12 insertions(+), 2 deletions(-)
arch/powerpc/cpu/mpc85xx/u-boot-nand.lds +7 -1
index df3b0f9..d77a6dc 100644
@@ -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)       :
arch/powerpc/cpu/mpc85xx/u-boot.lds +5 -1
index 2af4c80..99473dd 100644
@@ -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 :
   {
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/2 powerpc/mpc85xx:Avoid fix address of bootpg section

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

Quoted 60 lines · Prabhakar Kushwaha

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.

---
  arch/powerpc/cpu/mpc85xx/u-boot-nand.lds |    8 +++++++-
  arch/powerpc/cpu/mpc85xx/u-boot.lds      |    6 +++++-
  2 files changed, 12 insertions(+), 2 deletions(-)
arch/powerpc/cpu/mpc85xx/u-boot-nand.lds +7 -1
index df3b0f9..d77a6dc 100644
@@ -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)       :
arch/powerpc/cpu/mpc85xx/u-boot.lds +5 -1
index 2af4c80..99473dd 100644
@@ -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 :
    {
#2 lore raw

PATCH 1/2 powerpc/mpc85xx:Avoid fix address of bootpg section

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

Quoted 89 lines · Prabhakar Kushwaha

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

Quoted 49 lines · Prabhakar Kushwaha

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.

---
  arch/powerpc/cpu/mpc85xx/u-boot-nand.lds |    8 +++++++-
  arch/powerpc/cpu/mpc85xx/u-boot.lds      |    6 +++++-
  2 files changed, 12 insertions(+), 2 deletions(-)
arch/powerpc/cpu/mpc85xx/u-boot-nand.lds +6 -0
index df3b0f9..d77a6dc 100644
@@ -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)       :
arch/powerpc/cpu/mpc85xx/u-boot.lds +3 -0
index 2af4c80..99473dd 100644
@@ -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

arch/powerpc/cpu/mpc85xx/u-boot.lds SECTIONS · line 94

Quoted 8 lines
arch/powerpc/cpu/mpc85xx/u-boot.lds +1 -1
@@ -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 at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#3 lore raw

PATCH 1/2 powerpc/mpc85xx:Avoid fix address of bootpg section

In reply to Prabhakar Kushwaha
Quoted 9 lines · Prabhakar Kushwaha

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.

Quoted 9 lines

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

#4 lore raw

PATCH 1/2 powerpc/mpc85xx:Avoid fix address of bootpg section

Quoted 15 lines · York Sun
Quoted 14 lines · Prabhakar Kushwaha

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.

Quoted 9 lines
Quoted 4 lines

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