Re: [PATCH v2 1/6] kvm: Pass kvm_irqfd to functions

From: Michael S. Tsirkin
Date: Thu Jun 28 2012 - 05:34:41 EST


On Thu, Jun 28, 2012 at 11:03:16AM +0200, Cornelia Huck wrote:
> On Thu, 28 Jun 2012 11:38:57 +0300
> "Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:
>
> > On Wed, Jun 27, 2012 at 04:24:30PM +0200, Cornelia Huck wrote:
> > > On Tue, 26 Jun 2012 23:09:04 -0600
> > > Alex Williamson <alex.williamson@xxxxxxxxxx> wrote:
> > >
> > > > Prune this down to just the struct kvm_irqfd so we can avoid
> > > > changing function definition for every flag or field we use.
> > > >
> > > > Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
> > >
> > > I'm currently trying to find a way to make irqfd workable for s390
> > > which will likely include using a new field in kvm_irqfd, so I'd like
> > > to have this change (and I also think it makes the code nicer to read).
> > > So:
> > >
> > > Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
> >
> > Unfortunately it looks like we are not sanitizing kvm_irqfd
> > at all so we won't be able to use the padding :(
> > We'll need a new ioctl instead.
> >
>
> How about something like this as parameter for the new ioctl?
>
> struct kvm_irqfd2 {
> __u32 fd;
> __u32 flags; /* for things like deassign */
> __u64 type; /* determines the payload */
> union {
> /* type traditional */
> struct {
> __u32 gsi;
> } trad;
> /* type s390 */
> struct {
> __u32 int_type;
> __u32 parm;
> __u64 parm64;
> } s390;
> __u8 pad[20];
> };
> }
>
> This could be combined with an arch or a per-kvm callback to keep the
> generic code clean of architecture dependencies.
>
> Cornelia

Looks a bit weird - shouldn't all this be part of gsi routing?
But no idea really, I don't see the big picture here.
--
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/