[libvirt] USB2 controllers & domain XML

Gerd Hoffmann kraxel at redhat.com
Mon Aug 22 09:37:53 UTC 2011


   Hi,

>   - Since the companion controllers have associated PCI addresses,
>     we must represent them explicitly in the XML, so it is clear
>     to apps what PCI slots/functions are used.

Hmm.  Do we have to?

Usually the individual pci functions of multifunction devices are not 
fully independent of each other.  It is a single device with multiple 
interfaces.  I would try to present the *device* in libvirt xml, not the 
*interfaces*.

[ Yes, you can bundle multiple virtio devices as multifunction device
   into a single pci slot to overcome the slot number limit.  That isn't
   how pci functions are usually used on real hardware though. ]

>    5. USB companion controllers use type='usb' too, but with an
>       extra 'master' attribute to associate them
>
>
>         <controller type='usb' index='0' model='ich9-ehci'>
>           <address type='pci' domain='0' bus='0' slot='4' function='7'/>
>         </controller>
>         <controller type='usb' index='0' model='ich9-ehci1'>
>           <master startport='0'/>
>           <address type='pci' domain='0' bus='0' slot='4' function='1'/>
>         </controller>
 >         [ ... ]

   <controller type='usb' index='0' model='ich9-ehci-with-companions'>
     <address type='pci' domain='0' bus='0' slot='4' />
   </controller>

?

cheers,
   Gerd




More information about the libvir-list mailing list