
Hi, On 18/02/2017 15:09, Andrea Bolognani wrote:
On Fri, 2017-02-17 at 15:56 +0100, Andrea Bolognani wrote:
libvirt is picking GICv3 here because QEMU reports it as a viable emulated GIC; however, as I understand it the emulated GICv3 doesn't have MSI support, and without that PCIe can't work. If you manually switch to GICv2 you should be able to run the guest succesfully.
We should find a way to detect whether the interrupt controller will support PCIe, and fall back to using virtio-mmio when it doesn't. Eric, any ideas about how we could achieve that?
Actually, we will probably want to do the opposite, eg. pick GICv2 over GICv3 if the latter doesn't allow us to use PCIe.
Yes I think the easiest solution is to select the GICv2 + v2m combo to get the MSI support. This depends on whether the limitations linked to GICv2 usage are acceptable in your case (max 8 cpus for instance). Thanks Eric
-- Andrea Bolognani / Red Hat / Virtualization