XenevaOS
Loading...
Searching...
No Matches
DeviceIo.h
Go to the documentation of this file.
1
18#ifndef __DEVICE_IO_H__
19#define __DEVICE_IO_H__
20
21#define EFI_DEVICE_IO_PROTOCOL_GUID \
22 { \
23 0xaf6ac311, 0x84c3, 0x11d2, {0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
24 }
25
27
31#define DEVICE_IO_PROTOCOL EFI_DEVICE_IO_PROTOCOL_GUID
32
37
41typedef enum {
46 //
47 // Below enumerations are added in "Extensible Firmware Interface Specification,
48 // Version 1.10, Specification Update, Version 001".
49 //
55
74typedef
78 IN EFI_IO_WIDTH Width,
80 IN UINTN Count,
81 IN OUT VOID *Buffer
82 );
83
88
103typedef
107 IN UINT64 PciAddress,
108 IN OUT EFI_DEVICE_PATH_PROTOCOL **PciDevicePath
109 );
110
130
150typedef
154 IN EFI_IO_OPERATION_TYPE Operation,
155 IN EFI_PHYSICAL_ADDRESS *HostAddress,
156 IN OUT UINTN *NumberOfBytes,
157 OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
158 OUT VOID **Mapping
159 );
160
171typedef
175 IN VOID *Mapping
176 );
177
195typedef
200 IN EFI_MEMORY_TYPE MemoryType,
201 IN UINTN Pages,
202 IN OUT EFI_PHYSICAL_ADDRESS *HostAddress
203 );
204
214typedef
218 );
219
233typedef
237 IN UINTN Pages,
238 IN EFI_PHYSICAL_ADDRESS HostAddress
239 );
240
265
267
268#endif
UINT64 UINTN
Definition ProcessorBind.h:118
#define EFIAPI
Definition ProcessorBind.h:172
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
EFI_STATUS(EFIAPI * EFI_IO_UNMAP)(IN EFI_DEVICE_IO_PROTOCOL *This, IN VOID *Mapping)
Definition DeviceIo.h:173
EFI_STATUS(EFIAPI * EFI_DEVICE_IO)(IN EFI_DEVICE_IO_PROTOCOL *This, IN EFI_IO_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN OUT VOID *Buffer)
Definition DeviceIo.h:76
EFI_STATUS(EFIAPI * EFI_IO_FLUSH)(IN EFI_DEVICE_IO_PROTOCOL *This)
Definition DeviceIo.h:216
EFI_IO_WIDTH
Definition DeviceIo.h:41
@ MMIO_COPY_UINT16
Definition DeviceIo.h:51
@ MMIO_COPY_UINT32
Definition DeviceIo.h:52
@ IO_UINT64
Definition DeviceIo.h:45
@ IO_UINT8
Definition DeviceIo.h:42
@ MMIO_COPY_UINT8
Definition DeviceIo.h:50
@ IO_UINT32
Definition DeviceIo.h:44
@ MMIO_COPY_UINT64
Definition DeviceIo.h:53
@ IO_UINT16
Definition DeviceIo.h:43
EFI_IO_OPERATION_TYPE
Definition DeviceIo.h:111
@ EfiBusMasterWrite
Definition DeviceIo.h:120
@ EfiBusMasterCommonBuffer
Definition DeviceIo.h:128
@ EfiBusMasterRead
Definition DeviceIo.h:115
EFI_STATUS(EFIAPI * EFI_IO_MAP)(IN EFI_DEVICE_IO_PROTOCOL *This, IN EFI_IO_OPERATION_TYPE Operation, IN EFI_PHYSICAL_ADDRESS *HostAddress, IN OUT UINTN *NumberOfBytes, OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, OUT VOID **Mapping)
Definition DeviceIo.h:152
EFI_GUID gEfiDeviceIoProtocolGuid
EFI_STATUS(EFIAPI * EFI_PCI_DEVICE_PATH)(IN EFI_DEVICE_IO_PROTOCOL *This, IN UINT64 PciAddress, IN OUT EFI_DEVICE_PATH_PROTOCOL **PciDevicePath)
Definition DeviceIo.h:105
EFI_STATUS(EFIAPI * EFI_IO_ALLOCATE_BUFFER)(IN EFI_DEVICE_IO_PROTOCOL *This, IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINTN Pages, IN OUT EFI_PHYSICAL_ADDRESS *HostAddress)
Definition DeviceIo.h:197
EFI_STATUS(EFIAPI * EFI_IO_FREE_BUFFER)(IN EFI_DEVICE_IO_PROTOCOL *This, IN UINTN Pages, IN EFI_PHYSICAL_ADDRESS HostAddress)
Definition DeviceIo.h:235
EFI_DEVICE_IO_PROTOCOL EFI_DEVICE_IO_INTERFACE
Definition DeviceIo.h:36
UINT64 EFI_PHYSICAL_ADDRESS
Definition UefiBaseType.h:54
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
EFI_MEMORY_TYPE
Definition UefiMultiPhase.h:44
EFI_ALLOCATE_TYPE
Definition UefiSpec.h:32
#define VOID
Definition acefi.h:190
ACPI_PHYSICAL_ADDRESS Address
Definition acpixf.h:637
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE ACPI_HANDLE *OutHandle ACPI_HANDLE *OutHandle void *Context void *Context ACPI_EVENT_HANDLER Handler UINT32 UINT32 Type
Definition acpixf.h:894
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition DevicePath.h:49
Definition DeviceIo.h:84
EFI_DEVICE_IO Read
Definition DeviceIo.h:85
EFI_DEVICE_IO Write
Definition DeviceIo.h:86
Definition Base.h:281
Definition DeviceIo.h:245
EFI_IO_UNMAP Unmap
Definition DeviceIo.h:260
EFI_IO_ACCESS Mem
Definition DeviceIo.h:249
EFI_IO_ACCESS Io
Definition DeviceIo.h:253
EFI_IO_MAP Map
Definition DeviceIo.h:258
EFI_IO_FLUSH Flush
Definition DeviceIo.h:262
EFI_IO_FREE_BUFFER FreeBuffer
Definition DeviceIo.h:263
EFI_PCI_DEVICE_PATH PciDevicePath
Definition DeviceIo.h:259
EFI_IO_ACCESS Pci
Definition DeviceIo.h:257
EFI_IO_ALLOCATE_BUFFER AllocateBuffer
Definition DeviceIo.h:261