Skip to content

RFC virtio_pci: modern driver

Michael S. Tsirkin linux-api linux-arch lkml virtualization 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest5 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5virtio_pci: add VIRTIO_PCI_NO_LEGACYinclude/uapi/linux/virtio_pci.h+10 -50 replies
2/5virtio-pci: define layout for virtio 1.0include/uapi/linux/virtio_pci.h+62 -00 replies
2/5virtio-pci: define layout for virtio 1.0include/uapi/linux/virtio_pci.h+62 -00 replies
3/5pci: add pci_iomap_rangeinclude/asm-generic/pci_iomap.h lib/pci_iomap.c+45 -62 replies
3/5pci: add pci_iomap_rangeinclude/asm-generic/pci_iomap.h lib/pci_iomap.c+45 -60 replies
4/5virtio_pci: modern driverdrivers/virtio/Makefile drivers/virtio/virtio_pci_common.h drivers/virtio/virtio_pci_modern.c +1 more+610 -40 replies
5/5virtio_pci: macros for PCI layout offsets.drivers/virtio/virtio_pci_modern.c+61 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH RFC 0/5] virtio_pci: modern driver

Based on Rusty's patches.
Coding style and funny jokes are his.
Bugs and a star wars reference (should be easy to spot) are mine. Untested, but useful as basis for beginning the qemu work.

TODO:
= simplify probing: use a common probe function, probe with modern driver
first, if that fails - probe with legacy driver.
BUGS: ATM legacy driver can win and drive a transitional device
Until this is fixed, to test, disable transitional mode in device

More ideas (optional):
= allow disabling legacy driver
= support shared IRQ for config, read ISR
= allocate VQ ring in chunks, good for large rings
= use less meory for small VQ ring in chunks, good for large rings

General TODOs:
= add config generation support
= move alloc_virtqueue_pages to virtio core, reuse in e.g. ccw

Michael S Tsirkin (1):
pci: add pci_iomap_range

Michael S. Tsirkin (2):
virtio_pci: add VIRTIO_PCI_NO_LEGACY
virtio_pci: modern driver

Rusty Russell (2):
virtio-pci: define layout for virtio 1.0
virtio_pci: macros for PCI layout offsets.

 drivers/virtio/virtio_pci_common.h |  23 +-
 include/asm-generic/pci_iomap.h    |   5 +
 include/uapi/linux/virtio_pci.h    | 106 ++++++-
 drivers/virtio/virtio_pci_modern.c | 621 +++++++++++++++++++++++++++++++++++++
 lib/pci_iomap.c                    |  46 ++-
 drivers/virtio/Makefile            |   2 +-
 6 files changed, 788 insertions(+), 15 deletions(-)
 create mode 100644 drivers/virtio/virtio_pci_modern.c
Signature · 1 line
MST