[libvirt] [PATCH/RFC]: hostdev passthrough support

Daniel Veillard veillard at redhat.com
Mon Jul 28 13:26:57 UTC 2008


On Fri, Jul 25, 2008 at 04:17:30PM -0400, Guido Günther wrote:
> Hi,
> attached is some basic support for host device passthrough. It enables
> you to passthrough usb devices in qemu/kvm via:
> 
> <devices>
>  <hostdev type='usb' vendor='0204' product='6025'/>

  you meant type='pci' there right ?

>  <hostdev type='usb' bus='001' device='007'/>
> </devices>

  Hum, on the format level I think this need a bit more discussion.
the type is better caracterized as a bus informations.
Also I'm not sure if we should keep a flat single element or 
(expecting possible further complex descriptions later) go for a 
more structured description like

  <hostdev type='pci'>
    <source vendor='0204' product='6025'/>
  </hostdev>

I think an hypervisor could remap the actual port/addresses
of a device so a target may make sense in the future (or not).


> I didn't implement unplug yet since this needs some modifications to
> qemu/kvm to be able to identify the correct device to unplug.
> Does this look reasonable?

  I also think we need to clarify the naming conventions, are numbers
provided decimal, if yes then is an 0x hexadecimal version allowed too.
I also see how a more high level description might be useful, 

  <hostdev type='usb'>
    <source vendor='Sennheiser'/>
  </hostdev>

or 

  <hostdev type='usb'>
    <source product='headset'/>
  </hostdev>
  
in that case this means that libvirt has some lookup to do, but in the
end the XML format becomes more portable which is an important property IMHO.

  From an implementation perspective, the patch looks very clean to me
aside maybe some Hostdev type vs. Bus naming for the enum, but maybe we need
to give a bit more thoughs one the format first :-)

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard at redhat.com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/




More information about the libvir-list mailing list