Skip to content

Commit

Permalink
fix(boot) refactoring DDR/startup broke AMP
Browse files Browse the repository at this point in the history
Fixing a regresson AMP booting by ensuring that all Harts are
checked for booting when restarting by bitmask.

Signed-off-by: Ivan Griffin <[email protected]>
  • Loading branch information
Ivan Griffin committed Feb 26, 2024
1 parent e0b171c commit b573459
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion services/boot/hss_boot_service.c
Original file line number Diff line number Diff line change
Expand Up @@ -877,9 +877,11 @@ enum IPIStatusCode HSS_Boot_RestartCores_Using_Bitmask(union HSSHartBitmask rest
mHSS_DEBUG_PRINTF(LOG_ERROR, "validation failed for Hart bitmask %x\n", restartHartBitmask.uint);
} else {
for (unsigned int source = HSS_HART_U54_1;
(source < HSS_HART_NUM_PEERS) && (restartHartBitmask.uint & (unsigned int)BIT(source)); source++) {
(source < HSS_HART_NUM_PEERS); source++) {
union HSSHartBitmask localRestartHartBitmask = { .uint = 0u };

if (!(restartHartBitmask.uint & (unsigned int)BIT(source))) { continue; }

// in interrupts-always-enabled world of the HSS, it would appear less
// racey to boot secondary cores first and have them all wait...
for (unsigned int i = 0u; i < ARRAY_SIZE(bootMachine); i++) {
Expand Down

0 comments on commit b573459

Please sign in to comment.