EFI PCI I/O protocol related structures
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
This commit is contained in:
parent
a8d1fab287
commit
e686206b84
@ -100,6 +100,56 @@ typedef enum _EFI_MEMORY_TYPE
|
||||
EfiMaxMemoryType
|
||||
} EFI_MEMORY_TYPE, *PEFI_MEMORY_TYPE;
|
||||
|
||||
/* Enumeration of PCI I/O protocol widths */
|
||||
typedef enum _EFI_PCI_IO_PROTOCOL_WIDTH
|
||||
{
|
||||
EfiPciIoWidthUint8,
|
||||
EfiPciIoWidthUint16,
|
||||
EfiPciIoWidthUint32,
|
||||
EfiPciIoWidthUint64,
|
||||
EfiPciIoWidthFifoUint8,
|
||||
EfiPciIoWidthFifoUint16,
|
||||
EfiPciIoWidthFifoUint32,
|
||||
EfiPciIoWidthFifoUint64,
|
||||
EfiPciIoWidthFillUint8,
|
||||
EfiPciIoWidthFillUint16,
|
||||
EfiPciIoWidthFillUint32,
|
||||
EfiPciIoWidthFillUint64,
|
||||
EfiPciIoWidthMaximum
|
||||
} EFI_PCI_IO_PROTOCOL_WIDTH, *PEFI_PCI_IO_PROTOCOL_WIDTH;
|
||||
|
||||
/* Enumeration of EFI PCI I/O protocol operations */
|
||||
typedef enum _EFI_PCI_IO_PROTOCOL_OPERATION
|
||||
{
|
||||
EfiPciIoOperationBusMasterRead,
|
||||
EfiPciIoOperationBusMasterWrite,
|
||||
EfiPciIoOperationBusMasterCommonBuffer,
|
||||
EfiPciIoOperationMaximum
|
||||
} EFI_PCI_IO_PROTOCOL_OPERATION, *PEFI_PCI_IO_PROTOCOL_OPERATION;
|
||||
|
||||
/* Enumeration of EFI PCI Root Bridge I/O protocol operations */
|
||||
typedef enum _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION
|
||||
{
|
||||
EfiPciOperationBusMasterRead,
|
||||
EfiPciOperationBusMasterWrite,
|
||||
EfiPciOperationBusMasterCommonBuffer,
|
||||
EfiPciOperationBusMasterRead64,
|
||||
EfiPciOperationBusMasterWrite64,
|
||||
EfiPciOperationBusMasterCommonBuffer64,
|
||||
EfiPciOperationMaximum
|
||||
} EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION, *PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION;
|
||||
|
||||
/* Enumeration of EFI PCI I/O protocol attribute operations */
|
||||
typedef enum _EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION
|
||||
{
|
||||
EfiPciIoAttributeOperationGet,
|
||||
EfiPciIoAttributeOperationSet,
|
||||
EfiPciIoAttributeOperationEnable,
|
||||
EfiPciIoAttributeOperationDisable,
|
||||
EfiPciIoAttributeOperationSupported,
|
||||
EfiPciIoAttributeOperationMaximum
|
||||
} EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION, *PEFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION;
|
||||
|
||||
/* EFI structures forward references */
|
||||
typedef struct _EFI_CAPSULE_HEADER EFI_CAPSULE_HEADER, *PEFI_CAPSULE_HEADER;
|
||||
typedef struct _EFI_GUID EFI_GUID, *PEFI_GUID;
|
||||
@ -159,6 +209,12 @@ typedef struct _EFI_BBS_BBS_DEVICE_PATH EFI_BBS_BBS_DEVICE_PATH, *PEFI_BBS_BBS_D
|
||||
typedef struct _EFI_DEVICE_PATH_TO_TEXT_PROTOCOL EFI_DEVICE_PATH_TO_TEXT_PROTOCOL, *PEFI_DEVICE_PATH_TO_TEXT_PROTOCOL;
|
||||
typedef struct _EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL, *PEFI_DEVICE_PATH_FROM_TEXT_PROTOCOL;
|
||||
typedef struct _EFI_DEVICE_PATH_UTILITIES_PROTOCOL EFI_DEVICE_PATH_UTILITIES_PROTOCOL, *PEFI_DEVICE_PATH_UTILITIES_PROTOCOL;
|
||||
typedef struct _EFI_PCI_IO_PROTOCOL_ACCESS EFI_PCI_IO_PROTOCOL_ACCESS, *PEFI_PCI_IO_PROTOCOL_ACCESS;
|
||||
typedef struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS, *PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS;
|
||||
typedef struct _EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS, *PEFI_PCI_IO_PROTOCOL_CONFIG_ACCESS;
|
||||
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_PCI_IO_PROTOCOL EFI_PCI_IO_PROTOCOL, *PEFI_PCI_IO_PROTOCOL;
|
||||
typedef struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL, *PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL;
|
||||
|
||||
/* EFI unions forward references */
|
||||
typedef union _EFI_DEV_PATH EFI_DEV_PATH, *PEFI_DEV_PATH;
|
||||
@ -246,6 +302,30 @@ typedef PEFI_DEVICE_PATH_PROTOCOL(*PEFI_DEVICE_PATH_UTILS_APPEND_INSTANCE)(IN CO
|
||||
typedef PEFI_DEVICE_PATH_PROTOCOL(*PEFI_DEVICE_PATH_UTILS_GET_NEXT_INSTANCE)(IN OUT PEFI_DEVICE_PATH_PROTOCOL *DevicePathInstance, OUT PUINT_PTR DevicePathInstanceSize);
|
||||
typedef PEFI_DEVICE_PATH_PROTOCOL(*PEFI_DEVICE_PATH_UTILS_CREATE_NODE)(IN UINT8 NodeType, IN UINT8 NodeSubType, IN UINT16 NodeLength);
|
||||
typedef BOOLEAN (*PEFI_DEVICE_PATH_UTILS_IS_MULTI_INSTANCE)(IN CONST PEFI_DEVICE_PATH_PROTOCOL DevicePath);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_POLL_IO_MEM)(IN PEFI_PCI_IO_PROTOCOL This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT8 BarIndex, IN UINT64 Offset, IN UINT64 Mask, IN UINT64 Value, IN UINT64 Delay, OUT PUINT64 Result);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_POLL_IO_MEM)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT64 Address, IN UINT64 Mask, IN UINT64 Value, IN UINT64 Delay, OUT PUINT64 Result);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_IO_MEM)(IN PEFI_PCI_IO_PROTOCOL This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT8 BarIndex, IN UINT64 Offset, IN UINT_PTR Count, IN OUT PVOID Buffer);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_IO_MEM)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT64 Address, IN UINT_PTR Count, IN OUT PVOID Buffer);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_CONFIG)(IN PEFI_PCI_IO_PROTOCOL This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT32 Offset, IN UINT_PTR Count, IN OUT PVOID Buffer);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_CONFIGURATION)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This, OUT PVOID *Resources);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_COPY_MEM)(IN PEFI_PCI_IO_PROTOCOL This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT8 DestBarIndex, IN UINT64 DestOffset, IN UINT8 SrcBarIndex, IN UINT64 SrcOffset, IN UINT_PTR Count);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_COPY_MEM)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT64 DestAddress, IN UINT64 SrcAddress, IN UINT_PTR Count);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_MAP)(IN PEFI_PCI_IO_PROTOCOL This, IN EFI_PCI_IO_PROTOCOL_OPERATION Operation, IN PVOID HostAddress, IN OUT PUINT_PTR NumberOfBytes, OUT PEFI_PHYSICAL_ADDRESS DeviceAddress, OUT PVOID *Mapping);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_MAP)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This, IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION Operation, IN PVOID HostAddress, IN OUT PUINT_PTR NumberOfBytes, OUT PEFI_PHYSICAL_ADDRESS DeviceAddress, OUT PVOID *Mapping);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_UNMAP)(IN PEFI_PCI_IO_PROTOCOL This, IN PVOID Mapping);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_UNMAP)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This, IN PVOID Mapping);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_ALLOCATE_BUFFER)(IN PEFI_PCI_IO_PROTOCOL This, IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINT_PTR Pages, OUT PVOID *HostAddress, IN UINT64 Attributes);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ALLOCATE_BUFFER)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This, IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINT_PTR Pages, IN OUT PVOID *HostAddress, IN UINT64 Attributes);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_FREE_BUFFER)(IN PEFI_PCI_IO_PROTOCOL This, IN UINT_PTR Pages, IN PVOID HostAddress);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_FREE_BUFFER)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This, IN UINT_PTR Pages, IN PVOID HostAddress);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_FLUSH)(IN PEFI_PCI_IO_PROTOCOL This);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_FLUSH)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_GET_LOCATION) (IN PEFI_PCI_IO_PROTOCOL This, OUT PUINT_PTR SegmentNumber, OUT PUINT_PTR BusNumber, OUT PUINT_PTR DeviceNumber, OUT PUINT_PTR FunctionNumber);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_ATTRIBUTES)(IN PEFI_PCI_IO_PROTOCOL This, IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation, IN UINT64 Attributes, OUT PUINT64 Result);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_GET_BAR_ATTRIBUTES)(IN PEFI_PCI_IO_PROTOCOL This, IN UINT8 BarIndex, OUT PUINT64 Supports, OUT PVOID *Resources);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GET_ATTRIBUTES)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This, OUT PUINT64 Supports, OUT PUINT64 Attributes);
|
||||
typedef EFI_STATUS(*EFI_PCI_IO_PROTOCOL_SET_BAR_ATTRIBUTES)(IN PEFI_PCI_IO_PROTOCOL This, IN UINT64 Attributes, IN UINT8 BarIndex, IN OUT PUINT64 Offset, IN OUT PUINT64 Length);
|
||||
typedef EFI_STATUS(*EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_SET_ATTRIBUTES)(IN PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL This, IN UINT64 Attributes, IN OUT PUINT64 ResourceBase, IN OUT PUINT64 ResourceLength);
|
||||
|
||||
/* 128-bit buffer containing a unique identifier value */
|
||||
typedef struct _EFI_GUID
|
||||
@ -889,4 +969,78 @@ typedef struct _EFI_DEVICE_PATH_UTILITIES_PROTOCOL
|
||||
PEFI_DEVICE_PATH_UTILS_CREATE_NODE CreateDeviceNode;
|
||||
} EFI_DEVICE_PATH_UTILITIES_PROTOCOL, *PEFI_DEVICE_PATH_UTILITIES_PROTOCOL;
|
||||
|
||||
/* PCI I/O protocol access registers */
|
||||
typedef struct _EFI_PCI_IO_PROTOCOL_ACCESS
|
||||
{
|
||||
EFI_PCI_IO_PROTOCOL_IO_MEM Read;
|
||||
EFI_PCI_IO_PROTOCOL_IO_MEM Write;
|
||||
} EFI_PCI_IO_PROTOCOL_ACCESS, *PEFI_PCI_IO_PROTOCOL_ACCESS;
|
||||
|
||||
/* PCI Root Bridge I/O protocol access registers */
|
||||
typedef struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS
|
||||
{
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_IO_MEM Read;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_IO_MEM Write;
|
||||
} EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS, *PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS;
|
||||
|
||||
/* PCI I/O protocol configuration access registers */
|
||||
typedef struct _EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS
|
||||
{
|
||||
EFI_PCI_IO_PROTOCOL_CONFIG Read;
|
||||
EFI_PCI_IO_PROTOCOL_CONFIG Write;
|
||||
} EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS, *PEFI_PCI_IO_PROTOCOL_CONFIG_ACCESS;
|
||||
|
||||
/* PCI Root Bridge I/O protocol address */
|
||||
typedef struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS
|
||||
{
|
||||
UINT8 Register;
|
||||
UINT8 Function;
|
||||
UINT8 Device;
|
||||
UINT8 Bus;
|
||||
UINT32 ExtendedRegister;
|
||||
} EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS, *PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS;
|
||||
|
||||
/* EFI PCI I/O protocol */
|
||||
typedef struct _EFI_PCI_IO_PROTOCOL
|
||||
{
|
||||
EFI_PCI_IO_PROTOCOL_POLL_IO_MEM PollMem;
|
||||
EFI_PCI_IO_PROTOCOL_POLL_IO_MEM PollIo;
|
||||
EFI_PCI_IO_PROTOCOL_ACCESS Mem;
|
||||
EFI_PCI_IO_PROTOCOL_ACCESS Io;
|
||||
EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS Pci;
|
||||
EFI_PCI_IO_PROTOCOL_COPY_MEM CopyMem;
|
||||
EFI_PCI_IO_PROTOCOL_MAP Map;
|
||||
EFI_PCI_IO_PROTOCOL_UNMAP Unmap;
|
||||
EFI_PCI_IO_PROTOCOL_ALLOCATE_BUFFER AllocateBuffer;
|
||||
EFI_PCI_IO_PROTOCOL_FREE_BUFFER FreeBuffer;
|
||||
EFI_PCI_IO_PROTOCOL_FLUSH Flush;
|
||||
EFI_PCI_IO_PROTOCOL_GET_LOCATION GetLocation;
|
||||
EFI_PCI_IO_PROTOCOL_ATTRIBUTES Attributes;
|
||||
EFI_PCI_IO_PROTOCOL_GET_BAR_ATTRIBUTES GetBarAttributes;
|
||||
EFI_PCI_IO_PROTOCOL_SET_BAR_ATTRIBUTES SetBarAttributes;
|
||||
UINT64 RomSize;
|
||||
PVOID RomImage;
|
||||
} EFI_PCI_IO_PROTOCOL, *PEFI_PCI_IO_PROTOCOL;
|
||||
|
||||
/* EFI PCI Root Bridge I/O protocol */
|
||||
typedef struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL
|
||||
{
|
||||
EFI_HANDLE ParentHandle;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_POLL_IO_MEM PollMem;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_POLL_IO_MEM PollIo;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS Mem;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS Io;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ACCESS Pci;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_COPY_MEM CopyMem;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_MAP Map;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_UNMAP Unmap;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_ALLOCATE_BUFFER AllocateBuffer;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_FREE_BUFFER FreeBuffer;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_FLUSH Flush;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GET_ATTRIBUTES GetAttributes;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_SET_ATTRIBUTES SetAttributes;
|
||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_CONFIGURATION Configuration;
|
||||
UINT32 SegmentNumber;
|
||||
} EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL, *PEFI_PCI_ROOT_BRIDGE_IO_PROTOCOL;
|
||||
|
||||
#endif /* __XTDK_XTUEFI_H */
|
||||
|
Loading…
Reference in New Issue
Block a user