libvirt/src/qemu
Daniel Henrique Barboza 96999404cb Introducing new address type='unassigned' for PCI hostdevs
This patch introduces a new PCI hostdev address type called
'unassigned'. This new type gives users the option to add
PCI hostdevs to the domain XML in an 'unassigned' state, meaning
that the device exists in the domain, is managed by Libvirt
like any regular PCI hostdev, but the guest does not have
access to it.

This adds extra options for managing PCI device binding
inside Libvirt, for example, making all the managed PCI hostdevs
declared in the domain XML to be detached from the host and bind
to the chosen driver and, at the same time, allowing just a
subset of these devices to be usable by the guest.

Next patch will use this new address type in the QEMU driver to
avoid adding unassigned devices to the QEMU launch command line.

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
2019-12-18 13:08:27 -05:00
..
EVENTHANDLERS.txt qemu/doc: Fix function name for handling events 2017-06-13 09:43:42 +02:00
libvirtd_qemu.aug qemu: keep capabilities when running QEMU as root 2019-12-11 16:01:20 +00:00
Makefile.inc.am configure: Provide OpenRC scripts for sub-daemons 2019-12-16 10:11:22 +01:00
MIGRATION.txt doc: fix writing of QEMU 2017-03-08 17:33:07 +01:00
qemu_agent.c use g_ascii_isprint instead of c_isprint from gnulib 2019-12-10 13:49:24 +01:00
qemu_agent.h Add API to change qemu agent response timeout 2019-11-14 19:10:01 +01:00
qemu_alias.c qemu: Use g_strdup_printf() instead of virAsprintf() 2019-11-12 16:15:58 +01:00
qemu_alias.h qemu: add dbus-vmstate 2019-09-06 12:47:47 +02:00
qemu_backup.c qemu: backup: Merge bitmaps accross the backing chain 2019-12-13 13:22:55 +01:00
qemu_backup.h qemu: backup: Export qemuBackupDiskPrepareOneBitmapsChain for tests 2019-12-13 13:22:55 +01:00
qemu_block.c qemu: Generate command line of NVMe disks 2019-12-17 10:04:44 +01:00
qemu_block.h qemu: block: Introduce qemuBlockNamedNodeDataGetBitmapByName 2019-12-13 13:22:55 +01:00
qemu_blockjob.c qemu: block: use the delete flag to delete snapshot images if requested 2019-12-11 08:40:18 +01:00
qemu_blockjob.h qemu: block: propagate the delete flag to where it can actually be used 2019-12-11 08:40:18 +01:00
qemu_capabilities.c qemu_capabilities: Introduce QEMU_CAPS_DRIVE_NVME 2019-12-17 10:04:44 +01:00
qemu_capabilities.h qemu_capabilities: Introduce QEMU_CAPS_DRIVE_NVME 2019-12-17 10:04:44 +01:00
qemu_capspriv.h qemu: add machines & arch to fake test capabilities cache 2019-12-09 10:15:15 +00:00
qemu_cgroup.c qemu: Allow NVMe disk in CGroups 2019-12-17 10:04:44 +01:00
qemu_cgroup.h Use G_GNUC_WARN_UNUSED_RESULT instead of ATTRIBUTE_RETURN_CHECK 2019-10-15 11:25:22 +02:00
qemu_checkpoint.c qemu: monitor: Add 'granularity' parameter for block-dirty-bitmap-add 2019-12-13 13:22:55 +01:00
qemu_checkpoint.h qemu: drop virCapsPtr param & vars from many APIs 2019-12-09 10:17:27 +00:00
qemu_command.c Introducing new address type='unassigned' for PCI hostdevs 2019-12-18 13:08:27 -05:00
qemu_command.h qemu: command: move sound codec validation to qemu_domain.c 2019-12-16 18:12:40 -05:00
qemu_conf.c qemu: keep capabilities when running QEMU as root 2019-12-11 16:01:20 +00:00
qemu_conf.h qemu: keep capabilities when running QEMU as root 2019-12-11 16:01:20 +00:00
qemu_dbus.c qemu: use g_strdup instead of VIR_STRDUP 2019-10-21 12:51:57 +02:00
qemu_dbus.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC instead of VIR_DEFINE_AUTOPTR_FUNC 2019-10-16 12:06:43 +02:00
qemu_domain_address.c Introducing new address type='unassigned' for PCI hostdevs 2019-12-18 13:08:27 -05:00
qemu_domain_address.h src/qemu: use #pragma once in headers 2019-06-19 17:12:30 +02:00
qemu_domain.c Introducing new address type='unassigned' for PCI hostdevs 2019-12-18 13:08:27 -05:00
qemu_domain.h qemu: Allow forcing VFIO when computing memlock limit 2019-12-17 10:04:44 +01:00
qemu_driver.c qemu: Don't leak hostcpu or hostnuma on driver cleanup 2019-12-18 14:28:48 +01:00
qemu_driver.h src/qemu: use #pragma once in headers 2019-06-19 17:12:30 +02:00
qemu_extdevice.c Use g_autofree instead of VIR_AUTOFREE 2019-10-16 12:06:43 +02:00
qemu_extdevice.h Use G_GNUC_WARN_UNUSED_RESULT instead of ATTRIBUTE_RETURN_CHECK 2019-10-15 11:25:22 +02:00
qemu_firmware.c qemu: Use g_strdup_printf() instead of virAsprintf() 2019-11-12 16:15:58 +01:00
qemu_firmware.h Remove virautoclean.h 2019-10-16 12:06:44 +02:00
qemu_hostdev.c qemu_hotplug: Prepare NVMe disks on hotplug 2019-12-17 10:04:44 +01:00
qemu_hostdev.h qemu_hotplug: Prepare NVMe disks on hotplug 2019-12-17 10:04:44 +01:00
qemu_hotplug.c qemu: Allow forcing VFIO when computing memlock limit 2019-12-17 10:04:44 +01:00
qemu_hotplug.h qemu_hotplug.c: adding qemuDomainGetUnplugTimeout 2019-11-13 15:03:40 -05:00
qemu_interface.c qemu: remove unneeded cleanup labels 2019-11-19 15:22:37 +01:00
qemu_interface.h qemu-process: prepare slirp-helper 2019-09-06 12:47:47 +02:00
qemu_interop_config.c qemu: Use g_strdup_printf() instead of virAsprintf() 2019-11-12 16:15:58 +01:00
qemu_interop_config.h qemu: generalize qemuFetchConfigs 2019-09-24 12:17:10 -04:00
qemu_migration_cookie.c conf: drop virCapsPtr param from domain parse APIs 2019-12-09 10:17:27 +00:00
qemu_migration_cookie.h src/qemu: use #pragma once in headers 2019-06-19 17:12:30 +02:00
qemu_migration_params.c qemu: Implement VIR_MIGRATE_PARAM_TLS_DESTINATION 2019-12-09 10:11:58 +01:00
qemu_migration_params.h Remove virautoclean.h 2019-10-16 12:06:44 +02:00
qemu_migration_paramspriv.h src/qemu: use #pragma once in headers 2019-06-19 17:12:30 +02:00
qemu_migration.c conf: Format and parse NVMe type disk 2019-12-17 10:04:43 +01:00
qemu_migration.h qemu: Implement VIR_MIGRATE_PARAM_TLS_DESTINATION 2019-12-09 10:11:58 +01:00
qemu_monitor_json.c qemu: monitor: Add 'granularity' parameter for block-dirty-bitmap-add 2019-12-13 13:22:55 +01:00
qemu_monitor_json.h qemu: monitor: Add 'granularity' parameter for block-dirty-bitmap-add 2019-12-13 13:22:55 +01:00
qemu_monitor_priv.h src/qemu: use #pragma once in headers 2019-06-19 17:12:30 +02:00
qemu_monitor_text.c qemu: use g_autofree instead of VIR_FREE in qemuMonitorTextCreateSnapshot() 2019-12-17 10:49:30 -05:00
qemu_monitor_text.h qemu: Remove qemuMonitorTextSetCPU 2019-06-20 15:59:19 +02:00
qemu_monitor.c qemu: monitor: Add 'granularity' parameter for block-dirty-bitmap-add 2019-12-13 13:22:55 +01:00
qemu_monitor.h qemu: monitor: Add 'granularity' parameter for block-dirty-bitmap-add 2019-12-13 13:22:55 +01:00
qemu_process.c qemu: Generate command line of NVMe disks 2019-12-17 10:04:44 +01:00
qemu_process.h qemu: fix build with musl libc 2019-10-17 10:54:32 +02:00
qemu_processpriv.h src/qemu: use #pragma once in headers 2019-06-19 17:12:30 +02:00
qemu_qapi.c use g_ascii_isalpha instead of c_isalpha from gnulib 2019-12-10 13:49:24 +01:00
qemu_qapi.h src/qemu: use #pragma once in headers 2019-06-19 17:12:30 +02:00
qemu_security.c security: Pass @migrated to virSecurityManagerSetAllLabel 2019-10-14 17:14:13 +02:00
qemu_security.h security: Pass @migrated to virSecurityManagerSetAllLabel 2019-10-14 17:14:13 +02:00
qemu_slirp.c qemu: Use g_strdup_printf() instead of virAsprintf() 2019-11-12 16:15:58 +01:00
qemu_slirp.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC instead of VIR_DEFINE_AUTOPTR_FUNC 2019-10-16 12:06:43 +02:00
qemu_tpm.c qemu: remove unneeded cleanup labels 2019-11-19 15:22:37 +01:00
qemu_tpm.h Use G_GNUC_WARN_UNUSED_RESULT instead of ATTRIBUTE_RETURN_CHECK 2019-10-15 11:25:22 +02:00
qemu_vhost_user_gpu.c qemu: gpu: Sanitize error values in qemuVhostUserGPUGetPid 2019-11-14 12:42:09 +01:00
qemu_vhost_user_gpu.h Use G_GNUC_WARN_UNUSED_RESULT instead of ATTRIBUTE_RETURN_CHECK 2019-10-15 11:25:22 +02:00
qemu_vhost_user.c Drop needless ret variable 2019-10-24 08:10:37 +02:00
qemu_vhost_user.h Remove virautoclean.h 2019-10-16 12:06:44 +02:00
qemu.conf qemu: keep capabilities when running QEMU as root 2019-12-11 16:01:20 +00:00
test_libvirtd_qemu.aug.in qemu: keep capabilities when running QEMU as root 2019-12-11 16:01:20 +00:00
THREADS.txt qemu: update threading info about domain object refs 2019-09-09 13:01:09 +02:00
virtqemud.init.in configure: Provide OpenRC scripts for sub-daemons 2019-12-16 10:11:22 +01:00
virtqemud.service.in qemu: introduce virtqemud daemon 2019-08-09 14:06:31 +01:00