summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Przywara <[email protected]>2020-09-30 17:39:18 +0100
committerTom Rini <[email protected]>2020-10-08 11:42:36 -0400
commitf5cb6c3081dfbd36dd0be9b9f4b42a6885b640b9 (patch)
tree6f3f40e4e228f8698b1357e52fb14309022ea96d
parentf8df0560b6671285d6293986d58bdb968a49f209 (diff)
qemu-arm64: Enable POSITION_INDEPENDENT
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 <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--configs/qemu_arm64_defconfig1
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 0ecd0c67f35..a067a076769 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -22,6 +22,7 @@ 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
diff --git a/configs/qemu_arm64_defconfig b/configs/qemu_arm64_defconfig
index 31ea2d342fc..4450e7ced42 100644
--- a/configs/qemu_arm64_defconfig
+++ b/configs/qemu_arm64_defconfig
@@ -1,6 +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_AHCI=y