Re: [kvm-devel] [PATCH 1/6] virtio interace

2007-09-23 Thread Dor Laor
Rusty Russell wrote: On Sat, 2007-09-22 at 12:01 +0200, Arnd Bergmann wrote: On Saturday 22 September 2007, Rusty Russell wrote: But now each virtio device has two "struct device"s, not one. And you've made up a fictional bus to do it. Yet for PCI systems, it really is a PCI device;

Re: [kvm-devel] [PATCH 1/6] virtio interace

2007-09-23 Thread Rusty Russell
On Sat, 2007-09-22 at 12:01 +0200, Arnd Bergmann wrote: > On Saturday 22 September 2007, Rusty Russell wrote: > > But now each virtio device has two "struct device"s, not one. And > > you've made up a fictional bus to do it. > > > > Yet for PCI systems, it really is a PCI device; exposing a seco

Re: [kvm-devel] [PATCH 1/6] virtio interace

2007-09-22 Thread Arnd Bergmann
On Saturday 22 September 2007, Rusty Russell wrote: > But now each virtio device has two "struct device"s, not one.   And > you've made up a fictional bus to do it. > > Yet for PCI systems, it really is a PCI device; exposing a second bus to > userspace just because we put a layer in our implement

Re: [kvm-devel] [PATCH 1/6] virtio interace

2007-09-22 Thread Rusty Russell
On Fri, 2007-09-21 at 16:22 +0200, Arnd Bergmann wrote: > On Friday 21 September 2007, Rusty Russell wrote: > > Hmm, I guess we could have a PCI driver which claims all VIRTIO vendor > > devices. > > yes, that was the idea. > > > Then it can call virtio_find_driver() (?) at the top of its > >

Re: [kvm-devel] [PATCH 1/6] virtio interace

2007-09-21 Thread Arnd Bergmann
On Friday 21 September 2007, Rusty Russell wrote: > Hmm, I guess we could have a PCI driver which claims all VIRTIO vendor > devices.   yes, that was the idea. > Then it can call virtio_find_driver() (?) at the top of its > probe function to find if there's a matching virtio driver.   > This PCI

Re: [kvm-devel] [PATCH 1/6] virtio interace

2007-09-21 Thread Rusty Russell
On Fri, 2007-09-21 at 14:05 +0200, Arnd Bergmann wrote: > On Thursday 20 September 2007, Rusty Russell wrote: > > +int register_virtio_driver(struct virtio_driver *drv); > > +void unregister_virtio_driver(struct virtio_driver *drv); > > + > > +/* The particular virtio backend supplies these. */ > >

Re: [kvm-devel] [PATCH 1/6] virtio interace

2007-09-21 Thread Arnd Bergmann
On Thursday 20 September 2007, Rusty Russell wrote: > + * virtio_driver - operations for a virtio I/O driver > + * @name: the name of the driver (KBUILD_MODNAME). > + * @owner: the module which contains these routines (ie. THIS_MODULE). > + * @id_table: the ids (we re-use PCI ids) serviced by this

Re: [kvm-devel] [PATCH 1/6] virtio interace

2007-09-21 Thread Rusty Russell
On Thu, 2007-09-20 at 14:27 +0200, Avi Kivity wrote: > Rusty Russell wrote: > > +struct virtio_backend_ops virtio_backend_ops; > > +EXPORT_SYMBOL_GPL(virtio_backend_ops); > > Suggest calling this virtio_transport_ops rather than the too-generic > virtio_backend_ops. Especially since Xen uses ba

Re: [kvm-devel] [PATCH 1/6] virtio interace

2007-09-20 Thread Avi Kivity
Rusty Russell wrote: > (Changes: > - renamed sync to kick as Dor suggested > - added new_vq and free_vq hooks to create virtqueues > - define a simple virtio driver, which uses PCI ids > - provide register/unregister_virtio_driver hooks) > > This attempts to implement a "virtual I/O" layer whi