On Fri, Dec 18, 2009 at 02:04:04PM +0000, Mark McLoughlin wrote:
On Fri, 2009-12-18 at 13:59 +0000, Daniel P. Berrange wrote:
> > The plan we had to future proof this was that libvirt would assign an id
> > (using -device foo,id=bar) and 'info pci' would include the device id
in
> > its output.
> >
> > Once you have that, you no longer need to make assumptions about what
> > product:vendor is used for each device or what order addresses are
> > allocated. It's a simple addition to qemu and a simple addition to your
> > 'info pci' parsing code, but I think we'd rest easier wrt. future
> > compatibility.
>
> That would be preferable, but the trouble is that will only work with
> QEMU >= 0.12. Using the 'info pci' output works for all QEMUs. By
'works'
> I mean it lets us handle unplug even of devices present at startup. It
> obviously doesn't allow for static PCI addresing, since that requires
> the new -device arg.
Yep, I didn't mean to suggest that you shouldn't go ahead with your
approach.
Just that if qemu had the id listed in 'info pci', libvirt could use
that with versions of qemu that supply it and we'd then be less exposed
to future changes.
For QEMU >= 0.12, it might also be possible to use the 'info qtree' data
instead of 'info pci'
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|