On 24/04/2015 11:01, Eric Auger wrote:
>> > void sysbus_init_irq(SysBusDevice *dev, qemu_irq *p)
>> > {
>> >     SysBusDeviceClass *sdc = SYSBUS_DEVICE_GET_CLASS(dev);
>> >     qdev_init_gpio_out_named(DEVICE(dev), p, SYSBUS_DEVICE_GPIO_IRQ, 1,
>> >                              sdc->irq_set_hook);
>> > }
> Hi Paolo
> 
> I implemented this alternative but my concern is the check method is
> called before the qemu_irq setting. So on this callback I cannot
> retrieve the qemu_irq VFIOINTp struct container object needed to setup
> irqfd hence does not work for me.

Isn't the qemu_irq passed as the third argument to the callback?  I
thought this solution was fine because you weren't passing the "int n"
from sysbus_connect_irq to your notifier.

If you really cannot make it work, I guess your "sysbus: add
irq_routing_notifier" patch would be okay.  I would only ask you to move
the function pointer from SysBusDevice to SysBusDeviceClass.

Thanks,

Paolo

> I would need a post_check cb. Do you
> think it it sensible to add another cb?

Reply via email to