summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/drivers/intel/fsp2_0/include/fsp/ppi/mp_service_ppi.h2
-rw-r--r--src/drivers/intel/fsp2_0/ppi/mp_service1.c4
-rw-r--r--src/drivers/intel/fsp2_0/ppi/mp_service2.c4
-rw-r--r--src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c5
4 files changed, 7 insertions, 8 deletions
diff --git a/src/drivers/intel/fsp2_0/include/fsp/ppi/mp_service_ppi.h b/src/drivers/intel/fsp2_0/include/fsp/ppi/mp_service_ppi.h
index 3c30063111..7855d2d738 100644
--- a/src/drivers/intel/fsp2_0/include/fsp/ppi/mp_service_ppi.h
+++ b/src/drivers/intel/fsp2_0/include/fsp/ppi/mp_service_ppi.h
@@ -24,7 +24,7 @@ efi_return_status_t mp_get_processor_info(efi_uintn_t processor_number,
/* executes a caller provided function on all enabled APs */
efi_return_status_t mp_startup_all_aps(efi_ap_procedure procedure,
- efi_uintn_t timeout_usec, void *argument);
+ bool run_serial, efi_uintn_t timeout_usec, void *argument);
/* executes a caller provided function on all enabled APs + BSP */
efi_return_status_t mp_startup_all_cpus(efi_ap_procedure procedure,
diff --git a/src/drivers/intel/fsp2_0/ppi/mp_service1.c b/src/drivers/intel/fsp2_0/ppi/mp_service1.c
index 7d351e40f4..bbc78a0c75 100644
--- a/src/drivers/intel/fsp2_0/ppi/mp_service1.c
+++ b/src/drivers/intel/fsp2_0/ppi/mp_service1.c
@@ -23,10 +23,10 @@ static efi_return_status_t mps1_get_processor_info(const
static efi_return_status_t mps1_startup_all_aps(const
efi_pei_services **ignored1, efi_pei_mp_services_ppi *ignored2,
- efi_ap_procedure procedure, efi_boolean_t ignored3,
+ efi_ap_procedure procedure, efi_boolean_t run_serial,
efi_uintn_t timeout_usec, void *argument)
{
- return mp_startup_all_aps(procedure, timeout_usec, argument);
+ return mp_startup_all_aps(procedure, run_serial, timeout_usec, argument);
}
static efi_return_status_t mps1_startup_this_ap(const
diff --git a/src/drivers/intel/fsp2_0/ppi/mp_service2.c b/src/drivers/intel/fsp2_0/ppi/mp_service2.c
index 8d27b16e77..c7d4764e29 100644
--- a/src/drivers/intel/fsp2_0/ppi/mp_service2.c
+++ b/src/drivers/intel/fsp2_0/ppi/mp_service2.c
@@ -24,10 +24,10 @@ static efi_return_status_t mps2_get_processor_info(
static efi_return_status_t mps2_startup_all_aps(
efi_pei_mp_services_ppi *ignored1,
- efi_ap_procedure procedure, efi_boolean_t ignored2,
+ efi_ap_procedure procedure, efi_boolean_t run_serial,
efi_uintn_t timeout_usec, void *argument)
{
- return mp_startup_all_aps(procedure, timeout_usec, argument);
+ return mp_startup_all_aps(procedure, run_serial, timeout_usec, argument);
}
static efi_return_status_t mps2_startup_all_cpus(
diff --git a/src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c b/src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c
index 29a02b108c..a795c722a6 100644
--- a/src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c
+++ b/src/drivers/intel/fsp2_0/ppi/mp_service_ppi.c
@@ -64,7 +64,7 @@ efi_return_status_t mp_get_processor_info(efi_uintn_t processor_number,
}
efi_return_status_t mp_startup_all_aps(efi_ap_procedure procedure,
- efi_uintn_t timeout_usec, void *argument)
+ bool run_serial, efi_uintn_t timeout_usec, void *argument)
{
if (cpu_index() < 0)
return FSP_DEVICE_ERROR;
@@ -72,8 +72,7 @@ efi_return_status_t mp_startup_all_aps(efi_ap_procedure procedure,
if (procedure == NULL)
return FSP_INVALID_PARAMETER;
- if (mp_run_on_aps((void *)procedure, argument,
- MP_RUN_ON_ALL_CPUS, timeout_usec)) {
+ if (mp_run_on_all_aps((void *)procedure, argument, timeout_usec, !run_serial)) {
printk(BIOS_DEBUG, "%s: Exit with Failure\n", __func__);
return FSP_NOT_STARTED;
}