From: Olivier Martin <olivier.mar...@arm.com> These functions did not provide much more than the new protocol functions VIRTIO_DEVICE_PROTOCOL.ReadDevice() / VIRTIO_DEVICE_PROTOCOL.WriteDevice().
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.mar...@arm.com> Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com> Signed-off-by: Laszlo Ersek <ler...@redhat.com> --- OvmfPkg/Include/Library/VirtioLib.h | 64 -------------------------------- OvmfPkg/VirtioNetDxe/VirtioNet.h | 22 +++++------ OvmfPkg/Library/VirtioLib/VirtioLib.c | 69 ----------------------------------- OvmfPkg/VirtioBlkDxe/VirtioBlk.c | 24 ++++++------ OvmfPkg/VirtioScsiDxe/VirtioScsi.c | 24 ++++++------ 5 files changed, 35 insertions(+), 168 deletions(-) diff --git a/OvmfPkg/Include/Library/VirtioLib.h b/OvmfPkg/Include/Library/VirtioLib.h index 8c04336..36527a5 100644 --- a/OvmfPkg/Include/Library/VirtioLib.h +++ b/OvmfPkg/Include/Library/VirtioLib.h @@ -21,70 +21,6 @@ #include <IndustryStandard/Virtio.h> -/** - - Write a word into VirtIo Device Specific Region - - The VirtIo Device Specific Region must be an iomem region. - This is an internal function for the driver-specific VIRTIO_CFG_WRITE() - macros. - - @param[in] VirtIo Target Virtio device. - - @param[in] FieldOffset Destination offset. - - @param[in] FieldSize Destination field size, must be in { 1, 2, 4, 8 }. - - @param[in] Value Little endian value to write, converted to UINT64. - The least significant FieldSize bytes will be used. - - - @return Status code returned by VirtIo->WriteDevice(). - -**/ -EFI_STATUS -EFIAPI -VirtioWriteDevice ( - IN VIRTIO_DEVICE_PROTOCOL *VirtIo, - IN UINTN FieldOffset, - IN UINTN FieldSize, - IN UINT64 Value - ); - - -/** - - Read a word from VirtIo Device Specific Region - - The VirtIo Device Specific Region must be an iomem region. - This is an internal function for the driver-specific VIRTIO_CFG_READ() - macros. - - @param[in] VirtIo Source Virtio device. - - @param[in] FieldOffset Source offset. - - @param[in] FieldSize Source field size, must be in { 1, 2, 4, 8 }. - - @param[in] BufferSize Number of bytes available in the target buffer. Must - equal FieldSize. - - @param[out] Buffer Target buffer. - - - @return Status code returned by VirtIo->ReadDevice(). - -**/ -EFI_STATUS -EFIAPI -VirtioReadDevice ( - IN VIRTIO_DEVICE_PROTOCOL *VirtIo, - IN UINTN FieldOffset, - IN UINTN FieldSize, - IN UINTN BufferSize, - OUT VOID *Buffer - ); - /** diff --git a/OvmfPkg/VirtioNetDxe/VirtioNet.h b/OvmfPkg/VirtioNetDxe/VirtioNet.h index 31fca79..2d3f3d8 100644 --- a/OvmfPkg/VirtioNetDxe/VirtioNet.h +++ b/OvmfPkg/VirtioNetDxe/VirtioNet.h @@ -107,19 +107,19 @@ typedef struct { #define VIRTIO_NET_FROM_SNP(SnpPointer) \ CR (SnpPointer, VNET_DEV, Snp, VNET_SIG) -#define VIRTIO_CFG_WRITE(Dev, Field, Value) (VirtioWriteDevice ( \ - (Dev)->VirtIo, \ - OFFSET_OF_VNET (Field), \ - SIZE_OF_VNET (Field), \ - (Value) \ +#define VIRTIO_CFG_WRITE(Dev, Field, Value) ((Dev)->VirtIo->WriteDevice ( \ + (Dev)->VirtIo, \ + OFFSET_OF_VNET (Field), \ + SIZE_OF_VNET (Field), \ + (Value) \ )) -#define VIRTIO_CFG_READ(Dev, Field, Pointer) (VirtioReadDevice ( \ - (Dev)->VirtIo, \ - OFFSET_OF_VNET (Field), \ - SIZE_OF_VNET (Field), \ - sizeof *(Pointer), \ - (Pointer) \ +#define VIRTIO_CFG_READ(Dev, Field, Pointer) ((Dev)->VirtIo->ReadDevice ( \ + (Dev)->VirtIo, \ + OFFSET_OF_VNET (Field), \ + SIZE_OF_VNET (Field), \ + sizeof *(Pointer), \ + (Pointer) \ )) // diff --git a/OvmfPkg/Library/VirtioLib/VirtioLib.c b/OvmfPkg/Library/VirtioLib/VirtioLib.c index 503d4ad..54cf225 100644 --- a/OvmfPkg/Library/VirtioLib/VirtioLib.c +++ b/OvmfPkg/Library/VirtioLib/VirtioLib.c @@ -26,75 +26,6 @@ /** - Write a word into Region 0 of the device specified by VirtIo. - - Region 0 must be an iomem region. This is an internal function for the - driver-specific VIRTIO_CFG_WRITE() macros. - - @param[in] VirtIo Target VirtIo device. - - @param[in] FieldOffset Destination offset. - - @param[in] FieldSize Destination field size, must be in { 1, 2, 4, 8 }. - - @param[in] Value Little endian value to write, converted to UINT64. - The least significant FieldSize bytes will be used. - - - @return Status code returned by VirtIo->Io.Write(). - -**/ -EFI_STATUS -EFIAPI -VirtioWriteDevice ( - IN VIRTIO_DEVICE_PROTOCOL *VirtIo, - IN UINTN FieldOffset, - IN UINTN FieldSize, - IN UINT64 Value - ) -{ - return VirtIo->WriteDevice (VirtIo, FieldOffset, FieldSize, Value); -} - - -/** - - Read a word from Region 0 of the device specified by VirtIo. - - Region 0 must be an iomem region. This is an internal function for the - driver-specific VIRTIO_CFG_READ() macros. - - @param[in] VirtIo Source VirtIo device. - - @param[in] FieldOffset Source offset. - - @param[in] FieldSize Source field size, must be in { 1, 2, 4, 8 }. - - @param[in] BufferSize Number of bytes available in the target buffer. Must - equal FieldSize. - - @param[out] Buffer Target buffer. - - - @return Status code returned by VirtIo->Io.Read(). - -**/ -EFI_STATUS -EFIAPI -VirtioReadDevice ( - IN VIRTIO_DEVICE_PROTOCOL *VirtIo, - IN UINTN FieldOffset, - IN UINTN FieldSize, - IN UINTN BufferSize, - OUT VOID *Buffer - ) -{ - return VirtIo->ReadDevice (VirtIo, FieldOffset, FieldSize, BufferSize, Buffer); -} - - -/** - Configure a virtio ring. This function sets up internal storage (the guest-host communication area) diff --git a/OvmfPkg/VirtioBlkDxe/VirtioBlk.c b/OvmfPkg/VirtioBlkDxe/VirtioBlk.c index 96a0d9f..e0be7b0 100644 --- a/OvmfPkg/VirtioBlkDxe/VirtioBlk.c +++ b/OvmfPkg/VirtioBlkDxe/VirtioBlk.c @@ -56,23 +56,23 @@ one of UINT8, UINT16, UINT32, UINT64. - @return Status code returned by VirtioWriteDevice() / VirtioReadDevice(). + @return Status code returned by Virtio->WriteDevice() / Virtio->ReadDevice(). **/ -#define VIRTIO_CFG_WRITE(Dev, Field, Value) (VirtioWriteDevice ( \ - (Dev)->VirtIo, \ - OFFSET_OF_VBLK (Field), \ - SIZE_OF_VBLK (Field), \ - (Value) \ +#define VIRTIO_CFG_WRITE(Dev, Field, Value) ((Dev)->VirtIo->WriteDevice ( \ + (Dev)->VirtIo, \ + OFFSET_OF_VBLK (Field), \ + SIZE_OF_VBLK (Field), \ + (Value) \ )) -#define VIRTIO_CFG_READ(Dev, Field, Pointer) (VirtioReadDevice ( \ - (Dev)->VirtIo, \ - OFFSET_OF_VBLK (Field), \ - SIZE_OF_VBLK (Field), \ - sizeof *(Pointer), \ - (Pointer) \ +#define VIRTIO_CFG_READ(Dev, Field, Pointer) ((Dev)->VirtIo->ReadDevice ( \ + (Dev)->VirtIo, \ + OFFSET_OF_VBLK (Field), \ + SIZE_OF_VBLK (Field), \ + sizeof *(Pointer), \ + (Pointer) \ )) diff --git a/OvmfPkg/VirtioScsiDxe/VirtioScsi.c b/OvmfPkg/VirtioScsiDxe/VirtioScsi.c index bcec676..267f5f9 100644 --- a/OvmfPkg/VirtioScsiDxe/VirtioScsi.c +++ b/OvmfPkg/VirtioScsiDxe/VirtioScsi.c @@ -70,23 +70,23 @@ one of UINT8, UINT16, UINT32, UINT64. - @return Status codes returned by VirtioWriteDevice() / VirtioReadDevice(). + @return Status codes returned by Virtio->WriteDevice() / Virtio->ReadDevice(). **/ -#define VIRTIO_CFG_WRITE(Dev, Field, Value) (VirtioWriteDevice ( \ - (Dev)->VirtIo, \ - OFFSET_OF_VSCSI (Field), \ - SIZE_OF_VSCSI (Field), \ - (Value) \ +#define VIRTIO_CFG_WRITE(Dev, Field, Value) ((Dev)->VirtIo->WriteDevice ( \ + (Dev)->VirtIo, \ + OFFSET_OF_VSCSI (Field), \ + SIZE_OF_VSCSI (Field), \ + (Value) \ )) -#define VIRTIO_CFG_READ(Dev, Field, Pointer) (VirtioReadDevice ( \ - (Dev)->VirtIo, \ - OFFSET_OF_VSCSI (Field), \ - SIZE_OF_VSCSI (Field), \ - sizeof *(Pointer), \ - (Pointer) \ +#define VIRTIO_CFG_READ(Dev, Field, Pointer) ((Dev)->VirtIo->ReadDevice ( \ + (Dev)->VirtIo, \ + OFFSET_OF_VSCSI (Field), \ + SIZE_OF_VSCSI (Field), \ + sizeof *(Pointer), \ + (Pointer) \ )) -- 1.8.3.1 ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel