13 #define BSP_CPU_SLOT 0
18 if (number_of_processors ==
NULL || number_of_enabled_processors ==
37 if (processor_info_buffer ==
NULL)
48 processor_info_buffer->ProcessorId = apicid;
50 processor_info_buffer->StatusFlag = PROCESSOR_HEALTH_STATUS_BIT
51 | PROCESSOR_ENABLED_BIT;
54 processor_info_buffer->StatusFlag |= PROCESSOR_AS_BSP_BIT;
59 processor_info_buffer->Location.Package = package;
60 processor_info_buffer->Location.Core = core;
61 processor_info_buffer->Location.Thread = thread;
67 bool run_serial,
efi_uintn_t timeout_usec,
void *argument)
72 if (procedure ==
NULL)
90 if (procedure ==
NULL)
131 if (procedure ==
NULL)
135 processor_number, timeout_usec) !=
CB_SUCCESS) {
147 if (processor_number ==
NULL)
155 *processor_number = index;
int cpu_get_apic_id(int logical_cpu)
@ CB_SUCCESS
Call completed successfully.
#define printk(level,...)
enum cb_err mp_run_on_all_aps(void(*func)(void *), void *arg, long expire_us, bool run_parallel)
enum cb_err mp_run_on_aps(void(*func)(void *), void *arg, int logical_cpu_num, long expire_us)
void get_cpu_topology_from_apicid(uint32_t apicid, uint8_t *package, uint8_t *core, uint8_t *thread)
void(EFIAPI * efi_ap_procedure)(void *buffer)
EFI_STATUS efi_return_status_t
EFI_PROCESSOR_INFORMATION efi_processor_information
#define FSP_INVALID_PARAMETER
static int get_cpu_count(void)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
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_identify_processor(efi_uintn_t *processor_number)
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_all_aps(efi_ap_procedure procedure, bool run_serial, 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)