On 27.08.2013, at 12:32, Benjamin Herrenschmidt wrote: > On Tue, 2013-08-27 at 13:26 +0300, Michael S. Tsirkin wrote: >> e would end up with something like >>> >>> diff --git a/kvm-all.c b/kvm-all.c >>> index 716860f..ca3251e 100644 >>> --- a/kvm-all.c >>> +++ b/kvm-all.c >>> @@ -1190,6 +1190,10 @@ int kvm_irqchip_add_msi_route(KVMState *s, >>> MSIMessage msg) >>> struct kvm_irq_routing_entry kroute = {}; >>> int virq; >>> >>> + if (kvm_gsi_routing_linear()) { >>> + return msi.data & 0xffff; >>> + } >>> + > > I haven't followed the whole discussion, Alexey, is this the per-host > bridge source number or the global XIRR (XICS interrupt number) ?
This is a global interrupt number now. One of Alexey's previous patches changed it to fit that scheme, which makes it a lot easier for irqfd and the likes :). > Because in the latter case, it can be up to 24 bits... (And yes, MSI > data is limited to 16). Oh. We define the MSI data field from QEMU anyways, so maybe we should just not mask at all. Alex > However maybe we can decide arbitrarily that under qemu/kvm we only > support 16-bit XIRRs (it's fine, from a PAPR perspective at least if it > keep things simpler). > > Cheers, > Ben. > >