mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 08:59:33 +00:00
0e1233ce90
At the start, OpenSBI relocates itself to its link address. If the link address ranges of U-Boot SPL and OpenSBI overlap, the relocation can lead to code corruption if a hart is still running U-Boot SPL during relocation. To avoid this problem, the main hart is specified as the preferred boot hart to perform the relocation. This fixes the code corruption problems based on the assumption that since the main hart schedules the secondary harts to enter OpenSBI, it will be the last to enter OpenSBI. However it was reported that this assumption is not always correct. To make sure the assumption always holds true, wait for all secondary harts to acknowledge the call-function request before entering OpenSBI on the main hart. Reported-by: Rick Chen <rick@andestech.com> Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Reviewed-by: Rick Chen <rick@andestech.com> Tested-by: Rick Chen <rick@andestech.com> Reviewed-by: Anup Patel <anup.patel@wdc.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
spl.c | ||
spl_atf.c | ||
spl_bootrom.c | ||
spl_dfu.c | ||
spl_ext.c | ||
spl_fat.c | ||
spl_fit.c | ||
spl_mmc.c | ||
spl_nand.c | ||
spl_net.c | ||
spl_nor.c | ||
spl_onenand.c | ||
spl_opensbi.c | ||
spl_optee.S | ||
spl_ram.c | ||
spl_sata.c | ||
spl_sdp.c | ||
spl_spi.c | ||
spl_ubi.c | ||
spl_usb.c | ||
spl_xip.c | ||
spl_ymodem.c |