Message ID | 20220714134733.7487-1-stefan.herbrechtsmeier-oss@weidmueller.com |
---|---|
State | Accepted |
Commit | fcbc43bd508afbb5b7ffa9682dc22e1f5e0912d4 |
Delegated to: | Michal Simek |
Headers | show |
Series | [v3] xilinx: zynqmp: Do not use 0 as spl bss start address | expand |
On 7/14/22 15:47, Stefan Herbrechtsmeier wrote: > From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@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@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
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