> -----Original Message----- > From: Paolo Bonzini [mailto:pbonz...@redhat.com] > Sent: Thursday, July 02, 2015 9:41 PM > To: Eric Auger; eric.au...@st.com; linux-arm-ker...@lists.infradead.org; > kvm...@lists.cs.columbia.edu; k...@vger.kernel.org; > christoffer.d...@linaro.org; marc.zyng...@arm.com; > alex.william...@redhat.com; avi.kiv...@gmail.com; mtosa...@redhat.com; > Wu, Feng; j...@8bytes.org; b.rey...@virtualopensystems.com > Cc: linux-kernel@vger.kernel.org; patc...@linaro.org > 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/