Add support for creating PCIe root ports in QEMU #442
+71
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change adds the ability to define PCIe root ports for QEMU virtual machines. These ports can be used for device hot-plugging, allowing vfio-pci devices to be attached dynamically.
In the current version, it's possible to create ports via extraArgs and set them in deviceExtraArgs but with recent changes (#437), this approach produces "bus not found" errors. There is likely a race condition between creating vfio-pci devices which are now placed at the beginning of the QEMU command and the PCIe ports that were appended at the end.
With this change, PCIe root ports are explicitly created before the vfio-pci devices that may use them.