diff options
Diffstat (limited to 'src/drivers/intel/fsp2_0/include/fsp')
-rw-r--r-- | src/drivers/intel/fsp2_0/include/fsp/ppi/mp_service_ppi.h | 36 |
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 */ |