On Mon, May 06, 2019 at 11:13:28AM -0500, Paolo Bonzini wrote: > On 05/05/19 04:06, Peter Xu wrote: > >> I wonder if it's possible to untangle this and make the irqchip > >> option stop affecting guest ABI on 4.1+ machine-types? This way > >> QEMU could choose smarter defaults in the future without the > >> compatibility code hassle. > > Hi, Eduardo, > > > > Do you mean to enable IOMMU IR for kernel-irqchip=on? If so, I would > > say it's not trivial... The major issue is that we probably need to > > explicitly kick QEMU for every kernel IOAPIC setups since QEMU is the > > only one who knows everything about interrupt remapping, while KVM > > don't even have such a mechanism so far. > > Right, it's not easy and it would be anyway possible only on kernels. > There would have to be a mechanism to setup IOAPIC->MSI routes, similar > to irqchip=split, and as Peter mentions an MMIO exit on writes to the > routing table.
I don't mean we necessarily should enable IR for kernel-irqchip=on too. I'd just prefer the default setting to not depend on the kernel-irqchip option. x86-iommu could either have intremap=on as the default (and refuse to run with kernel-irqchip=on without explicit intremap=off), or simply default to intremap=off. But as Paolo indicated elsewhere, this is not the only guest ABI difference between "on" and "split". Probably it's not worth the hassle to try to to untangle this. -- Eduardo
