RFC virtio_pci: modern driver
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest5 patches 2 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | virtio_pci: add VIRTIO_PCI_NO_LEGACYinclude/ | +10 | 0 replies | |
| 2/5 | virtio-pci: define layout for virtio 1.0include/ | +62 | 0 replies | |
| 2/5 | virtio-pci: define layout for virtio 1.0include/ | +62 | 0 replies | |
| 3/5 | pci: add pci_iomap_rangeinclude/ lib/ | +45 | 2 replies | |
| 3/5 | pci: add pci_iomap_rangeinclude/ lib/ | +45 | 0 replies | |
| 4/5 | virtio_pci: modern driverdrivers/ drivers/ drivers/ +1 more | +610 | 0 replies | |
| 5/5 | virtio_pci: macros for PCI layout offsets.drivers/ | +61 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
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