Changes in v3: - Rebased to current master. - The last patch updates the README file so that NIC driver possibilities are all listed and their priorities are clearly represented. The iPXE drivers take precedence over both VirtioNetDxe (this driver) and Intel's E1000 driver, both in recommendation and during actual OVMF boot.
Available for fetching as well from <https://github.com/lersek/edk2/commits/virtio_net_v3>. The series is a repost of <http://thread.gmane.org/gmane.comp.bios.tianocore.devel/2675>: > [PATCH 00/15] OvmfPkg: introduce virtio-net driver > > The tech notes (in the first patch) should say it all. > > The series adds files to the tree but doesn't include them in the > build until the last patch. The series is laid out in logical layers, > following the structure of the technical notes. Gradual compilation is > not the purpose, helping review is. Please review, maybe test, and apply. Thanks! Laszlo Ersek (15): OvmfPkg: VirtioNetDxe: add technical notes OvmfPkg: VirtioNetDxe: declarations and macro definitions OvmfPkg: VirtioNetDxe: add entry point OvmfPkg: VirtioNetDxe: Component Name Protocol implementation OvmfPkg: VirtioNetDxe: driver binding OvmfPkg: VirtioNetDxe: Simple Network Protocol members Start and Stop OvmfPkg: VirtioNetDxe: add SNP.Initialize and shared dependencies OvmfPkg: VirtioNetDxe: SNP.Shutdown OvmfPkg: VirtioNetDxe: SNP.Receive OvmfPkg: VirtioNetDxe: implement Tx: SNP.Transmit and SNP.GetStatus OvmfPkg: VirtioNetDxe: map multicast IP to MAC: SNP.McastIpToMac OvmfPkg: VirtioNetDxe: emulate Rx filter configuration: SNP.ReceiveFilters OvmfPkg: VirtioNetDxe: definitions of unsupported SNP member functions OvmfPkg: VirtioNetDxe: WaitForPacket and EXIT_BOOT_SERVICES event callbacks OvmfPkg: enable building VirtioNetDxe OvmfPkg/Include/IndustryStandard/VirtioNet.h | 99 ++++ OvmfPkg/VirtioNetDxe/VirtioNet.h | 285 +++++++++++ OvmfPkg/VirtioNetDxe/ComponentName.c | 179 +++++++ OvmfPkg/VirtioNetDxe/DriverBinding.c | 676 ++++++++++++++++++++++++++ OvmfPkg/VirtioNetDxe/EntryPoint.c | 52 ++ OvmfPkg/VirtioNetDxe/Events.c | 92 ++++ OvmfPkg/VirtioNetDxe/SnpGetStatus.c | 160 ++++++ OvmfPkg/VirtioNetDxe/SnpInitialize.c | 461 ++++++++++++++++++ OvmfPkg/VirtioNetDxe/SnpMcastIpToMac.c | 110 +++++ OvmfPkg/VirtioNetDxe/SnpReceive.c | 190 ++++++++ OvmfPkg/VirtioNetDxe/SnpReceiveFilters.c | 107 ++++ OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c | 53 ++ OvmfPkg/VirtioNetDxe/SnpShutdown.c | 80 +++ OvmfPkg/VirtioNetDxe/SnpStart.c | 66 +++ OvmfPkg/VirtioNetDxe/SnpStop.c | 67 +++ OvmfPkg/VirtioNetDxe/SnpTransmit.c | 171 +++++++ OvmfPkg/VirtioNetDxe/SnpUnsupported.c | 162 ++++++ 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/README | 37 +- OvmfPkg/VirtioNetDxe/TechNotes.txt | 355 ++++++++++++++ OvmfPkg/VirtioNetDxe/VirtioNet.inf | 60 +++ 26 files changed, 3455 insertions(+), 13 deletions(-) create mode 100644 OvmfPkg/Include/IndustryStandard/VirtioNet.h create mode 100644 OvmfPkg/VirtioNetDxe/VirtioNet.h create mode 100644 OvmfPkg/VirtioNetDxe/ComponentName.c create mode 100644 OvmfPkg/VirtioNetDxe/DriverBinding.c create mode 100644 OvmfPkg/VirtioNetDxe/EntryPoint.c create mode 100644 OvmfPkg/VirtioNetDxe/Events.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpGetStatus.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpInitialize.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpMcastIpToMac.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpReceive.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpReceiveFilters.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpSharedHelpers.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpShutdown.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpStart.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpStop.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpTransmit.c create mode 100644 OvmfPkg/VirtioNetDxe/SnpUnsupported.c create mode 100644 OvmfPkg/VirtioNetDxe/TechNotes.txt create mode 100644 OvmfPkg/VirtioNetDxe/VirtioNet.inf ------------------------------------------------------------------------------ AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel