[PATCH v3] xilinx: zynqmp: Do not use 0 as spl bss start address

Michal Simek michal.simek at amd.com
Fri Jul 15 09:37:07 CEST 2022



On 7/14/22 15:47, Stefan Herbrechtsmeier wrote:
> From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>
> 
> Do not use 0 as address for memory because of the special meaning for
> pointers (null pointer). Change the spl bss start address to the second
> page.
> 
> Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>
> 
> ---
> 
> Changes in v3:
> - Switch to Kconfig
> 
> Changes in v2:
> - Rework commit message and replace address null by 0
> 
>   common/spl/Kconfig                                             | 3 ++-
>   configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig | 2 --
>   configs/xilinx_zynqmp_mini_emmc0_defconfig                     | 2 --
>   configs/xilinx_zynqmp_mini_emmc1_defconfig                     | 2 --
>   configs/xilinx_zynqmp_mini_qspi_defconfig                      | 2 --
>   configs/xilinx_zynqmp_virt_defconfig                           | 2 --
>   6 files changed, 2 insertions(+), 11 deletions(-)
> 
> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> index 931619c366..6ecf517333 100644
> --- a/common/spl/Kconfig
> +++ b/common/spl/Kconfig
> @@ -107,7 +107,7 @@ config SPL_PAD_TO
>   config SPL_HAS_BSS_LINKER_SECTION
>   	depends on SPL_FRAMEWORK
>   	bool "Use a specific address for the BSS via the linker script"
> -	default y if ARCH_SUNXI || ARCH_MX6 || ARCH_OMAP2PLUS || MIPS || RISCV
> +	default y if ARCH_SUNXI || ARCH_MX6 || ARCH_OMAP2PLUS || MIPS || RISCV || ARCH_ZYNQMP
>   
>   config SPL_BSS_START_ADDR
>   	hex "Link address for the BSS within the SPL binary"
> @@ -118,6 +118,7 @@ config SPL_BSS_START_ADDR
>   	default 0x81f80000 if ARCH_SUNXI && MACH_SUNIV
>   	default 0x4ff80000 if ARCH_SUNXI && !(MACH_SUN9I || MACH_SUNIV)
>   	default 0x2ff80000 if ARCH_SUNXI && MACH_SUN9I
> +	default 0x1000 if ARCH_ZYNQMP
>   
>   choice
>   	prompt "Enforce SPL BSS limit"
> diff --git a/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig b/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
> index 0574ee95e4..f04fa64450 100644
> --- a/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
> +++ b/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
> @@ -27,8 +27,6 @@ CONFIG_BOOTDELAY=0
>   # CONFIG_DISPLAY_CPUINFO is not set
>   CONFIG_CLOCKS=y
>   CONFIG_SPL_MAX_SIZE=0x40000
> -CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
> -CONFIG_SPL_BSS_START_ADDR=0x0
>   CONFIG_SPL_BSS_MAX_SIZE=0x80000
>   # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>   CONFIG_SPL_STACK=0xfffffffc
> diff --git a/configs/xilinx_zynqmp_mini_emmc0_defconfig b/configs/xilinx_zynqmp_mini_emmc0_defconfig
> index a248cbf3a3..c481a6917f 100644
> --- a/configs/xilinx_zynqmp_mini_emmc0_defconfig
> +++ b/configs/xilinx_zynqmp_mini_emmc0_defconfig
> @@ -25,8 +25,6 @@ CONFIG_BOARD_EARLY_INIT_R=y
>   # CONFIG_BOARD_LATE_INIT is not set
>   CONFIG_CLOCKS=y
>   CONFIG_SPL_MAX_SIZE=0x40000
> -CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
> -CONFIG_SPL_BSS_START_ADDR=0x0
>   CONFIG_SPL_BSS_MAX_SIZE=0x80000
>   # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>   CONFIG_SPL_STACK=0xfffffffc
> diff --git a/configs/xilinx_zynqmp_mini_emmc1_defconfig b/configs/xilinx_zynqmp_mini_emmc1_defconfig
> index df0365ba77..b02fec64d1 100644
> --- a/configs/xilinx_zynqmp_mini_emmc1_defconfig
> +++ b/configs/xilinx_zynqmp_mini_emmc1_defconfig
> @@ -25,8 +25,6 @@ CONFIG_BOARD_EARLY_INIT_R=y
>   # CONFIG_BOARD_LATE_INIT is not set
>   CONFIG_CLOCKS=y
>   CONFIG_SPL_MAX_SIZE=0x40000
> -CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
> -CONFIG_SPL_BSS_START_ADDR=0x0
>   CONFIG_SPL_BSS_MAX_SIZE=0x80000
>   # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>   CONFIG_SPL_STACK=0xfffffffc
> diff --git a/configs/xilinx_zynqmp_mini_qspi_defconfig b/configs/xilinx_zynqmp_mini_qspi_defconfig
> index 82510f1904..49e2758d64 100644
> --- a/configs/xilinx_zynqmp_mini_qspi_defconfig
> +++ b/configs/xilinx_zynqmp_mini_qspi_defconfig
> @@ -24,8 +24,6 @@ CONFIG_REMAKE_ELF=y
>   # CONFIG_BOARD_LATE_INIT is not set
>   CONFIG_CLOCKS=y
>   CONFIG_SPL_MAX_SIZE=0x40000
> -CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
> -CONFIG_SPL_BSS_START_ADDR=0x0
>   CONFIG_SPL_BSS_MAX_SIZE=0x80000
>   # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>   CONFIG_SPL_STACK=0xfffffffc
> diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig
> index 89622d18f8..6776bd9d5d 100644
> --- a/configs/xilinx_zynqmp_virt_defconfig
> +++ b/configs/xilinx_zynqmp_virt_defconfig
> @@ -32,8 +32,6 @@ CONFIG_PREBOOT="run scsi_init;usb start"
>   CONFIG_BOARD_EARLY_INIT_R=y
>   CONFIG_CLOCKS=y
>   CONFIG_SPL_MAX_SIZE=0x40000
> -CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
> -CONFIG_SPL_BSS_START_ADDR=0x0
>   CONFIG_SPL_BSS_MAX_SIZE=0x80000
>   # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>   CONFIG_SPL_STACK=0xfffffffc


Applied.
M


More information about the U-Boot mailing list