[ipxe-devel] [PATCH 0/4] Implement virtio 1.0 support

Ladi Prosek lprosek at redhat.com
Wed Mar 9 18:19:59 UTC 2016


The goal here is to support booting from modern only (non-transitional)
virtio-net devices. The code strives to comply with the virtio 1.0 spec
and is heavily inspired by the Linux kernel implementation.

One notable divergence from Linux is the explicit differentiation
between port I/O and memory I/O due to the lack of __iomem in iPXE. See
struct virtio_pci_region for details.

 src/drivers/bus/pciextra.c     |  54 ++++++---
 src/drivers/bus/virtio-pci.c   | 213 ++++++++++++++++++++++++++++++++-
 src/drivers/bus/virtio-ring.c  |  12 +-
 src/drivers/net/virtio-net.c   | 259 +++++++++++++++++++++++++++++++++++++++--
 src/drivers/net/virtio-net.h   |  18 +++
 src/include/ipxe/errfile.h     |   1 +
 src/include/ipxe/pci.h         |   2 +
 src/include/ipxe/virtio-pci.h  | 231 ++++++++++++++++++++++++++++++++++++
 src/include/ipxe/virtio-ring.h |   9 ++
 9 files changed, 769 insertions(+), 30 deletions(-)

[PATCH 1/4] [pci] Add pci_find_next_capability
[PATCH 2/4] [virtio] Add virtio 1.0 constants and data structures
[PATCH 3/4] [virtio] Add virtio 1.0 PCI support
[PATCH 4/4] [virtio] Add virtio-net 1.0 support




More information about the ipxe-devel mailing list