libqos: add VIRTIO PCI 1.0 support
commitd08f68b8e858fc761e88ae66349b6eab1235e3fe
authorStefan Hajnoczi <stefanha@redhat.com>
Wed, 23 Oct 2019 10:04:25 +0000 (23 11:04 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 25 Oct 2019 11:46:22 +0000 (25 07:46 -0400)
treeab779d3734554f4107c9f7d11240a73d7796cbbb
parent9598f9e4023cc4b0f1f4c4964e4d0debc30cc77c
libqos: add VIRTIO PCI 1.0 support

Implement the VIRTIO 1.0 virtio-pci interface.  The main change here is
that the register layout is no longer a fixed layout in BAR 0.  Instead
we have to iterate of PCI Capabilities to find descriptions of where
various registers are located.  The vring registers are also more
fine-grained, allowing for more flexible vring layouts, but we don't
take advantage of that.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Sergio Lopez <slp@redhat.com>
Message-Id: <20191023100425.12168-17-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
tests/Makefile.include
tests/libqos/virtio-pci-modern.c [new file with mode: 0644]
tests/libqos/virtio-pci-modern.h [new file with mode: 0644]
tests/libqos/virtio-pci.c
tests/libqos/virtio-pci.h