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

From: Cornelia Huck
Date: Thu Jun 28 2012 - 05:03:55 EST


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

--
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/