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

Paolo Bonzini
2015-04-24T09:54:55Z

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.

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