mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: handle unassigned PCI hostdevs in command line
Previous patch made it possible for the QEMU driver to check if a given PCI hostdev is unassigned, by checking if dev->info->type is VIR_DOMAIN_DEVICE_ADDRESS_TYPE_UNASSIGNED, meaning that this device shouldn't be part of the actual guest launch. Reviewed-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
96999404cb
commit
ae2edb39b9
@ -5342,6 +5342,10 @@ qemuBuildHostdevCommandLine(virCommandPtr cmd,
|
|||||||
*bootHostdevNet = 0;
|
*bootHostdevNet = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Ignore unassigned devices */
|
||||||
|
if (hostdev->info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_UNASSIGNED)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (qemuCommandAddExtDevice(cmd, hostdev->info) < 0)
|
if (qemuCommandAddExtDevice(cmd, hostdev->info) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
31
tests/qemuxml2argvdata/hostdev-pci-address-unassigned.args
Normal file
31
tests/qemuxml2argvdata/hostdev-pci-address-unassigned.args
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
LC_ALL=C \
|
||||||
|
PATH=/bin \
|
||||||
|
HOME=/tmp/lib/domain--1-delete \
|
||||||
|
USER=test \
|
||||||
|
LOGNAME=test \
|
||||||
|
XDG_DATA_HOME=/tmp/lib/domain--1-delete/.local/share \
|
||||||
|
XDG_CACHE_HOME=/tmp/lib/domain--1-delete/.cache \
|
||||||
|
XDG_CONFIG_HOME=/tmp/lib/domain--1-delete/.config \
|
||||||
|
QEMU_AUDIO_DRV=none \
|
||||||
|
/usr/bin/qemu-system-x86_64 \
|
||||||
|
-name delete \
|
||||||
|
-S \
|
||||||
|
-machine pc,accel=kvm,usb=off,dump-guest-core=off \
|
||||||
|
-m 256 \
|
||||||
|
-realtime mlock=off \
|
||||||
|
-smp 4,sockets=4,cores=1,threads=1 \
|
||||||
|
-uuid 583a8e8e-f0ce-4f53-89ab-092862148b25 \
|
||||||
|
-display none \
|
||||||
|
-no-user-config \
|
||||||
|
-nodefaults \
|
||||||
|
-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-delete/monitor.sock,\
|
||||||
|
server,nowait \
|
||||||
|
-mon chardev=charmonitor,id=monitor,mode=control \
|
||||||
|
-rtc base=utc \
|
||||||
|
-no-shutdown \
|
||||||
|
-no-acpi \
|
||||||
|
-usb \
|
||||||
|
-device vfio-pci,host=0005:90:01.0,id=hostdev0,bus=pci.0,addr=0x3 \
|
||||||
|
-device vfio-pci,host=0005:90:01.2,id=hostdev2,bus=pci.0,addr=0x4 \
|
||||||
|
-device vfio-pci,host=0005:90:01.3,id=hostdev3,bus=pci.0,addr=0x5 \
|
||||||
|
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
|
@ -1332,6 +1332,10 @@ mymain(void)
|
|||||||
QEMU_CAPS_KVM,
|
QEMU_CAPS_KVM,
|
||||||
QEMU_CAPS_DEVICE_VFIO_PCI);
|
QEMU_CAPS_DEVICE_VFIO_PCI);
|
||||||
|
|
||||||
|
DO_TEST("hostdev-pci-address-unassigned",
|
||||||
|
QEMU_CAPS_KVM,
|
||||||
|
QEMU_CAPS_DEVICE_VFIO_PCI);
|
||||||
|
|
||||||
DO_TEST("serial-file-log",
|
DO_TEST("serial-file-log",
|
||||||
QEMU_CAPS_CHARDEV_FILE_APPEND,
|
QEMU_CAPS_CHARDEV_FILE_APPEND,
|
||||||
QEMU_CAPS_DEVICE_ISA_SERIAL,
|
QEMU_CAPS_DEVICE_ISA_SERIAL,
|
||||||
|
Loading…
Reference in New Issue
Block a user