libvirt/src/qemu
Laine Stump 70249927b7 qemu: assign VFIO devices to PCIe addresses when appropriate
Although nearly all host devices that are assigned to guests using
VFIO ("<hostdev>" devices in libvirt) are physically PCI Express
devices, until now libvirt's PCI address assignment has always
assigned them addresses on legacy PCI controllers in the guest, even
if the guest's machinetype has a PCIe root bus (e.g. q35 and
aarch64/virt).

This patch tries to assign them to an address on a PCIe controller
instead, when appropriate. First we do some preliminary checks that
might allow setting the flags without doing any extra work, and if
those conditions aren't met (and if libvirt is running privileged so
that it has proper permissions), we perform the (relatively) time
consuming task of reading the device's PCI config to see if it is an
Express device. If this is successful, the connect flags are set based
on the result, but if we aren't able to read the PCI config (most
likely due to the device not being present on the system at the time
of the check) we assume it is (or will be) an Express device, since
that is almost always the case anyway.
2016-11-30 15:41:57 -05:00
..
EVENTHANDLERS.txt
libvirtd_qemu.aug qemu: conf: add option for tuning debug logging level 2016-11-09 16:52:40 +01:00
MIGRATION.txt
qemu_agent.c virstring: Unify string list function names 2016-11-25 13:54:05 +01:00
qemu_agent.h qemu: agent: Make setting of vcpus more robust 2016-06-22 09:26:08 +02:00
qemu_alias.c qemu: Generate memory device aliases according to slot number 2016-11-10 17:36:55 +01:00
qemu_alias.h qemu: Generate memory device aliases according to slot number 2016-11-10 17:36:55 +01:00
qemu_blockjob.c
qemu_blockjob.h
qemu_capabilities.c qemu: capabilities: Don't partially reprope caps on process reconnect 2016-11-28 10:02:36 +01:00
qemu_capabilities.h qemu: capabilities: Don't partially reprope caps on process reconnect 2016-11-28 10:02:36 +01:00
qemu_capspriv.h qemu: Enable KVM when probing capabilities 2016-11-25 20:34:26 +01:00
qemu_cgroup.c qemu: fix internal error: NUMA isn't available on this host 2016-11-25 09:48:41 +01:00
qemu_cgroup.h qemu: Update cgroup on chardev hotplug 2016-11-23 16:38:02 +01:00
qemu_command.c qemu: Add vhost-scsi string for -device parameter 2016-11-24 12:16:19 -05:00
qemu_command.h qemu: Add vhost-scsi string for -device parameter 2016-11-24 12:16:19 -05:00
qemu_conf.c virstring: Unify string list function names 2016-11-25 13:54:05 +01:00
qemu_conf.h qemu: conf: add option for tuning debug logging level 2016-11-09 16:52:40 +01:00
qemu_domain_address.c qemu: assign VFIO devices to PCIe addresses when appropriate 2016-11-30 15:41:57 -05:00
qemu_domain_address.h qemu: propagate virQEMUDriver object to qemuDomainDeviceCalculatePCIConnectFlags 2016-11-30 15:28:07 -05:00
qemu_domain.c qemu: propagate virQEMUDriver object to qemuDomainDeviceCalculatePCIConnectFlags 2016-11-30 15:28:07 -05:00
qemu_domain.h qemu: agent: fix unsafe agent access 2016-11-23 11:31:28 +03:00
qemu_driver.c qemu: Refresh caps in virQEMUCapsCacheLookupByArch 2016-11-25 20:34:26 +01:00
qemu_driver.h
qemu_hostdev.c qemu: Add vhost-scsi string for -device parameter 2016-11-24 12:16:19 -05:00
qemu_hostdev.h qemu: Add vhost-scsi string for -device parameter 2016-11-24 12:16:19 -05:00
qemu_hotplug.c qemu: propagate virQEMUDriver object to qemuDomainDeviceCalculatePCIConnectFlags 2016-11-30 15:28:07 -05:00
qemu_hotplug.h qemu: Add support for hot/cold-(un)plug of shmem devices 2016-11-02 17:36:50 +01:00
qemu_hotplugpriv.h
qemu_interface.c qemu: set tap device online for type='ethernet' 2016-08-25 18:54:01 -04:00
qemu_interface.h
qemu_migration.c qemu: Report tunnelled post-copy migration as unsupported 2016-11-29 12:31:25 +01:00
qemu_migration.h qemu: Implement auto convergence migration parameters 2016-06-22 15:54:21 +02:00
qemu_monitor_json.c qemu: Add support for unavailable-features 2016-11-28 09:11:22 +01:00
qemu_monitor_json.h qemu: monitor: Add code to retrieve and store QMP schema data 2016-11-09 16:50:32 +01:00
qemu_monitor_text.c virstring: Unify string list function names 2016-11-25 13:54:05 +01:00
qemu_monitor_text.h qemu: monitor: Return struct from qemuMonitor(Text|Json)QueryCPUs 2016-08-24 15:44:47 -04:00
qemu_monitor.c qemu: monitor: Properly propagate the 'qemu_id' field through the matcher 2016-11-22 10:44:17 +01:00
qemu_monitor.h qemu: Add support for unavailable-features 2016-11-28 09:11:22 +01:00
qemu_parse_command.c virstring: Unify string list function names 2016-11-25 13:54:05 +01:00
qemu_parse_command.h
qemu_process.c qemu: propagate virQEMUDriver object to qemuDomainDeviceCalculatePCIConnectFlags 2016-11-30 15:28:07 -05:00
qemu_process.h qemu: Use proper async job to refresh virtio channels 2016-06-30 09:41:39 +02:00
qemu_processpriv.h
qemu.conf tests: Adapt to gluster_debug_level in qemu.conf 2016-11-21 10:50:48 +01:00
test_libvirtd_qemu.aug.in tests: Adapt to gluster_debug_level in qemu.conf 2016-11-21 10:50:48 +01:00
THREADS.txt