Add EFI MP services protocol structures
This commit is contained in:
parent
a2af4841da
commit
d083d00ab1
@ -135,6 +135,7 @@ typedef struct _EFI_MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH EFI_MEDIA_RELATIVE_O
|
||||
typedef struct _EFI_MEMMAP_DEVICE_PATH EFI_MEMMAP_DEVICE_PATH, *PEFI_MEMMAP_DEVICE_PATH;
|
||||
typedef struct _EFI_MEMORY_DESCRIPTOR EFI_MEMORY_DESCRIPTOR, *PEFI_MEMORY_DESCRIPTOR;
|
||||
typedef struct _EFI_MEMORY_MAP EFI_MEMORY_MAP, *PEFI_MEMORY_MAP;
|
||||
typedef struct _EFI_MP_SERVICES_PROTOCOL EFI_MP_SERVICES_PROTOCOL, *PEFI_MP_SERVICES_PROTOCOL;
|
||||
typedef struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL, *PEFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE;
|
||||
typedef struct _EFI_NETWORK_STATISTICS EFI_NETWORK_STATISTICS, *PEFI_NETWORK_STATISTICS;
|
||||
typedef struct _EFI_OPEN_PROTOCOL_INFORMATION_ENTRY EFI_OPEN_PROTOCOL_INFORMATION_ENTRY, *PEFI_OPEN_PROTOCOL_INFORMATION_ENTRY;
|
||||
@ -149,6 +150,8 @@ typedef struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS EFI_PCI_ROOT_BRIDGE_IO_PR
|
||||
typedef struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS, *PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS;
|
||||
typedef struct _EFI_PIXEL_BITMASK EFI_PIXEL_BITMASK, *PEFI_PIXEL_BITMASK;
|
||||
typedef struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL, *PEFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL;
|
||||
typedef struct _EFI_PROCESSOR_INFORMATION EFI_PROCESSOR_INFORMATION, *PEFI_PROCESSOR_INFORMATION;
|
||||
typedef struct _EFI_PROCESSOR_PHYSICAL_LOCATION EFI_PROCESSOR_PHYSICAL_LOCATION, *PEFI_PROCESSOR_PHYSICAL_LOCATION;
|
||||
typedef struct _EFI_PXE_BASE_CODE_ARP_ENTRY EFI_PXE_BASE_CODE_ARP_ENTRY, *PEFI_PXE_BASE_CODE_ARP_ENTRY;
|
||||
typedef struct _EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL, *PEFI_PXE_BASE_CODE_CALLBACK_PROTOCOL;
|
||||
typedef struct _EFI_PXE_BASE_CODE_DHCPV4_PACKET EFI_PXE_BASE_CODE_DHCPV4_PACKET, *PEFI_PXE_BASE_CODE_DHCPV4_PACKET;
|
||||
|
@ -213,6 +213,14 @@
|
||||
#define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS 0x08
|
||||
#define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS_MULTICAST 0x10
|
||||
|
||||
/* EFI Processor StatusFlag bits */
|
||||
#define EFI_PROCESSOR_AS_BSP_BIT 0x00000001
|
||||
#define EFI_PROCESSOR_ENABLED_BIT 0x00000002
|
||||
#define EFI_ROCESSOR_HEALTH_STATUS_BIT 0x00000004
|
||||
|
||||
/* EFI list of failed CPUs termination */
|
||||
#define EFI_PROCESSOR_END_OF_LIST 0xFFFFFFFF
|
||||
|
||||
/* EFI protocols GUIDs */
|
||||
#define EFI_BLOCK_IO_PROTOCOL_GUID {0x964E5B21, 0x6459, 0x11D2, {0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
||||
#define EFI_BLOCK_IO2_PROTOCOL_GUID {0xA77B2472, 0xE282, 0x4E9F, {0xA2, 0x45, 0xC2, 0xC0, 0xE2, 0x7B, 0xBC, 0xC1}}
|
||||
@ -242,6 +250,7 @@
|
||||
#define EFI_LOAD_FILE_PROTOCOL_GUID {0x56EC3091, 0x954C, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
||||
#define EFI_LOADED_IMAGE_PROTOCOL_GUID {0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
||||
#define EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID {0xBC62157E, 0x3E33, 0x4FEC, {0x99, 0x20, 0x2D, 0x3B, 0x36, 0xD7, 0x50, 0xDF}}
|
||||
#define EFI_MP_SERVICES_PROTOCOL_GUID {0x3FDDA605, 0xA76E, 0x4F46, {0xAD, 0x29, 0x12, 0xF4, 0x53, 0x1B, 0x3D, 0x08}}
|
||||
#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID {0xE18541CD, 0xF755, 0x4f73, {0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29}}
|
||||
#define EFI_PCI_IO_PROTOCOL_GUID {0x4CF5B200, 0x68B8, 0x4CA5, {0x9E, 0xEC, 0xB2, 0x3E, 0x3F, 0x50, 0x02, 0x9A}}
|
||||
#define EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID {0x2F707EBB, 0x4A1A, 0x11d4, {0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}}
|
||||
@ -729,6 +738,14 @@ typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_SET_PARAMETERS)(IN PEFI_PXE_BASE_CODE_PR
|
||||
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_SET_STATION_IP)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN PEFI_IP_ADDRESS NewStationIp, IN PEFI_IP_ADDRESS NewSubnetMask);
|
||||
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_SET_PACKETS)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, PUCHAR NewDhcpDiscoverValid, PUCHAR NewDhcpAckReceived, PUCHAR NewProxyOfferReceived, PUCHAR NewPxeDiscoverValid, PUCHAR NewPxeReplyReceived, PUCHAR NewPxeBisReplyReceived, IN PEFI_PXE_BASE_CODE_PACKET NewDhcpDiscover, IN PEFI_PXE_BASE_CODE_PACKET NewDhcpAck, IN PEFI_PXE_BASE_CODE_PACKET NewProxyOffer, IN PEFI_PXE_BASE_CODE_PACKET NewPxeDiscover, IN PEFI_PXE_BASE_CODE_PACKET NewPxeReply, IN PEFI_PXE_BASE_CODE_PACKET NewPxeBisReply);
|
||||
typedef EFI_PXE_BASE_CODE_CALLBACK_STATUS (*PEFI_PXE_CALLBACK)(IN PEFI_PXE_BASE_CODE_CALLBACK_PROTOCOL This, IN EFI_PXE_BASE_CODE_FUNCTION Function, IN UCHAR Received, IN UINT32 PacketLen, IN PEFI_PXE_BASE_CODE_PACKET Packet);
|
||||
typedef VOID (*PEFI_AP_PROCEDURE)(IN OUT PVOID Buffer);
|
||||
typedef EFI_STATUS (*PEFI_MP_SERVICES_ENABLEDISABLEAP)(IN PEFI_MP_SERVICES_PROTOCOL This, IN UINT_PTR ProcessorNumber, IN BOOLEAN EnableAP, IN PUINT32 HealthFlag);
|
||||
typedef EFI_STATUS (*PEFI_MP_SERVICES_GET_NUMBER_OF_PROCESSORS)(IN PEFI_MP_SERVICES_PROTOCOL This, OUT PUINT_PTR NumberOfProcessors, OUT PUINT_PTR NumberOfEnabledProcessors);
|
||||
typedef EFI_STATUS (*PEFI_MP_SERVICES_GET_PROCESSOR_INFO)(IN PEFI_MP_SERVICES_PROTOCOL This, IN UINT_PTR ProcessorNumber, OUT PEFI_PROCESSOR_INFORMATION ProcessorInfoBuffer);
|
||||
typedef EFI_STATUS (*PEFI_MP_SERVICES_STARTUP_ALL_APS)(IN PEFI_MP_SERVICES_PROTOCOL This, IN PEFI_AP_PROCEDURE Procedure, IN BOOLEAN SingleThread, IN EFI_EVENT WaitEvent, IN UINT_PTR TimeoutInMicroSeconds, IN PVOID ProcedureArgument, OUT PUINT_PTR *FailedCpuList);
|
||||
typedef EFI_STATUS (*PEFI_MP_SERVICES_STARTUP_THIS_AP)(IN PEFI_MP_SERVICES_PROTOCOL This, IN PEFI_AP_PROCEDURE Procedure, IN UINT_PTR ProcessorNumber, IN EFI_EVENT WaitEvent, IN UINT_PTR TimeoutInMicroseconds, IN PVOID ProcedureArgument, OUT PBOOLEAN Finished);
|
||||
typedef EFI_STATUS (*PEFI_MP_SERVICES_SWITCH_BSP)(IN PEFI_MP_SERVICES_PROTOCOL This, IN UINT_PTR ProcessorNumber, IN BOOLEAN EnableOldBSP);
|
||||
typedef EFI_STATUS (*PEFI_MP_SERVICES_WHOAMI)(IN PEFI_MP_SERVICES_PROTOCOL This, OUT PUINT_PTR ProcessorNumber);
|
||||
|
||||
/* 128-bit buffer containing a unique identifier value */
|
||||
typedef struct _EFI_GUID
|
||||
@ -2285,4 +2302,32 @@ typedef struct _EFI_SIMPLE_NETWORK_PROTOCOL
|
||||
PEFI_SIMPLE_NETWORK_MODE Mode;
|
||||
} EFI_SIMPLE_NETWORK_PROTOCOL, *PEFI_SIMPLE_NETWORK_PROTOCOL;
|
||||
|
||||
/* EFI MP (Multiprocessor) services protocol */
|
||||
typedef struct _EFI_MP_SERVICES_PROTOCOL
|
||||
{
|
||||
PEFI_MP_SERVICES_GET_NUMBER_OF_PROCESSORS GetNumberOfProcessors;
|
||||
PEFI_MP_SERVICES_GET_PROCESSOR_INFO GetProcessorInfo;
|
||||
PEFI_MP_SERVICES_STARTUP_ALL_APS StartupAllAPs;
|
||||
PEFI_MP_SERVICES_STARTUP_THIS_AP StartupThisAP;
|
||||
PEFI_MP_SERVICES_SWITCH_BSP SwitchBSP;
|
||||
PEFI_MP_SERVICES_ENABLEDISABLEAP EnableDisableAP;
|
||||
PEFI_MP_SERVICES_WHOAMI WhoAmI;
|
||||
} EFI_MP_SERVICES_PROTOCOL, *PEFI_MP_SERVICES_PROTOCOL;
|
||||
|
||||
/* EFI processor physical location structure */
|
||||
typedef struct _EFI_PROCESSOR_PHYSICAL_LOCATION
|
||||
{
|
||||
UINT32 Package;
|
||||
UINT32 Core;
|
||||
UINT32 Thread;
|
||||
} EFI_PROCESSOR_PHYSICAL_LOCATION, *PEFI_PROCESSOR_PHYSICAL_LOCATION;
|
||||
|
||||
/* EFI processor information structure */
|
||||
typedef struct _EFI_PROCESSOR_INFORMATION
|
||||
{
|
||||
UINT64 ProcessorId;
|
||||
UINT32 StatusFlag;
|
||||
EFI_PROCESSOR_PHYSICAL_LOCATION Location;
|
||||
} EFI_PROCESSOR_INFORMATION, *PEFI_PROCESSOR_INFORMATION;
|
||||
|
||||
#endif /* __XTDK_XTUEFI_H */
|
||||
|
Loading…
Reference in New Issue
Block a user