Hi,
the Device I/O Protocol has been replaced by the PCI Root Bridge I/O
protocol. Since we don't make use of it I think it makes sense to
remove the protocol from our headers to actively discourage the use
of that protocol.
Instead it would make sense to add the PCI Root Bridge I/O protocol and
the PCI I/O protocol, but I wouldn't do it as part of this commit.
Opinions? ok?
Patrick
diff --git a/sys/stand/efi/include/efiprot.h b/sys/stand/efi/include/efiprot.h
index 6ed8a28692d..41315db5e44 100644
--- a/sys/stand/efi/include/efiprot.h
+++ b/sys/stand/efi/include/efiprot.h
@@ -371,116 +371,6 @@ typedef struct _EFI_LOAD_FILE_INTERFACE {
//
-// Device IO protocol
-//
-
-#define DEVICE_IO_PROTOCOL \
- { 0xaf6ac311, 0x84c3, 0x11d2, { 0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72,
0x3b } }
-
-INTERFACE_DECL(_EFI_DEVICE_IO_INTERFACE);
-
-typedef enum {
- IO_UINT8,
- IO_UINT16,
- IO_UINT32,
- IO_UINT64,
-//
-// Specification Change: Copy from MMIO to MMIO vs. MMIO to buffer, buffer to
MMIO
-//
- MMIO_COPY_UINT8,
- MMIO_COPY_UINT16,
- MMIO_COPY_UINT32,
- MMIO_COPY_UINT64
-} EFI_IO_WIDTH;
-
-#define EFI_PCI_ADDRESS(bus,dev,func,reg) \
- ( (UINT64) ( (((UINTN)bus) << 24) + (((UINTN)dev) << 16) + (((UINTN)func) <<
8) + ((UINTN)reg) ))
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_DEVICE_IO) (
- IN struct _EFI_DEVICE_IO_INTERFACE *This,
- IN EFI_IO_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- IN OUT VOID *Buffer
- );
-
-typedef struct {
- EFI_DEVICE_IO Read;
- EFI_DEVICE_IO Write;
-} EFI_IO_ACCESS;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PCI_DEVICE_PATH) (
- IN struct _EFI_DEVICE_IO_INTERFACE *This,
- IN UINT64 Address,
- IN OUT EFI_DEVICE_PATH **PciDevicePath
- );
-
-typedef enum {
- EfiBusMasterRead,
- EfiBusMasterWrite,
- EfiBusMasterCommonBuffer
-} EFI_IO_OPERATION_TYPE;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IO_MAP) (
- IN struct _EFI_DEVICE_IO_INTERFACE *This,
- IN EFI_IO_OPERATION_TYPE Operation,
- IN EFI_PHYSICAL_ADDRESS *HostAddress,
- IN OUT UINTN *NumberOfBytes,
- OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
- OUT VOID **Mapping
- );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IO_UNMAP) (
- IN struct _EFI_DEVICE_IO_INTERFACE *This,
- IN VOID *Mapping
- );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IO_ALLOCATE_BUFFER) (
- IN struct _EFI_DEVICE_IO_INTERFACE *This,
- IN EFI_ALLOCATE_TYPE Type,
- IN EFI_MEMORY_TYPE MemoryType,
- IN UINTN Pages,
- IN OUT EFI_PHYSICAL_ADDRESS *HostAddress
- );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IO_FLUSH) (
- IN struct _EFI_DEVICE_IO_INTERFACE *This
- );
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IO_FREE_BUFFER) (
- IN struct _EFI_DEVICE_IO_INTERFACE *This,
- IN UINTN Pages,
- IN EFI_PHYSICAL_ADDRESS HostAddress
- );
-
-typedef struct _EFI_DEVICE_IO_INTERFACE {
- EFI_IO_ACCESS Mem;
- EFI_IO_ACCESS Io;
- EFI_IO_ACCESS Pci;
- EFI_IO_MAP Map;
- EFI_PCI_DEVICE_PATH PciDevicePath;
- EFI_IO_UNMAP Unmap;
- EFI_IO_ALLOCATE_BUFFER AllocateBuffer;
- EFI_IO_FLUSH Flush;
- EFI_IO_FREE_BUFFER FreeBuffer;
-} EFI_DEVICE_IO_INTERFACE;
-
-
-//
// Unicode Collation protocol
//