12#ifndef __DEVICE_IO_H__
13#define __DEVICE_IO_H__
15#define EFI_DEVICE_IO_PROTOCOL_GUID \
17 0xaf6ac311, 0x84c3, 0x11d2, {0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
25#define DEVICE_IO_PROTOCOL EFI_DEVICE_IO_PROTOCOL_GUID
101 IN UINT64 PciAddress,
260extern EFI_GUID gEfiDeviceIoProtocolGuid;
EFI_STATUS(EFIAPI * EFI_IO_UNMAP)(IN EFI_DEVICE_IO_PROTOCOL *This, IN VOID *Mapping)
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)
EFI_STATUS(EFIAPI * EFI_IO_FLUSH)(IN EFI_DEVICE_IO_PROTOCOL *This)
@ EfiBusMasterCommonBuffer
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)
EFI_STATUS(EFIAPI * EFI_PCI_DEVICE_PATH)(IN EFI_DEVICE_IO_PROTOCOL *This, IN UINT64 PciAddress, IN OUT EFI_DEVICE_PATH_PROTOCOL **PciDevicePath)
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)
EFI_STATUS(EFIAPI * EFI_IO_FREE_BUFFER)(IN EFI_DEVICE_IO_PROTOCOL *This, IN UINTN Pages, IN EFI_PHYSICAL_ADDRESS HostAddress)
EFI_DEVICE_IO_PROTOCOL EFI_DEVICE_IO_INTERFACE
UINT64 EFI_PHYSICAL_ADDRESS