aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordong.yang <dong.yang@sophgo.com>2024-09-13 12:36:39 +0800
committerAnup Patel <anup@brainfault.org>2024-09-27 11:05:37 +0530
commit3e141a6950a276632439b202b220e49f3ae6969b (patch)
treef471b4adf19a78ce2ab70453465a5ca9c0559f7f /include
parent7b3de48cd583dbd8c0b9efa65f417c4e5d5a6b79 (diff)
downloadopensbi-3e141a6950a276632439b202b220e49f3ae6969b.zip
opensbi-3e141a6950a276632439b202b220e49f3ae6969b.tar.gz
opensbi-3e141a6950a276632439b202b220e49f3ae6969b.tar.bz2
firmware: fw_base.S: fix multi-core boot bug.
In a multi-core startup scenario, if both _try_lottery and _wait_for_boot_hart use the data in the _boot_status address, when a CPU enters OpenSBI later than boot hart set the _boot_status to BOOT_STATUS_BOOT_HART_DONE, the CPU will modify _boot_status to 1 by amoswap.w and will never be awakened in _wait_for_boot_hart. So let _try_lottery and _boot_status use data from two addresses. Fixes: 8151105af5e4 ("firmware: fw_base.S: Remove _relocate_lottery") Signed-off-by: dong.yang <dong.yang@sophgo.com> Reviewed-by: Xing Xiaoguang <xiaoguang.xing@sophgo.com> Reviewed-by: Xiang W <wxjstz@126.com> Reviewed-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions