iPXE
efi_mp.h
Go to the documentation of this file.
1 #ifndef _IPXE_EFI_MP_H
2 #define _IPXE_EFI_MP_H
3 
4 /** @file
5  *
6  * EFI multiprocessor API implementation
7  *
8  */
9 
10 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
11 
12 #ifdef MPAPI_EFI
13 #define MPAPI_PREFIX_efi
14 #else
15 #define MPAPI_PREFIX_efi __efi_
16 #endif
17 
18 /**
19  * Calculate address as seen by a multiprocessor function
20  *
21  * @v address Address in boot processor address space
22  * @ret address Address in application processor address space
23  */
24 static inline __attribute__ (( always_inline )) mp_addr_t
25 MPAPI_INLINE ( efi, mp_address ) ( void *address ) {
26 
27  return ( ( mp_addr_t ) address );
28 }
29 
30 #endif /* _IPXE_EFI_MP_H */
uint64_t address
Base address.
Definition: ena.h:24
#define MPAPI_INLINE(_subsys, _api_func)
Calculate static inline multiprocessor API function name.
Definition: mp.h:81
static mp_address(void *address)
Calculate address as seen by a multiprocessor function.
Definition: efi_mp.h:25
static __attribute__((always_inline)) mp_addr_t MPAPI_INLINE(efi
Calculate address as seen by a multiprocessor function.
unsigned long mp_addr_t
An address within the address space for a multiprocessor function.
Definition: mp.h:24
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)