coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
mp_service_ppi.c File Reference
#include <console/console.h>
#include <cpu/cpu.h>
#include <cpu/x86/mp.h>
#include <cpu/intel/microcode.h>
#include <fsp/api.h>
#include <fsp/ppi/mp_service_ppi.h>
#include <intelblocks/cpulib.h>
#include <intelblocks/mp_init.h>
#include <types.h>
Include dependency graph for mp_service_ppi.c:

Go to the source code of this file.

Macros

#define BSP_CPU_SLOT   0
 

Functions

efi_return_status_t mp_get_number_of_processors (efi_uintn_t *number_of_processors, efi_uintn_t *number_of_enabled_processors)
 
efi_return_status_t mp_get_processor_info (efi_uintn_t processor_number, efi_processor_information *processor_info_buffer)
 
efi_return_status_t mp_startup_all_aps (efi_ap_procedure procedure, bool run_serial, efi_uintn_t timeout_usec, void *argument)
 
efi_return_status_t mp_startup_all_cpus (efi_ap_procedure procedure, efi_uintn_t timeout_usec, void *argument)
 
efi_return_status_t mp_startup_this_ap (efi_ap_procedure procedure, efi_uintn_t processor_number, efi_uintn_t timeout_usec, void *argument)
 
efi_return_status_t mp_identify_processor (efi_uintn_t *processor_number)
 

Macro Definition Documentation

◆ BSP_CPU_SLOT

#define BSP_CPU_SLOT   0

Definition at line 13 of file mp_service_ppi.c.

Function Documentation

◆ mp_get_number_of_processors()

efi_return_status_t mp_get_number_of_processors ( efi_uintn_t number_of_processors,
efi_uintn_t number_of_enabled_processors 
)

Definition at line 15 of file mp_service_ppi.c.

References FSP_INVALID_PARAMETER, FSP_SUCCESS, get_cpu_count(), and NULL.

Referenced by mps1_get_number_of_processors(), and mps2_get_number_of_processors().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mp_get_processor_info()

efi_return_status_t mp_get_processor_info ( efi_uintn_t  processor_number,
efi_processor_information processor_info_buffer 
)

Definition at line 28 of file mp_service_ppi.c.

References BSP_CPU_SLOT, cpu_get_apic_id(), cpu_index(), FSP_DEVICE_ERROR, FSP_INVALID_PARAMETER, FSP_NOT_FOUND, FSP_SUCCESS, get_cpu_count(), get_cpu_topology_from_apicid(), and NULL.

Referenced by mps1_get_processor_info(), and mps2_get_processor_info().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mp_identify_processor()

efi_return_status_t mp_identify_processor ( efi_uintn_t processor_number)

Definition at line 143 of file mp_service_ppi.c.

References cpu_index(), FSP_DEVICE_ERROR, FSP_INVALID_PARAMETER, FSP_SUCCESS, and NULL.

Referenced by mps1_identify_processor(), and mps2_identify_processor().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mp_startup_all_aps()

efi_return_status_t mp_startup_all_aps ( efi_ap_procedure  procedure,
bool  run_serial,
efi_uintn_t  timeout_usec,
void argument 
)

Definition at line 66 of file mp_service_ppi.c.

References BIOS_DEBUG, CB_SUCCESS, cpu_index(), FSP_DEVICE_ERROR, FSP_INVALID_PARAMETER, FSP_NOT_STARTED, FSP_SUCCESS, mp_run_on_all_aps(), NULL, and printk.

Referenced by mps1_startup_all_aps(), and mps2_startup_all_aps().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mp_startup_all_cpus()

efi_return_status_t mp_startup_all_cpus ( efi_ap_procedure  procedure,
efi_uintn_t  timeout_usec,
void argument 
)

Definition at line 84 of file mp_service_ppi.c.

References BIOS_DEBUG, CB_SUCCESS, cpu_index(), FSP_DEVICE_ERROR, FSP_INVALID_PARAMETER, FSP_NOT_STARTED, FSP_SUCCESS, mp_run_on_all_aps(), NULL, and printk.

Referenced by mps2_startup_all_cpus().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mp_startup_this_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 
)

Definition at line 119 of file mp_service_ppi.c.

References BIOS_DEBUG, BSP_CPU_SLOT, CB_SUCCESS, cpu_index(), FSP_DEVICE_ERROR, FSP_INVALID_PARAMETER, FSP_NOT_FOUND, FSP_NOT_STARTED, FSP_SUCCESS, get_cpu_count(), mp_run_on_aps(), NULL, and printk.

Referenced by mps1_startup_this_ap(), and mps2_startup_this_ap().

Here is the call graph for this function:
Here is the caller graph for this function: