[U-Boot] [PATCH 01/2] powerpc/mpc85xx:Avoid fix address of bootpg section
Prabhakar Kushwaha
prabhakar at freescale.com
Thu Apr 3 06:02:22 CEST 2014
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 at 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 :
> {
More information about the U-Boot
mailing list