Re: [PATCH 0/2] irq: add get_gsi callback

Eric Auger
2015-04-24T11:53:48Z

On 04/24/2015 12:02 PM, Paolo Bonzini wrote:
>
>
> On 24/04/2015 11:48, Eric Auger wrote:
>>>> What did the notifier code look like with your patch?
>> Currently both notifiers are stored in the VFIOINTp struct. They are
>> initialized in vfio_init_intp. VFIO platform device holds a list of
>> VFIOINTp struct.
>>
>> When the vfio_start_irqfd callback is called the qemuirq is not yet
>> initialized so I cannot retrieve the EventNotifiers by container_of.
>
> Understood better now. I would pass the "Object **child" variable of
> object_set_link_property to the callback then (in qom/object.c).
>
> Then I would go for the other solution (the notifier, just adding the
> callback to SysbusDeviceClass). But I still do not understand why you
> didn't have exactly the same problem :) unless you were walking the list
> to find the relevant VFIOINTp.
Hi Paolo,

Yes I was walking the list ;-)

So is my understanding coherent: revert to first patch but moving
notifier in class

Thanks

Eric
>
> Paolo
>
>> I can allocate and initialize them in the callback but I need a place to
>> store them to close the eventfd.
>>
>> Also at the moment I start irqfd I must take some actions to stop (user
>> side) eventfd trigger; this also urges me to get access to VFIOINTp
>> struct. Some extracted pieces below (under work).