The patch updates VirtioNetDxe to use IOMMU-like member functions to map the system physical address to device address for buffers (including vring, device specific request and response pointed by vring descriptor, and any furter memory reference by those request and response).
Repo: https://github.com/codomania/edk2 Branch: virtionet-2 Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Jordan Justen <jordan.l.jus...@intel.com> Cc: Tom Lendacky <thomas.lenda...@amd.com> Cc: Laszlo Ersek <ler...@redhat.com> Brijesh Singh (8): OvmfPkg/VirtioNetDxe: add helper VirtioNetUninitRing() OvmfPkg/VirtioNetDxe: map VRINGs using VirtioRingMap() OvmfPkg/VirtioNetDxe: alloc RxBuf using AllocateSharedPages() OvmfPkg/VirtioNetDxe: dynamically alloc transmit header OvmfPkg/VirtioNetDxe: update TechNotes OvmfPkg/VirtioNetDxe: add Tx packet map/unmap helper functions OvmfPkg/VirtioNetDxe: map caller-supplied Tx packet to device-address OvmfPkg/VirtioNetDxe: negotiate VIRTIO_F_IOMMU_PLATFORM OvmfPkg/VirtioNetDxe/VirtioNet.inf | 1 + OvmfPkg/VirtioNetDxe/VirtioNet.h | 51 ++++- OvmfPkg/VirtioNetDxe/SnpGetStatus.c | 30 ++- OvmfPkg/VirtioNetDxe/SnpInitialize.c | 209 ++++++++++++++---- OvmfPkg/VirtioNetDxe/SnpReceive.c | 5 +- OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c | 222 +++++++++++++++++++- OvmfPkg/VirtioNetDxe/SnpShutdown.c | 4 +- OvmfPkg/VirtioNetDxe/SnpTransmit.c | 34 ++- OvmfPkg/VirtioNetDxe/TechNotes.txt | 28 ++- 9 files changed, 516 insertions(+), 68 deletions(-) -- 2.9.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel