RE: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding control

From: Wu, Feng
Date: Thu Jul 02 2015 - 22:20:15 EST




> -----Original Message-----
> From: Paolo Bonzini [mailto:pbonzini@xxxxxxxxxx]
> Sent: Thursday, July 02, 2015 9:41 PM
> To: Eric Auger; eric.auger@xxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> kvmarm@xxxxxxxxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx;
> christoffer.dall@xxxxxxxxxx; marc.zyngier@xxxxxxx;
> alex.williamson@xxxxxxxxxx; avi.kivity@xxxxxxxxx; mtosatti@xxxxxxxxxx;
> Wu, Feng; joro@xxxxxxxxxx; b.reynal@xxxxxxxxxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx; patches@xxxxxxxxxx
> Subject: Re: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding
> control
>
>
>
> On 02/07/2015 15:17, Eric Auger wrote:
> > - new fields are added on producer side: linux irq, vfio_device handle,
> > active which reflects whether the source is active (at interrupt
> > controller level or at VFIO level - automasked -) and finally an
> > opaque pointer which will be used to point to the vfio_platform_device
> > in this series.
>
> Linux IRQ and active should be okay. As to the vfio_device handle, you
> should link it from the vfio_platform_device instead. And for the
> vfio_platform_device, you can link it from the vfio_platform_irq instead.
>
> Once you've done this, embed the irq_bypass_producer struct in the
> vfio_platform_irq struct; in the new kvm_arch_* functions, go back to
> the vfio_platform_irq struct via container_of. From there you can
> retrieve pointers to the vfio_platform_device and the vfio_device.
>
> > - new fields on consumer side: the kvm handle, the gsi
>
> You do not need to add these. Instead, add the kvm handle to irqfd
> only. Like above, embed the irq_bypass_consumer struct in the irqfd
> struct; in the new kvm_arch_* functions, go back to the
> vfio_platform_irq struct via container_of.
>

I also need the gsi field here, for posted-interrupts, I need 'gsi', 'irq' to
update the IRTE.

Thanks,
Feng


> Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/