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


Reply via email to