Re: A set of "standard" virtual devices?

From: Cornelia Huck
Date: Tue Apr 03 2007 - 12:05:53 EST


On Tue, 3 Apr 2007 16:03:14 +0200,
Arnd Bergmann <arnd@xxxxxxxx> wrote:

> > > struct virt_dev {
> > > struct device dev;
> > > struct virt_driver *driver;
> > > struct virt_bus *bus;
> > > struct pci_device_id id;
> > > int irq;
> > > };
> >
> > And that's where I have problems :) The notion of "irq" is far too
> > platform specific. I can bend my mind round using PCI-like ids for
> > non-PCI virtualized devices, but an integer is far too small and to
> > specific for a way to access the device.
>
> Sorry, I've been working too long on the lesser architectures.
> IRQ number are evil indeed.
> However, I'm pretty sure that we need _some_ abstraction of an
> interrupt mechanism here. The easiest way is probably to have a
> callback function like
> int (*irq_handler)(struct virt_dev*, unsigned long message);
> in the virt_dev.

Yes, something like
int (*handler) (struct virt_dev *, struct virt_interrupt_info *);
should cover the needed cases.
-
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/