aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/intel/fsp2_0/fsp_mpinit.c
diff options
context:
space:
mode:
authorSubrata Banik <subrata.banik@intel.com>2020-07-31 12:09:11 +0530
committerSubrata Banik <subrata.banik@intel.com>2020-08-06 04:24:24 +0000
commit96b32f194bf6ed4de7d495acc0c50106cf3c72d7 (patch)
treed935fc989ffc6ef402153014cdbb90870aef7cac /src/drivers/intel/fsp2_0/fsp_mpinit.c
parenta3c33c6e21d341bac34612ebb9c6bbef91ad04e1 (diff)
drivers/intel/fsp2_0: Do AP re-init after FSP-S if USE_INTEL_FSP_MP_INIT enable
This patch ensures that coreboot is able to take control of APs back by doing a full AP re-initialization after FSP-S is done. TEST=Able to see all cores available after booting to OS using below command when coreboot is built with USE_INTEL_FSP_MP_INIT enable. > cat /proc/cpuinfo Without this CL : shows only 1 core (only BSP) With this CL : shows all possible cores available (BSP + APs) Change-Id: I247d8d1166c77bd01922323b6a0f14ec6640a666 Signed-off-by: Subrata Banik <subrata.banik@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/44077 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/drivers/intel/fsp2_0/fsp_mpinit.c')
-rw-r--r--src/drivers/intel/fsp2_0/fsp_mpinit.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/drivers/intel/fsp2_0/fsp_mpinit.c b/src/drivers/intel/fsp2_0/fsp_mpinit.c
new file mode 100644
index 0000000000..cda9269cb8
--- /dev/null
+++ b/src/drivers/intel/fsp2_0/fsp_mpinit.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <fsp/api.h>
+#include <intelblocks/mp_init.h>
+
+/*
+ * As per FSP integration guide:
+ * If bootloader needs to take control of APs back, a full AP re-initialization is
+ * required after FSP-S is completed and control has been transferred back to bootloader
+ */
+void do_mpinit_after_fsp(void)
+{
+ init_cpus();
+}