+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2004, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- DeviceIo.h\r
-\r
-Abstract:\r
-\r
- Device IO protocol as defined in the EFI 1.0 specification.\r
-\r
- Device IO is used to abstract hardware access to devices. It includes\r
- memory mapped IO, IO, PCI Config space, and DMA.\r
-\r
- \r
---*/\r
-\r
-#ifndef _DEVICE_IO_H_\r
-#define _DEVICE_IO_H_\r
-\r
-#define EFI_DEVICE_IO_PROTOCOL_GUID \\r
- { \\r
- 0xaf6ac311, 0x84c3, 0x11d2, 0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b \\r
- }\r
-\r
-EFI_FORWARD_DECLARATION (EFI_DEVICE_IO_PROTOCOL);\r
-\r
-typedef enum {\r
- IO_UINT8,\r
- IO_UINT16,\r
- IO_UINT32,\r
- IO_UINT64,\r
- MMIO_COPY_UINT8,\r
- MMIO_COPY_UINT16,\r
- MMIO_COPY_UINT32,\r
- MMIO_COPY_UINT64\r
-} EFI_IO_WIDTH;\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_DEVICE_IO) (\r
- IN EFI_DEVICE_IO_PROTOCOL * This,\r
- IN EFI_IO_WIDTH Width,\r
- IN UINT64 Address,\r
- IN UINTN Count,\r
- IN OUT VOID *Buffer\r
- );\r
-\r
-typedef struct {\r
- EFI_DEVICE_IO Read;\r
- EFI_DEVICE_IO Write;\r
-} EFI_IO_ACCESS;\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_PCI_DEVICE_PATH) (\r
- IN EFI_DEVICE_IO_PROTOCOL * This,\r
- IN UINT64 Address,\r
- IN OUT EFI_DEVICE_PATH_PROTOCOL **PciDevicePath\r
- );\r
-\r
-typedef enum {\r
- EfiBusMasterRead,\r
- EfiBusMasterWrite,\r
- EfiBusMasterCommonBuffer\r
-} EFI_IO_OPERATION_TYPE;\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_IO_MAP) (\r
- IN EFI_DEVICE_IO_PROTOCOL * This,\r
- IN EFI_IO_OPERATION_TYPE Operation,\r
- IN EFI_PHYSICAL_ADDRESS * HostAddress,\r
- IN OUT UINTN *NumberOfBytes,\r
- OUT EFI_PHYSICAL_ADDRESS * DeviceAddress,\r
- OUT VOID **Mapping\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_IO_UNMAP) (\r
- IN EFI_DEVICE_IO_PROTOCOL * This,\r
- IN VOID *Mapping\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_IO_ALLOCATE_BUFFER) (\r
- IN EFI_DEVICE_IO_PROTOCOL * This,\r
- IN EFI_ALLOCATE_TYPE Type,\r
- IN EFI_MEMORY_TYPE MemoryType,\r
- IN UINTN Pages,\r
- IN OUT EFI_PHYSICAL_ADDRESS * HostAddress\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_IO_FLUSH) (\r
- IN EFI_DEVICE_IO_PROTOCOL * This\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_IO_FREE_BUFFER) (\r
- IN EFI_DEVICE_IO_PROTOCOL * This,\r
- IN UINTN Pages,\r
- IN EFI_PHYSICAL_ADDRESS HostAddress\r
- );\r
-\r
-typedef struct _EFI_DEVICE_IO_PROTOCOL {\r
- EFI_IO_ACCESS Mem;\r
- EFI_IO_ACCESS Io;\r
- EFI_IO_ACCESS Pci;\r
- EFI_IO_MAP Map;\r
- EFI_PCI_DEVICE_PATH PciDevicePath;\r
- EFI_IO_UNMAP Unmap;\r
- EFI_IO_ALLOCATE_BUFFER AllocateBuffer;\r
- EFI_IO_FLUSH Flush;\r
- EFI_IO_FREE_BUFFER FreeBuffer;\r
-} EFI_DEVICE_IO_PROTOCOL;\r
-\r
-extern EFI_GUID gEfiDeviceIoProtocolGuid;\r
-\r
-#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2004, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+\r
+ DeviceIo.h\r
+\r
+Abstract:\r
+\r
+ Device IO protocol as defined in the EFI 1.0 specification.\r
+\r
+ Device IO is used to abstract hardware access to devices. It includes\r
+ memory mapped IO, IO, PCI Config space, and DMA.\r
+\r
+ \r
+--*/\r
+\r
+#ifndef _DEVICE_IO_H_\r
+#define _DEVICE_IO_H_\r
+\r
+#define EFI_DEVICE_IO_PROTOCOL_GUID \\r
+ { \\r
+ 0xaf6ac311, 0x84c3, 0x11d2, 0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b \\r
+ }\r
+\r
+EFI_FORWARD_DECLARATION (EFI_DEVICE_IO_PROTOCOL);\r
+\r
+typedef enum {\r
+ IO_UINT8,\r
+ IO_UINT16,\r
+ IO_UINT32,\r
+ IO_UINT64,\r
+ MMIO_COPY_UINT8,\r
+ MMIO_COPY_UINT16,\r
+ MMIO_COPY_UINT32,\r
+ MMIO_COPY_UINT64\r
+} EFI_IO_WIDTH;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_DEVICE_IO) (\r
+ IN EFI_DEVICE_IO_PROTOCOL * This,\r
+ IN EFI_IO_WIDTH Width,\r
+ IN UINT64 Address,\r
+ IN UINTN Count,\r
+ IN OUT VOID *Buffer\r
+ );\r
+\r
+typedef struct {\r
+ EFI_DEVICE_IO Read;\r
+ EFI_DEVICE_IO Write;\r
+} EFI_IO_ACCESS;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_PCI_DEVICE_PATH) (\r
+ IN EFI_DEVICE_IO_PROTOCOL * This,\r
+ IN UINT64 Address,\r
+ IN OUT EFI_DEVICE_PATH_PROTOCOL **PciDevicePath\r
+ );\r
+\r
+typedef enum {\r
+ EfiBusMasterRead,\r
+ EfiBusMasterWrite,\r
+ EfiBusMasterCommonBuffer\r
+} EFI_IO_OPERATION_TYPE;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_IO_MAP) (\r
+ IN EFI_DEVICE_IO_PROTOCOL * This,\r
+ IN EFI_IO_OPERATION_TYPE Operation,\r
+ IN EFI_PHYSICAL_ADDRESS * HostAddress,\r
+ IN OUT UINTN *NumberOfBytes,\r
+ OUT EFI_PHYSICAL_ADDRESS * DeviceAddress,\r
+ OUT VOID **Mapping\r
+ );\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_IO_UNMAP) (\r
+ IN EFI_DEVICE_IO_PROTOCOL * This,\r
+ IN VOID *Mapping\r
+ );\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_IO_ALLOCATE_BUFFER) (\r
+ IN EFI_DEVICE_IO_PROTOCOL * This,\r
+ IN EFI_ALLOCATE_TYPE Type,\r
+ IN EFI_MEMORY_TYPE MemoryType,\r
+ IN UINTN Pages,\r
+ IN OUT EFI_PHYSICAL_ADDRESS * HostAddress\r
+ );\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_IO_FLUSH) (\r
+ IN EFI_DEVICE_IO_PROTOCOL * This\r
+ );\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_IO_FREE_BUFFER) (\r
+ IN EFI_DEVICE_IO_PROTOCOL * This,\r
+ IN UINTN Pages,\r
+ IN EFI_PHYSICAL_ADDRESS HostAddress\r
+ );\r
+\r
+typedef struct _EFI_DEVICE_IO_PROTOCOL {\r
+ EFI_IO_ACCESS Mem;\r
+ EFI_IO_ACCESS Io;\r
+ EFI_IO_ACCESS Pci;\r
+ EFI_IO_MAP Map;\r
+ EFI_PCI_DEVICE_PATH PciDevicePath;\r
+ EFI_IO_UNMAP Unmap;\r
+ EFI_IO_ALLOCATE_BUFFER AllocateBuffer;\r
+ EFI_IO_FLUSH Flush;\r
+ EFI_IO_FREE_BUFFER FreeBuffer;\r
+} EFI_DEVICE_IO_PROTOCOL;\r
+\r
+extern EFI_GUID gEfiDeviceIoProtocolGuid;\r
+\r
+#endif\r