arm64: secmon: direct non-BSP cpus to start before BSP
The arch_run_on_all_cpus[_async]() APIs can run the BSP before the APs if the BSP's id is less than the APs' ids. Fix this by ensuring we run the necessary callback on all but self. BUG=chrome-os-partner:33532 BRANCH=None TEST=Booted spin table kernel. All CPUs are up. Change-Id: I87e944f870105dbde33b5460660c96c93c3cdf93 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/227488 Tested-by: David Riley <davidriley@chromium.org> Reviewed-by: Tom Warren <twarren@nvidia.com> Reviewed-by: Furquan Shaikh <furquan@chromium.org>
This commit is contained in:
parent
567f616ff0
commit
575437354c
1 changed files with 4 additions and 1 deletions
|
|
@ -70,7 +70,10 @@ static void secmon_init(struct secmon_params *params, int bsp)
|
|||
smc_init();
|
||||
psci_init();
|
||||
|
||||
arch_run_on_all_cpus_async(&action);
|
||||
/* Make sure all non-BSP CPUs take action before the BSP. */
|
||||
arch_run_on_all_cpus_but_self_async(&action);
|
||||
/* Turn on BSP. */
|
||||
start_up_cpu(NULL);
|
||||
|
||||
printk(BIOS_ERR, "CPU turn on failed for BSP.\n");
|
||||
while (1)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue