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.
>
>