Quantcast

efi: device i/o protocol has been replaced

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

efi: device i/o protocol has been replaced

Patrick Wildt-3
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
 //
 

Loading...