Re: [Alacrityvm-devel] [GIT PULL] AlacrityVM guest drivers for 2.6.33

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 23, 2009 at 09:09:21AM -0600, Anthony Liguori wrote:
> On 12/23/2009 12:15 AM, Kyle Moffett wrote:
> > This is actually something that is of particular interest to me.  I
> > have a few prototype boards right now with programmable PCI-E
> > host/device links on them; one of my long-term plans is to finagle
> > vbus into providing multiple "virtual" devices across that single
> > PCI-E interface.
> >
> > Specifically, I want to be able to provide virtual NIC(s), serial
> > ports and serial consoles, virtual block storage, and possibly other
> > kinds of interfaces.  My big problem with existing virtio right now
> > (although I would be happy to be proven wrong) is that it seems to
> > need some sort of out-of-band communication channel for setting up
> > devices, not to mention it seems to need one PCI device per virtual
> > device.
> 
> We've been thinking about doing a virtio-over-IP mechanism such that you 
> could remote the entire virtio bus to a separate physical machine. 
> virtio-over-IB is probably more interesting since you can make use of 
> RDMA. virtio-over-PCI-e would work just as well.
> 

I didn't know you were interested in this as well. See my later reply to
Kyle for a lot of code that I've written with this in mind.

> virtio is a layered architecture.  Device enumeration/discovery sits at 
> a lower level than the actual device ABIs.  The device ABIs are 
> implemented on top of a bulk data transfer API.  The reason for this 
> layering is so that we can reuse PCI as an enumeration/discovery 
> mechanism.  This tremendenously simplifies porting drivers to other OSes 
> and let's us use PCI hotplug automatically.  We get integration into all 
> the fancy userspace hotplug support for free.
> 
> But both virtio-lguest and virtio-s390 use in-band enumeration and 
> discovery since they do not have support for PCI on either platform.
> 

I'm interested in the same thing, just over PCI. The only PCI agent
systems I've used are not capable of manipulating the PCI configuration
space in such a way that virtio-pci is usable on them. This means
creating your own enumeration mechanism. Which sucks. See my virtio-phys
code (http://www.mmarray.org/~iws/virtio-phys/) for an example of how I
did it. It was modeled on lguest. Help is appreciated.

Ira
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux