summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2008-11-21 03:00:06 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2008-11-21 03:00:06 +0000
commit73fa61fc78853e98f40dbe8063597ebc9015e639 (patch)
treebee28878bd5e77e5663dbc36722fbd0c6dfcca34
parent58125b7a64b7378d78bdeb6da639ff51eb74e38f (diff)
downloadedk2-platforms-73fa61fc78853e98f40dbe8063597ebc9015e639.tar.xz
Update DeviceIo protocol based on EFI 1.1 updated spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6654 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdePkg/Include/Protocol/DeviceIo.h17
1 files changed, 12 insertions, 5 deletions
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.