[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 11/25] spapr: describe the XIVE interrupt source
From: |
Cédric Le Goater |
Subject: |
Re: [Qemu-devel] [PATCH 11/25] spapr: describe the XIVE interrupt source flags |
Date: |
Sat, 2 Dec 2017 15:38:44 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 |
On 12/02/2017 03:24 PM, Benjamin Herrenschmidt wrote:
> On Tue, 2017-11-28 at 17:40 +1100, David Gibson wrote:
>>> @@ -368,6 +368,10 @@ static void spapr_xive_realize(DeviceState *dev, Error
>>> **errp)
>>> /* Allocate the IVT (Interrupt Virtualization Table) */
>>> xive->ivt = g_malloc0(xive->nr_irqs * sizeof(XiveIVE));
>>>
>>> + /* All sources are emulated under the XIVE object and share the
>>> + * same characteristic */
>>> + xive->flags = XIVE_SRC_TRIGGER;
>>
>> You never actually use this field. And since it always has the same
>> value, is there a point to storing it?
>
> Some HW sources don't have it, so with pass-through maybe...
Hmm, yes. So, the current design for sPAPR handles all sources
under the same XIVE object with a global memory region for all
the ESBs.
The first RFC had a mechanism to register source objects into
the XIVE main one, allocating the IRQs per source and mapping
the ESBs in the overall region. A bit like OPAL does. I then
simplified for the sake of clarity and merged everything under
the same XIVE object.
Shall I reintroduce multiples sources support ? and provide a
default one for IPIs and virtual devices of the machine.
Thanks,
C.