Changelog compare to v2: - Fixed the commit message for the lines to not be longer than 74 characters - Fixed the line in the changed source code to not be longer than 79 characters. - Fixed PCI I/O access. There was a mismatch in the way to access the configuration and device specific regions. - Clarified the note about MSI-X in VirtioPciDeviceDxe
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.mar...@arm.com> Olivier Martin (10): OvmfPkg/IndustryStandard: Fixed 'VirtioNet.h' line endings OvmfPkg/Virtio.h: Added VirtIo Subsystem IDs OvmfPkg/VirtioDevice.h: Introduced VIRTIO_DEVICE_PROTOCOL protocol OvmfPkg/VirtioPciDeviceDxe: Implement VIRTIO_DEVICE_PROTOCOL for VirtIo Devices over PCI OvmfPkg/VirtioMmioDeviceLib: Implement VIRTIO_DEVICE_PROTOCOL for VirtIo Devices over MMIO OvmfPkg: Make the VirtIo devices use the new VIRTIO_DEVICE_PROTOCOL OvmfPkg/Virtio.h: Removed definition of VIRTIO_HDR OvmfPkg: Removed magic values for the Virtio Sub-System ID in the PCI device drivers ArmPlatformPkg/ArmVExpressPkg: Added the empty 'ArmFvpDxe' platform UEFI driver ArmPlatformPkg/ArmFvpDxe: Added Virtio Block support .../ArmVExpressPkg/ArmFvpDxe/ArmFvpDxe.c | 73 +++ .../ArmVExpressPkg/ArmFvpDxe/ArmFvpDxe.inf | 38 ++ .../ArmVExpress-RTSM-AEMv8Ax4-foundation.dsc | 10 + .../ArmVExpress-RTSM-AEMv8Ax4-foundation.fdf | 6 + .../ArmVExpressPkg/ArmVExpress-RTSM-AEMv8Ax4.dsc | 10 + .../ArmVExpressPkg/ArmVExpress-RTSM-AEMv8Ax4.fdf | 8 +- OvmfPkg/Include/IndustryStandard/Virtio.h | 31 +- OvmfPkg/Include/IndustryStandard/VirtioBlk.h | 21 +- OvmfPkg/Include/IndustryStandard/VirtioNet.h | 196 +++--- OvmfPkg/Include/IndustryStandard/VirtioScsi.h | 27 +- OvmfPkg/Include/Library/VirtioLib.h | 49 +- OvmfPkg/Include/Library/VirtioMmioDeviceLib.h | 48 ++ OvmfPkg/Include/Protocol/VirtioDevice.h | 313 ++++++++++ OvmfPkg/Library/VirtioLib/VirtioLib.c | 126 +--- .../Library/VirtioMmioDeviceLib/VirtioMmioDevice.c | 201 ++++++ .../Library/VirtioMmioDeviceLib/VirtioMmioDevice.h | 160 +++++ .../VirtioMmioDeviceFunctions.c | 297 +++++++++ .../VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf | 43 ++ OvmfPkg/OvmfPkg.dec | 1 + OvmfPkg/OvmfPkgIa32.dsc | 1 + OvmfPkg/OvmfPkgIa32.fdf | 1 + OvmfPkg/OvmfPkgIa32X64.dsc | 1 + OvmfPkg/OvmfPkgIa32X64.fdf | 1 + OvmfPkg/OvmfPkgX64.dsc | 1 + OvmfPkg/OvmfPkgX64.fdf | 1 + OvmfPkg/VirtioBlkDxe/VirtioBlk.c | 165 ++---- OvmfPkg/VirtioBlkDxe/VirtioBlk.h | 15 +- OvmfPkg/VirtioBlkDxe/VirtioBlk.inf | 4 +- OvmfPkg/VirtioNetDxe/ComponentName.c | 4 +- OvmfPkg/VirtioNetDxe/DriverBinding.c | 145 ++--- OvmfPkg/VirtioNetDxe/Events.c | 2 +- OvmfPkg/VirtioNetDxe/SnpGetStatus.c | 2 +- OvmfPkg/VirtioNetDxe/SnpInitialize.c | 33 +- OvmfPkg/VirtioNetDxe/SnpReceive.c | 12 +- OvmfPkg/VirtioNetDxe/SnpShutdown.c | 2 +- OvmfPkg/VirtioNetDxe/SnpTransmit.c | 12 +- OvmfPkg/VirtioNetDxe/VirtioNet.h | 12 +- OvmfPkg/VirtioNetDxe/VirtioNet.inf | 2 +- OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.c | 652 ++++++++++++++++++++ OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.h | 267 ++++++++ OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf | 43 ++ OvmfPkg/VirtioPciDeviceDxe/VirtioPciFunctions.c | 288 +++++++++ OvmfPkg/VirtioScsiDxe/VirtioScsi.c | 151 ++---- OvmfPkg/VirtioScsiDxe/VirtioScsi.h | 24 +- OvmfPkg/VirtioScsiDxe/VirtioScsi.inf | 2 +- 45 files changed, 2876 insertions(+), 625 deletions(-) create mode 100644 ArmPlatformPkg/ArmVExpressPkg/ArmFvpDxe/ArmFvpDxe.c create mode 100644 ArmPlatformPkg/ArmVExpressPkg/ArmFvpDxe/ArmFvpDxe.inf create mode 100644 OvmfPkg/Include/Library/VirtioMmioDeviceLib.h create mode 100644 OvmfPkg/Include/Protocol/VirtioDevice.h create mode 100644 OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.c create mode 100644 OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h create mode 100644 OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c create mode 100644 OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf create mode 100644 OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.c create mode 100644 OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.h create mode 100644 OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf create mode 100644 OvmfPkg/VirtioPciDeviceDxe/VirtioPciFunctions.c ------------------------------------------------------------------------------ LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel