]> git.proxmox.com Git - mirror_edk2.git/commit
OvmfPkg/VirtioPciDeviceDxe: Implement VIRTIO_DEVICE_PROTOCOL for VirtIo Devices over PCI
authorOlivier Martin <olivier.martin@arm.com>
Wed, 11 Dec 2013 16:57:49 +0000 (16:57 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 11 Dec 2013 16:57:49 +0000 (16:57 +0000)
commit3bb56c062e9a57c575f2375a7078ac37e9a86dd5
tree61967f83a14208b6863fcd311ad7b9039159c38c
parentfc4d1ce57406871ae699b745d4e96c8241c6949b
OvmfPkg/VirtioPciDeviceDxe: Implement VIRTIO_DEVICE_PROTOCOL for VirtIo Devices over PCI

This change implements the VIRTIO_DEVICE_PROTOCOL for the PCI transport
layer.
The VirtIo device drivers will interact with the PCI-based VirtIo devices
through this protocol implementation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
v5:
- updated comment block on VirtioPciDeviceRead()
- return EFI_UNSUPPORTED instead of failed ASSERT() in
  VirtioPciSetPageSize()
- VirtioPciIoRead(): restore the original requirement that FieldSize equal
  BufferSize exactly (not only divide it). The looping added in v4 did not
  match the comment block, and the only place that used it in v4 (ie.
  VirtioNetGetFeatures()) needs an open-coded loop anyway (will be done in
  a later part of v5).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14964 6f19259b-4bc3-4df7-8a09-765794883524
OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.c [new file with mode: 0644]
OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.h [new file with mode: 0644]
OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf [new file with mode: 0644]
OvmfPkg/VirtioPciDeviceDxe/VirtioPciFunctions.c [new file with mode: 0644]