]> git.proxmox.com Git - mirror_edk2.git/commit - OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c
OvmfPkg: VIRTIO_DEVICE_PROTOCOL: pass VRING object to SetQueueAddress()
authorLaszlo Ersek <lersek@redhat.com>
Sat, 12 Mar 2016 02:39:00 +0000 (03:39 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Wed, 6 Apr 2016 11:04:03 +0000 (13:04 +0200)
commit07af4eee931210bad04b98d37a35bd0f61ba6bd3
treea9f71fa883463b913ae24fc1d719d98da5386530
parent235be6a0f197d6c103615ae2bf7b329ece890da1
OvmfPkg: VIRTIO_DEVICE_PROTOCOL: pass VRING object to SetQueueAddress()

In virtio-1.0, it is not enough to pass the base address of the virtio
queue to the hypervisor (as a frame number); instead it will want the
addresses of the descriptor table, the available ring, and the used ring
separately. Pass the VRING object to the SetQueueAddress() member
function; this will enable a virtio-1.0 implementation. Convert the
current producers and consumers to this prototype.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
OvmfPkg/Include/Protocol/VirtioDevice.h
OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h
OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c
OvmfPkg/VirtioBlkDxe/VirtioBlk.c
OvmfPkg/VirtioNetDxe/SnpInitialize.c
OvmfPkg/VirtioPciDeviceDxe/VirtioPciDevice.h
OvmfPkg/VirtioPciDeviceDxe/VirtioPciFunctions.c
OvmfPkg/VirtioRngDxe/VirtioRng.c
OvmfPkg/VirtioScsiDxe/VirtioScsi.c