]> git.ipfire.org Git - thirdparty/libvirt.git/commit
qemu: enable auto-allocate of all PCI addresses
authorLaine Stump <laine@laine.org>
Tue, 30 Jul 2013 19:14:09 +0000 (15:14 -0400)
committerLaine Stump <laine@laine.org>
Mon, 5 Aug 2013 19:11:57 +0000 (15:11 -0400)
commitc305783c65f2b552a08fc0e03e1d9b98157d91ca
treedd923f03763afe54166897dffc8b2a640dbe8000
parent1ecbff4073bc9299cee587b2db479c54cc75d096
qemu: enable auto-allocate of all PCI addresses

Previous refactoring of the guest PCI address reservation/allocation
code allowed for slot types other than basic PCI (e.g. PCI express,
non-hotpluggable slots, etc) but would not auto-allocate a slot for a
device that required any type other than a basic hot-pluggable
PCI slot.

This patch refactors the code to be aware of different slot types
during auto-allocation of addresses as well - as long as there is an
empty slot of the required type, it will be found and used.

The piece that *wasn't* added is that we don't auto-create a new PCI
bus when needed for anything except basic PCI devices. This is because
there are multiple different types of controllers that can provide,
for example, a PCI express slot (in addition to the pcie-root
controller, these can also be found on a "root-port" or on a
"downstream-switch-port"). Since we currently don't support any PCIe
devices (except pending support for dmi-to-pci-bridge), we can defer
any decision on what to do about this.
src/qemu/qemu_command.c