On Fri, 2012-10-26 at 12:40 +0200, Paolo Bonzini wrote: > Il 26/10/2012 12:37, Benjamin Herrenschmidt ha scritto: > >> > Wiring which MSI-X interrupts go to which source controllers. If you > >> > have one source controller per PCI bridge, you need to tell the kernel > >> > the mapping between MSI messages interrupts and PCI bridges, and update > >> > it whenever the MSI masking changes. > > Not sure I get it. Are you talking in the context of PCI pass-through ? > > Not just that, it's also for emulated devices that do MSI-X (virtio-pci > does). Then I really don't get it. > > > The other problem is configuring the redirection table. If you need >64 > > > sources you need ioctls like KVM_GET/SET_IRQCHIP_ONE_REG. > > Well, all of that is totally specific to the IO-APIC design & > > limitations as far as I can tell. What is the "redirection table" ? > > The wiring between source and presentation controllers, roughly. I > suppose that's what Paul referred to when he said there's 64 bits of > config info per source in the source controllers. But that's the point. We don't have such "wiring". The interrupt number space is global. In HW it's via special messages in the fabric. The firmware configures the various source controllers at boot time by assigning them a BUID which basically comprises the top bits of the interrupt number. Or do you mean the routing configured by the user ? IE. Affinity ? If yes, then that's indeed what the 64-bit per source is. Each interrupt source has some state including the configured target presentation controller (plus associated link info for distributed interrupts), a priority setting, and some internal state bits that need to be preserved in the case of migration. Cheers, Ben. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html