summaryrefslogtreecommitdiff
path: root/src/include/cpu
diff options
context:
space:
mode:
authorAamir Bohra <aamir.bohra@intel.com>2021-03-05 09:41:20 +0530
committerTim Wawrzynczak <twawrzynczak@chromium.org>2021-03-11 15:53:58 +0000
commit7e0019ef209b6c552f03023255b9c75418fdb88a (patch)
tree37b1096149d2cd54dff0bd455d7e0ff574800383 /src/include/cpu
parenta5cdf75f690c2fb48d00df6ab4e7ba2bfd8a4480 (diff)
src/cpu/x86: Add helper mp_run_on_all_aps
Add a helper function mp_run_on_all_aps, it allows running a given func on all APs excluding the BSP, with an added provision to run func in serial manner per AP. BUG=b:169114674 Signed-off-by: Aamir Bohra <aamir.bohra@intel.com> Change-Id: I74ee8168eb6380e346590f2575350e0a6b73856e Reviewed-on: https://review.coreboot.org/c/coreboot/+/51271 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/include/cpu')
-rw-r--r--src/include/cpu/x86/mp.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/include/cpu/x86/mp.h b/src/include/cpu/x86/mp.h
index b2704eb5b0..bc44415fdb 100644
--- a/src/include/cpu/x86/mp.h
+++ b/src/include/cpu/x86/mp.h
@@ -125,6 +125,12 @@ enum {
int mp_run_on_aps(void (*func)(void *), void *arg, int logical_cpu_num,
long expire_us);
+/*
+ * Runs func on all APs excluding BSP, with a provision to run calls in parallel
+ * or serially per AP.
+ */
+int mp_run_on_all_aps(void (*func)(void *), void *arg, long expire_us, bool run_parallel);
+
/* Like mp_run_on_aps() but also runs func on BSP. */
int mp_run_on_all_cpus(void (*func)(void *), void *arg);