Message ID | 20200924001715.30975-6-andre.przywara@arm.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Series | qemu-arm64: Allow booting via Trusted Firmware | expand |
On 9/23/20 6:17 PM, Andre Przywara wrote: > 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. Patches 1,2,5: Reviewed-by: Stephen Warren <swarren@nvidia.com> I guess we'll need to add/modify a patch to re-enable STATIC_RELA.
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index dde8c4c3644..6e754936675 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
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> --- arch/arm/Kconfig | 1 + configs/qemu_arm64_defconfig | 1 + 2 files changed, 2 insertions(+)