81 #define MPAPI_INLINE( _subsys, _api_func ) \ 82 SINGLE_API_INLINE ( MPAPI_PREFIX_ ## _subsys, _api_func ) 91 #define PROVIDE_MPAPI( _subsys, _api_func, _func ) \ 92 PROVIDE_SINGLE_API ( MPAPI_PREFIX_ ## _subsys, _api_func, _func ) 100 #define PROVIDE_MPAPI_INLINE( _subsys, _api_func ) \ 101 PROVIDE_SINGLE_API_INLINE ( MPAPI_PREFIX_ ## _subsys, _api_func ) mp_addr_t mp_address(void *address)
Calculate address as seen by a multiprocessor function.
uint64_t address
Base address.
unsigned int mp_boot_cpuid(void)
Get boot CPU identifier.
void mp_start_all(mp_func_t func, void *opaque)
Start a multiprocessor function on all application processors.
void __asmcall mp_call(mp_addr_t func, mp_addr_t opaque)
Call a multiprocessor function from C code on the current CPU.
mp_func_t mp_update_max_cpuid
Update maximum observed CPU identifier.
#define __asmcall
Declare a function with standard calling conventions.
void() mp_func_t(mp_addr_t opaque, unsigned int cpuid)
A multiprocessor function.
unsigned long mp_addr_t
An address within the address space for a multiprocessor function.
Null multiprocessor API implementation.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
EFI multiprocessor API implementation.
unsigned int mp_max_cpuid(void)
Get maximum CPU identifier.
void mp_exec_boot(mp_func_t func, void *opaque)
Execute a multiprocessor function on the boot processor.