mbox series

[kvmtool,v2,00/12] Virtio v1 support

Message ID 20220701142434.75170-1-jean-philippe.brucker@arm.com (mailing list archive)
Headers show
Series Virtio v1 support | expand

Message

Jean-Philippe Brucker July 1, 2022, 2:24 p.m. UTC
This is version 2 of the modern virtio support for kvmtool.

Since v1 [1]:
* Repaired vhost-net for pci-modern, by adding patches 4 and 5
* Added patch 6 that extends the feature fields and simplifies modern
  features handling
* Added patch 12, a small cleanup

Since vsock and scsi devices have been broken for a while, this series
doesn't attempt to make them work but I have another series [2] to fix
the vhost support, that I will send later.

[1] https://lore.kernel.org/kvm/20220607170239.120084-1-jean-philippe.brucker@arm.com/
[2] https://jpbrucker.net/git/kvmtool/log/?h=virtio/devel

Jean-Philippe Brucker (12):
  virtio/pci: Delete MSI routes
  virtio: Extract init_vq() for PCI and MMIO
  virtio/pci: Make doorbell offset dynamic
  virtio/pci: Use the correct eventfd for vhost notification
  virtio/net: Set vhost backend after queue address
  virtio: Prepare for more feature bits
  virtio: Move PCI transport to pci-legacy
  virtio: Add support for modern virtio-pci
  virtio: Move MMIO transport to mmio-legacy
  virtio: Add support for modern virtio-mmio
  virtio/pci: Initialize all vectors to VIRTIO_MSI_NO_VECTOR
  virtio/pci: Remove VIRTIO_PCI_F_SIGNAL_MSI

 Makefile                          |   4 +
 arm/include/arm-common/kvm-arch.h |   6 +-
 include/kvm/kvm-config.h          |   1 +
 include/kvm/kvm.h                 |   6 +
 include/kvm/pci.h                 |  11 +
 include/kvm/virtio-mmio.h         |  29 ++-
 include/kvm/virtio-pci-dev.h      |   4 +
 include/kvm/virtio-pci.h          |  50 +++-
 include/kvm/virtio.h              |   8 +-
 mips/include/kvm/kvm-arch.h       |   2 -
 powerpc/include/kvm/kvm-arch.h    |   2 -
 riscv/include/kvm/kvm-arch.h      |   3 +-
 x86/include/kvm/kvm-arch.h        |   2 -
 builtin-run.c                     |   2 +
 virtio/9p.c                       |   2 +-
 virtio/balloon.c                  |   2 +-
 virtio/blk.c                      |   2 +-
 virtio/console.c                  |   2 +-
 virtio/core.c                     |  16 +-
 virtio/mmio-legacy.c              | 150 ++++++++++++
 virtio/mmio-modern.c              | 161 ++++++++++++
 virtio/mmio.c                     | 183 ++------------
 virtio/net.c                      |  15 +-
 virtio/pci-legacy.c               | 205 ++++++++++++++++
 virtio/pci-modern.c               | 390 ++++++++++++++++++++++++++++++
 virtio/pci.c                      | 317 +++++-------------------
 virtio/rng.c                      |   2 +-
 virtio/scsi.c                     |   2 +-
 virtio/vsock.c                    |   2 +-
 29 files changed, 1131 insertions(+), 450 deletions(-)
 create mode 100644 virtio/mmio-legacy.c
 create mode 100644 virtio/mmio-modern.c
 create mode 100644 virtio/pci-legacy.c
 create mode 100644 virtio/pci-modern.c

Comments

Will Deacon July 1, 2022, 3:41 p.m. UTC | #1
On Fri, 1 Jul 2022 15:24:22 +0100, Jean-Philippe Brucker wrote:
> This is version 2 of the modern virtio support for kvmtool.
> 
> Since v1 [1]:
> * Repaired vhost-net for pci-modern, by adding patches 4 and 5
> * Added patch 6 that extends the feature fields and simplifies modern
>   features handling
> * Added patch 12, a small cleanup
> 
> [...]

Applied to kvmtool (master), thanks!

[01/12] virtio/pci: Delete MSI routes
        https://git.kernel.org/will/kvmtool/c/c6590f782be6
[02/12] virtio: Extract init_vq() for PCI and MMIO
        https://git.kernel.org/will/kvmtool/c/d0607293c937
[03/12] virtio/pci: Make doorbell offset dynamic
        https://git.kernel.org/will/kvmtool/c/21c9bc744087
[04/12] virtio/pci: Use the correct eventfd for vhost notification
        https://git.kernel.org/will/kvmtool/c/73fd13686e22
[05/12] virtio/net: Set vhost backend after queue address
        https://git.kernel.org/will/kvmtool/c/de166e5f7edc
[06/12] virtio: Prepare for more feature bits
        https://git.kernel.org/will/kvmtool/c/3c8f82b8d4a7
[07/12] virtio: Move PCI transport to pci-legacy
        https://git.kernel.org/will/kvmtool/c/930876d51193
[08/12] virtio: Add support for modern virtio-pci
        https://git.kernel.org/will/kvmtool/c/b0d56e3c994a
[09/12] virtio: Move MMIO transport to mmio-legacy
        https://git.kernel.org/will/kvmtool/c/22a0823676f1
[10/12] virtio: Add support for modern virtio-mmio
        https://git.kernel.org/will/kvmtool/c/5fe5eb04de80
[11/12] virtio/pci: Initialize all vectors to VIRTIO_MSI_NO_VECTOR
        https://git.kernel.org/will/kvmtool/c/3d5cefc2eb3e
[12/12] virtio/pci: Remove VIRTIO_PCI_F_SIGNAL_MSI
        https://git.kernel.org/will/kvmtool/c/c86ef0b86366

Cheers,