[libvirt] [PATCH] Fix logic for assigning PCI addresses to USB2 companion controllers
Daniel P. Berrange
berrange at redhat.com
Tue May 15 15:21:11 UTC 2012
On Mon, May 14, 2012 at 03:55:50PM -0600, Eric Blake wrote:
> On 05/14/2012 04:19 AM, Daniel P. Berrange wrote:
> > From: "Daniel P. Berrange" <berrange at redhat.com>
> >
> > Currently each USB2 companion controller gets put on a separate
> > PCI slot. Not only is this wasteful of PCI slots, but it is not
> > in compliance with the spec for USB2 controllers. The master
> > echi1 and all companion controllers should be in the same slot,
> > with echi1 in function 7, and uhci1-3 in functions 0-2 respectively.
> >
> > * src/qemu/qemu_command.c: Special case handling of USB2 controllers
> > to apply correct pci slot assignment
> > * tests/qemuxml2argvdata/qemuxml2argv-usb-ich9-ehci-addr.args,
> > tests/qemuxml2argvdata/qemuxml2argv-usb-ich9-ehci-addr.xml: Expand
> > test to cover automatic slot assignment
> > ---
> > src/qemu/qemu_command.c | 107 ++++++++++++++++----
> > .../qemuxml2argv-usb-ich9-ehci-addr.args | 15 ++-
> > .../qemuxml2argv-usb-ich9-ehci-addr.xml | 37 ++++++-
> > 3 files changed, 138 insertions(+), 21 deletions(-)
> >
> > +++ b/tests/qemuxml2argvdata/qemuxml2argv-usb-ich9-ehci-addr.xml
> > @@ -10,8 +10,43 @@
> > </os>
> > <devices>
> > <emulator>/usr/bin/qemu</emulator>
> > + <!-- Intentionally mixed up ordering to check we assign
> > + addresses to the correct matching companions -->
> > <controller type='usb' index='0' model='ich9-ehci1'>
> > - <address type='pci' domain='0' bus='0' slot='4' function='7'/>
> > + </controller>
>
> Can we also add a matching file in qemuxml2xmloutdata/ to ensure that
> qemuxml2xmltest converts the mixed up input into consistent output?
I added a test case and it showed my USB code is correct, but it found
a pre-existing flaw in other area causing us to drop info when saving
the XML !
https://www.redhat.com/archives/libvir-list/2012-May/msg00811.html
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list