X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FInclude%2FProtocol%2FDeviceIo.h;fp=MdePkg%2FInclude%2FProtocol%2FDeviceIo.h;h=c5720899de4cc952dad733a0b76a452be34d0d84;hp=d10cc6fa6f3868927b6c69022c5eb48c171d2318;hb=73fa61fc78853e98f40dbe8063597ebc9015e639;hpb=58125b7a64b7378d78bdeb6da639ff51eb74e38f diff --git a/MdePkg/Include/Protocol/DeviceIo.h b/MdePkg/Include/Protocol/DeviceIo.h index d10cc6fa6f..c5720899de 100644 --- a/MdePkg/Include/Protocol/DeviceIo.h +++ b/MdePkg/Include/Protocol/DeviceIo.h @@ -36,10 +36,14 @@ typedef struct _EFI_DEVICE_IO_PROTOCOL EFI_DEVICE_IO_PROTOCOL; typedef EFI_DEVICE_IO_PROTOCOL EFI_DEVICE_IO_INTERFACE; typedef enum { - IO_UINT8 = 0, - IO_UINT16 = 1, - IO_UINT32 = 2, - IO_UINT64 = 3 + IO_UINT8 = 0, + IO_UINT16 = 1, + IO_UINT32 = 2, + IO_UINT64 = 3, + MMIO_COPY_UINT8 = 4, + MMIO_COPY_UINT16 = 5, + MMIO_COPY_UINT32 = 6, + MMIO_COPY_UINT64 = 7 } EFI_IO_WIDTH; /** @@ -50,7 +54,10 @@ typedef enum { @param Address The base address of the I/O operations. @param Count The number of I/O operations to perform. @param Buffer For read operations, the destination buffer to store the results. For write - operations, the source buffer to write data from. + operations, the source buffer to write data from. If + Width is MMIO_COPY_UINT8, MMIO_COPY_UINT16, + MMIO_COPY_UINT32, or MMIO_COPY_UINT64, then + Buffer is interpreted as a base address of an I/O operation such as Address. @retval EFI_SUCCESS The data was read from or written to the device. @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.