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?