summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Przywara <andre.przywara@arm.com>2020-09-30 17:39:18 +0100
committerJun Nie <jun.nie@linaro.org>2021-03-04 17:39:19 +0800
commitcd8abc2fdae2b6173b8eaca27e4480323f6bb151 (patch)
tree5fd5795a951cb462a6d17fb6a8612a0e77b08e42
parent2ef2859b6ae34980fba7744ac7fd3426a86fbad1 (diff)
qemu-arm64: Enable POSITION_INDEPENDENTrel_imx_5.4.70_2.3.0-imx8mp-2020.04+efi
Now that PIE works when U-Boot is started from ROM, let's enable CONFIG_POSITION_INDEPENDENT, which allows to load U-Boot also via ARM Trusted-Firmware's fip.bin to DRAM, without tweaking the configuration. To get a writable initial stack, we need to keep the fixed initial stack pointer, which points to DRAM in our case. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Stephen Warren <swarren@nvidia.com>
-rw-r--r--arch/arm/Kconfig2
-rw-r--r--configs/qemu_arm64_defconfig2
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index fca24e0a25..9382c79895 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -23,6 +23,8 @@ config POSITION_INDEPENDENT
config INIT_SP_RELATIVE
bool "Specify the early stack pointer relative to the .bss section"
+ default n if ARCH_QEMU
+ default y if POSITION_INDEPENDENT
help
U-Boot typically uses a hard-coded value for the stack pointer
before relocation. Enable this option to instead calculate the
diff --git a/configs/qemu_arm64_defconfig b/configs/qemu_arm64_defconfig
index 8f5ff57299..6c4bb060f4 100644
--- a/configs/qemu_arm64_defconfig
+++ b/configs/qemu_arm64_defconfig
@@ -1,5 +1,7 @@
CONFIG_ARM=y
CONFIG_ARCH_QEMU=y
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_POSITION_INDEPENDENT=y
CONFIG_ENV_SIZE=0x40000
CONFIG_ENV_SECT_SIZE=0x40000
CONFIG_TARGET_QEMU_ARM_64BIT=y