iPXE
null_mp.h
Go to the documentation of this file.
1#ifndef _IPXE_NULL_MP_H
2#define _IPXE_NULL_MP_H
3
4/** @file
5 *
6 * Null multiprocessor API implementation
7 *
8 */
9
10FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
11
12#ifdef MPAPI_NULL
13#define MPAPI_PREFIX_null
14#else
15#define MPAPI_PREFIX_null __null_
16#endif
17
18static inline __attribute__ (( always_inline )) mp_addr_t
19MPAPI_INLINE ( null, mp_address ) ( void *address ) {
20
21 return ( ( mp_addr_t ) address );
22}
23
24static inline __attribute__ (( always_inline )) void
26 void *opaque __unused ) {
27 /* Do nothing */
28}
29
30static inline __attribute__ (( always_inline )) void
32 void *opaque __unused ) {
33 /* Do nothing */
34}
35
36#endif /* _IPXE_NULL_MP_H */
static mp_address(void *address)
Calculate address as seen by a multiprocessor function.
Definition bios_mp.h:27
uint64_t address
Base address.
Definition ena.h:13
#define __unused
Declare a variable or data structure as unused.
Definition compiler.h:573
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define __attribute__(x)
Definition compiler.h:10
void mp_exec_boot(mp_func_t func, void *opaque)
Execute a multiprocessor function on the boot processor.
void mp_start_all(mp_func_t func, void *opaque)
Start a multiprocessor function on all application processors.
void mp_func_t(mp_addr_t opaque, unsigned int cpuid)
A multiprocessor function.
Definition mp.h:51
#define MPAPI_INLINE(_subsys, _api_func)
Calculate static inline multiprocessor API function name.
Definition mp.h:81
unsigned long mp_addr_t
An address within the address space for a multiprocessor function.
Definition mp.h:24