Firmware SMP boot bug
The cold-boot-hart lottery in fw_base.S has recently been modified by using the _boot_status variable instead of the _relocate_lottery variable. This introduces a data race since the _boot_status variable is also written by the cold-boot hart to indicate the current boot stage without waiting for the other cores to have completed the lottery. If a non-boot hart enters the lottery when the boot-hart has already completed relocation _boot_status is overwritten and the non-boot hart is stuck forever in _wait_for_boot_hart.
The change has been introduced in this commit.
Can you send a patch to fix this?
We have mailing list based patch review so it would be great if you can send these patchs to OpenSBI mailing list.
You need to join OpenSBI mailing list using following link http://lists.infradead.org/mailman/listinfo/opensbi
Make sure you use "git send-email" to send the patches.
Regards, Anup
Patch here: https://lists.infradead.org/pipermail/opensbi/2024-September/007375.html
Regards, Xiang W
The patch fixes the firmware SMP boot bug. Was this patch applied to the fw_base.S file, and if so, in which version or commit?
Fixes: 8151105af5e4 ("firmware: fw_base.S: Remove _relocate_lottery")