aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/intel/fsp2_0/include/fsp/ppi/mp_service_ppi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/intel/fsp2_0/include/fsp/ppi/mp_service_ppi.h')
-rw-r--r--src/drivers/intel/fsp2_0/include/fsp/ppi/mp_service_ppi.h36
1 files changed, 31 insertions, 5 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 836e996631..3c30063111 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
@@ -11,10 +11,36 @@
#include <efi/efi_datatype.h>
#include <fsp/soc_binding.h>
-/*
- * SOC must call this function to get required EFI_PEI_MP_SERVICES_PPI
- * structure.
- */
-efi_pei_mp_services_ppi *mp_fill_ppi_services_data(void);
+/* SOC must call this function to get required EFI_PEI_MP_SERVICES_PPI structure */
+void *mp_fill_ppi_services_data(void);
+
+/* get the number of logical processors in the platform */
+efi_return_status_t mp_get_number_of_processors(efi_uintn_t *number_of_processors,
+ efi_uintn_t *number_of_enabled_processors);
+
+/* get processor info such as id, status */
+efi_return_status_t mp_get_processor_info(efi_uintn_t processor_number,
+ efi_processor_information *processor_info_buffer);
+
+/* 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);
+
+/* executes a caller provided function on all enabled APs + BSP */
+efi_return_status_t mp_startup_all_cpus(efi_ap_procedure procedure,
+ efi_uintn_t timeout_usec, void *argument);
+
+/* executes a caller provided function on specific AP */
+efi_return_status_t mp_startup_this_ap(efi_ap_procedure procedure,
+ efi_uintn_t processor_number, efi_uintn_t timeout_usec, void *argument);
+
+/* get the processor instance */
+efi_return_status_t mp_identify_processor(efi_uintn_t *processor_number);
+
+/* for the APIs that are not supported/required */
+static inline efi_return_status_t mp_api_unsupported(void)
+{
+ return FSP_UNSUPPORTED;
+}
#endif /* MP_SERVICE_PPI_H */