[PATCH v2 0/7] libqos: add VIRTIO PCI 1.0 support

Stefan Hajnoczi posted 7 patches 4 years, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20191011085611.4194-1-stefanha@redhat.com
Test FreeBSD passed
Test asan passed
Test checkpatch passed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu failed
Test docker-quick@centos7 passed
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Thomas Huth <thuth@redhat.com>
There is a newer version of this series
tests/Makefile.include           |   1 +
tests/libqos/pci.h               |   2 +-
tests/libqos/virtio-pci-modern.h |  17 ++
tests/libqos/virtio-pci.h        |  34 ++-
tests/libqos/virtio.h            |   2 +-
tests/libqos/pci.c               |  18 +-
tests/libqos/virtio-mmio.c       |   6 +-
tests/libqos/virtio-pci-modern.c | 412 +++++++++++++++++++++++++++++++
tests/libqos/virtio-pci.c        |  92 ++++---
9 files changed, 537 insertions(+), 47 deletions(-)
create mode 100644 tests/libqos/virtio-pci-modern.h
create mode 100644 tests/libqos/virtio-pci-modern.c
[PATCH v2 0/7] libqos: add VIRTIO PCI 1.0 support
Posted by Stefan Hajnoczi 4 years, 6 months ago
v2:
 * Fix checkpatch.pl issues, except MAINTAINERS file warning.  libqos already
   has maintainers and the new virtio-pci-modern.[ch] files don't need extra
   entries since they are already covered by the existing libqos/ entry.

New VIRTIO devices are Non-Transitional.  This means they only expose the
VIRTIO 1.0 PCI register interface.

The libqos virtio-pci.c code only supports Legacy and Transitional devices (in
Legacy mode).  This patch series add VIRTIO PCI 1.0 support so that tests can
run against Non-Transitional devices too.

Note that this does not actually add VIRTIO 1.0 support to our tests.  That
would require extending feature negotiation (VIRTIO_F_VERSION_1).  I will look
at this as a separate step but the most pressing issue is getting libqos to
work with Non-Transitional virtio-pci devices.

Stefan Hajnoczi (7):
  libqos: extract Legacy virtio-pci.c code
  libqos: add iteration support to qpci_find_capability()
  libqos: pass full QVirtQueue to set_queue_address()
  libqos: add MSI-X callbacks to QVirtioPCIDevice
  libqos: expose common virtqueue setup/cleanup functions
  libqos: make the virtio-pci BAR index configurable
  libqos: add VIRTIO PCI 1.0 support

 tests/Makefile.include           |   1 +
 tests/libqos/pci.h               |   2 +-
 tests/libqos/virtio-pci-modern.h |  17 ++
 tests/libqos/virtio-pci.h        |  34 ++-
 tests/libqos/virtio.h            |   2 +-
 tests/libqos/pci.c               |  18 +-
 tests/libqos/virtio-mmio.c       |   6 +-
 tests/libqos/virtio-pci-modern.c | 412 +++++++++++++++++++++++++++++++
 tests/libqos/virtio-pci.c        |  92 ++++---
 9 files changed, 537 insertions(+), 47 deletions(-)
 create mode 100644 tests/libqos/virtio-pci-modern.h
 create mode 100644 tests/libqos/virtio-pci-modern.c

-- 
2.21.0