[PATCH 0/3] kvmtool: fix vhost-net support
From: Andre Przywara
Date: Tue Mar 01 2016 - 11:49:47 EST
Hi,
this mini-series is a spin-off of my ITS emulation series, so those
patches have been on the list before [1].
I repost them separately here to get them merged, because patch 2/3
fixes a real issue:
Vhost-net support seems to be broken (on x86). In my experiments
(-n mode=tap,script=/etc/qemu-ifup,vhost=1) the guest hangs because
it waits for an virtio IRQ to trigger. But the MSI never makes it
through, because virtio-pci changes the MSI configuration _after_
having set up the IRQ routing for this interrupt. So we need to update
the IRQ routing in case PCI config space accesses change the MSIs.
I put the move of the IRQ routing code into generic code here as 1/3,
since we need this anyway later and swapping the two patches looks
like pain, which we would also need to redo later anyway. Also it
should help to consolidate other IRQ related patches.
Finally we deny vhost-net on any bi-endian architecture at the moment,
which is unnecessary as long as host and guest use the same endianess.
Patch 3/3 fixes this.
Please have a look and apply!
Cheers,
Andre.
[1]: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/357884.html
Andre Przywara (3):
irq: move IRQ routing into irq.c
MSI-X: update GSI routing after changed MSI-X configuration
virtio: fix endianness check for vhost support
Makefile | 4 +-
arm/irq.c | 9 ----
hw/pci-shmem.c | 2 +
include/kvm/irq.h | 6 +++
include/kvm/virtio.h | 9 +++-
irq.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++
mips/irq.c | 10 -----
powerpc/irq.c | 31 --------------
virtio/net.c | 2 +-
virtio/pci.c | 54 ++++++++++++++++++++----
x86/irq.c | 45 +++-----------------
11 files changed, 181 insertions(+), 105 deletions(-)
delete mode 100644 arm/irq.c
delete mode 100644 mips/irq.c
delete mode 100644 powerpc/irq.c
--
2.6.4