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 <[email protected]> Cc: Jordan Justen <[email protected]> Cc: Tom Lendacky <[email protected]> Cc: Laszlo Ersek <[email protected]> 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 [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

