[PATCH v2 00/40] convert virObjects to GObject
by Rafael Fonseca
This patch series convert various simple instances of virObject to a
GObject equivalent.
virLockableObject and virObjects which are subclassed will be covered
in future patchsets.
New in v2:
- use *Dispose for unreffing objects and *Finalize for freeing data,
as suggested in the GLib documentation
- use `g_clear_object` instead of `if + g_object_unref`
- properly update gendispatch as types are converted
- virDomain is now converted to GObject too
- added a helper function for freeing array of GObjects
- added previously missed conversion spots
Rafael Fonseca (40):
util: virresctrl: convert classes to GObject
conf: capabilities: convert virCaps to GOBject
qemu: convert virQEMUCaps to GObject
util: add function to unref array of GObjects
rpc: convert virNetClientProgram to GObject
rpc: convert virNetServerProgram to GObject
conf: convert virDomainXMLOption to GObject
bhyve: convert bhyveMonitor to GObject
bhyve: convert virBhyveDriverConfig to GObject
rpc: convert virNetServerService to GObject
conf: convert virDomainCapsCPUModels to GObject
util: convert dnsmasqCaps to GObject
conf: convert virDomainChrSourceDef to GObject
rpc: gendispatch: prepare for GObject conversion
admin: convert virAdmServer to GObject
admin: convert virAdmClient to GObject
datatypes: convert virDomainCheckpoint to GObject
datatypes: convert virDomainSnapshot to GObject
datatypes: convert virNWFilter to GObject
datatypes: convert virNWFilterBinding to GObject
datatypes: convert virNetwork to GObject
datatypes: convert virNetworkPort to GObject
datatypes: convert virInterface to GObject
datatypes: convert virStoragePool to GObject
datatypes: convert virStorageVol to GObject
datatypes: convert virNodeDevice to GObject
datatypes: convert virSecret to GObject
datatypes: convert virStream to GObject
datatypes: convert virDomain to GObject
rpc: gendispatch: use g_autoptr where possible
conf: convert virNetworkXMLOption to GObject
lxc: convert virLXCDriverConfig to GObject
libxl: convert libxlDriverConfig to GObject
hypervisor: convert virHostdevManager to GObject
libxl: convert libxlMigrationDstArgs to GObject
qemu: convert qemuBlockJobData to GObject
qemu: convert virQEMUDriverConfig to GObject
conf: convert virDomain*Private to GObject
conf: convert virSaveCookie to GObject
util: convert virStorageSource to GObject
src/admin/admin_remote.c | 9 +-
src/admin/libvirt-admin.c | 4 +-
src/admin/libvirt_admin_private.syms | 4 +-
src/bhyve/bhyve_capabilities.c | 19 +-
src/bhyve/bhyve_conf.c | 36 +-
src/bhyve/bhyve_driver.c | 33 +-
src/bhyve/bhyve_monitor.c | 48 +-
src/bhyve/bhyve_monitor.h | 3 +-
src/bhyve/bhyve_utils.h | 11 +-
src/conf/capabilities.c | 51 +-
src/conf/capabilities.h | 6 +-
src/conf/domain_capabilities.c | 48 +-
src/conf/domain_capabilities.h | 10 +-
src/conf/domain_conf.c | 129 ++--
src/conf/domain_conf.h | 36 +-
src/conf/domain_event.c | 58 +-
src/conf/network_conf.c | 24 +-
src/conf/network_conf.h | 12 +-
src/conf/network_event.c | 7 +-
src/conf/node_device_event.c | 11 +-
src/conf/node_device_util.c | 4 +-
src/conf/secret_event.c | 15 +-
src/conf/snapshot_conf.c | 2 +-
src/conf/snapshot_conf.h | 2 +-
src/conf/storage_capabilities.c | 4 +-
src/conf/storage_event.c | 15 +-
src/conf/virchrdev.c | 4 +-
src/conf/virconftypes.h | 3 +-
src/conf/virdomaincheckpointobjlist.c | 7 +-
src/conf/virdomainsnapshotobjlist.c | 7 +-
src/conf/virinterfaceobj.c | 5 +-
src/conf/virnetworkobj.c | 10 +-
src/conf/virnodedeviceobj.c | 3 +-
src/conf/virnwfilterbindingobjlist.c | 2 +-
src/conf/virnwfilterobj.c | 7 +-
src/conf/virsavecookie.c | 10 +-
src/conf/virsavecookie.h | 14 +-
src/conf/virsecretobj.c | 2 +-
src/conf/virstorageobj.c | 4 +-
src/datatypes.c | 977 ++++++++++++++++--------
src/datatypes.h | 219 +++---
src/esx/esx_driver.c | 33 +-
src/hyperv/hyperv_driver.c | 8 +-
src/hypervisor/virhostdev.c | 49 +-
src/hypervisor/virhostdev.h | 13 +-
src/interface/interface_backend_netcf.c | 7 +-
src/interface/interface_backend_udev.c | 8 +-
src/libvirt-domain-checkpoint.c | 7 +-
src/libvirt-domain-snapshot.c | 7 +-
src/libvirt-domain.c | 6 +-
src/libvirt-interface.c | 6 +-
src/libvirt-network.c | 14 +-
src/libvirt-nodedev.c | 6 +-
src/libvirt-nwfilter.c | 14 +-
src/libvirt-secret.c | 7 +-
src/libvirt-storage.c | 12 +-
src/libvirt-stream.c | 7 +-
src/libvirt_private.syms | 35 +-
src/libxl/libxl_capabilities.c | 19 +-
src/libxl/libxl_conf.c | 65 +-
src/libxl/libxl_conf.h | 12 +-
src/libxl/libxl_driver.c | 175 ++---
src/libxl/libxl_migration.c | 103 +--
src/libxl/xen_common.c | 3 +-
src/locking/lock_daemon.c | 28 +-
src/locking/lock_driver_lockd.c | 19 +-
src/locking/sanlock_helper.c | 5 +-
src/logging/log_daemon.c | 28 +-
src/logging/log_manager.c | 15 +-
src/lxc/lxc_conf.c | 46 +-
src/lxc/lxc_conf.h | 10 +-
src/lxc/lxc_controller.c | 20 +-
src/lxc/lxc_driver.c | 98 +--
src/lxc/lxc_monitor.c | 2 +-
src/lxc/lxc_process.c | 35 +-
src/network/bridge_driver.c | 24 +-
src/nwfilter/nwfilter_driver.c | 3 +-
src/openvz/openvz_conf.c | 8 +-
src/qemu/qemu_blockjob.c | 130 ++--
src/qemu/qemu_blockjob.h | 15 +-
src/qemu/qemu_capabilities.c | 176 +++--
src/qemu/qemu_capabilities.h | 9 +-
src/qemu/qemu_conf.c | 42 +-
src/qemu/qemu_conf.h | 19 +-
src/qemu/qemu_domain.c | 441 +++++------
src/qemu/qemu_domain.h | 157 ++--
src/qemu/qemu_driver.c | 34 +-
src/qemu/qemu_hotplug.c | 3 +-
src/qemu/qemu_migration.c | 34 +-
src/qemu/qemu_process.c | 20 +-
src/qemu/qemu_virtiofs.c | 12 +-
src/remote/remote_daemon.c | 52 +-
src/remote/remote_daemon_dispatch.c | 188 ++---
src/remote/remote_daemon_stream.c | 6 +-
src/remote/remote_driver.c | 178 ++---
src/rpc/gendispatch.pl | 90 ++-
src/rpc/virnetclient.c | 7 +-
src/rpc/virnetclientprogram.c | 29 +-
src/rpc/virnetclientprogram.h | 10 +-
src/rpc/virnetclientstream.c | 4 +-
src/rpc/virnetserver.c | 21 +-
src/rpc/virnetserverprogram.c | 30 +-
src/rpc/virnetserverprogram.h | 17 +-
src/rpc/virnetserverservice.c | 103 ++-
src/security/virt-aa-helper.c | 9 +-
src/storage/storage_backend.c | 3 +-
src/storage/storage_driver.c | 7 +-
src/storage/storage_util.c | 4 +-
src/test/test_driver.c | 33 +-
src/util/virdnsmasq.c | 56 +-
src/util/virdnsmasq.h | 6 +-
src/util/virfdstream.c | 4 +-
src/util/virfilecache.c | 43 +-
src/util/virfilecache.h | 12 +-
src/util/virobject.c | 24 +
src/util/virobject.h | 4 +
src/util/virresctrl.c | 164 ++--
src/util/virresctrl.h | 15 +-
src/util/virsecret.c | 3 +-
src/util/virstoragefile.c | 45 +-
src/util/virstoragefile.h | 9 +-
src/vbox/vbox_common.c | 19 +-
src/vmware/vmware_conf.c | 13 +-
src/vz/vz_driver.c | 33 +-
src/vz/vz_sdk.c | 22 +-
tests/bhyveargv2xmltest.c | 4 +-
tests/bhyvexml2argvtest.c | 4 +-
tests/bhyvexml2xmltest.c | 4 +-
tests/cputest.c | 48 +-
tests/domaincapstest.c | 5 +-
tests/domainconftest.c | 4 +-
tests/genericxml2xmltest.c | 4 +-
tests/networkxml2conftest.c | 10 +-
tests/networkxml2xmltest.c | 3 +-
tests/openvzutilstest.c | 4 +-
tests/qemublocktest.c | 3 +-
tests/qemucapabilitiestest.c | 9 +-
tests/qemucaps2xmltest.c | 29 +-
tests/qemucapsprobe.c | 4 +-
tests/qemuhotplugtest.c | 6 +-
tests/qemumemlocktest.c | 3 +-
tests/testutils.c | 4 +-
tests/testutilslxc.c | 22 +-
tests/testutilsqemu.c | 31 +-
tests/testutilsxen.c | 7 +-
tests/vircaps2xmltest.c | 6 +-
tests/vircapstest.c | 14 +-
tests/virfilecachetest.c | 69 +-
tests/virnetdaemontest.c | 4 +-
tests/virresctrltest.c | 6 +-
tests/vmx2xmltest.c | 10 +-
tests/xml2vmxtest.c | 12 +-
152 files changed, 2804 insertions(+), 2712 deletions(-)
--
2.25.3
4 years, 6 months
[PATCH V3 0/5] Introduce getHost support for ARM CPU driver
by ZhengZhenyu
Introduce getHost support for ARM CPU driver. First add
some data about commonly used ARM CPU models, and their
vendors into cpu_map, then added some helper methods as
callbacks to load them. Read and parse vendor_id, part_id
and CPU flags of local CPU from corresponding registers.
Signed-off-by: Zhenyu Zheng <zhengzhenyulixi(a)gmail.com>
ZhengZhenyu (5):
cpu_map: Introduce ARM cpu models
cpu: Introduce virCPUarmData to virCPUData
cpu: Introduce ARM related structs
cpu: Add helper funtions to parse vendor and model
cpu: Introduce getHost support for ARM CPU driver
src/cpu/Makefile.inc.am | 1 +
src/cpu/cpu.h | 2 +
src/cpu/cpu_arm.c | 450 +++++++++++++++++++++++++++++-
src/cpu/cpu_arm_data.h | 31 ++
src/cpu_map/Makefile.inc.am | 7 +
src/cpu_map/arm_Falkor.xml | 16 ++
src/cpu_map/arm_Kunpeng-920.xml | 24 ++
src/cpu_map/arm_ThunderX299xx.xml | 16 ++
src/cpu_map/arm_cortex-a53.xml | 16 ++
src/cpu_map/arm_cortex-a57.xml | 15 +
src/cpu_map/arm_cortex-a72.xml | 15 +
src/cpu_map/arm_vendors.xml | 14 +
src/cpu_map/index.xml | 15 +
13 files changed, 619 insertions(+), 3 deletions(-)
create mode 100644 src/cpu/cpu_arm_data.h
create mode 100644 src/cpu_map/arm_Falkor.xml
create mode 100644 src/cpu_map/arm_Kunpeng-920.xml
create mode 100644 src/cpu_map/arm_ThunderX299xx.xml
create mode 100644 src/cpu_map/arm_cortex-a53.xml
create mode 100644 src/cpu_map/arm_cortex-a57.xml
create mode 100644 src/cpu_map/arm_cortex-a72.xml
create mode 100644 src/cpu_map/arm_vendors.xml
--
2.26.0.windows.1
4 years, 6 months
[PATCH] util: virnetdevopenvswitch: Delete unused code
by Yan Wang
It was never used since commit @57b5e27d3d7 introduced it.
Signed-off-by: Yan Wang <wangyan122(a)huawei.com>
---
src/util/virnetdevopenvswitch.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c
index f961777411..d16af72bdf 100644
--- a/src/util/virnetdevopenvswitch.c
+++ b/src/util/virnetdevopenvswitch.c
@@ -491,8 +491,6 @@ virNetDevOpenvswitchGetVhostuserIfname(const char *path,
char **ifname)
{
char *tmpIfname = NULL;
- char **tokens = NULL;
- size_t ntokens = 0;
int status;
int ret = -1;
g_autoptr(virCommand) cmd = NULL;
@@ -524,7 +522,6 @@ virNetDevOpenvswitchGetVhostuserIfname(const char *path,
ret = 1;
cleanup:
- virStringListFreeCount(tokens, ntokens);
return ret;
}
--
2.23.0
4 years, 6 months
[PATCH v1 0/5] qemu: Support iSER transport of iscsi
by Han Han
The iSER(iSCSI Extensions for RDMA) transport is introduced since QEMU
2.9 [1]. It is only valid in iscsi network disk. Note that for the
legacy uri of iscsi iser transport, it will start with 'iser' instead of
'iscsi'.
[1]:
https://github.com/qemu/qemu/blob/ee573f5326046223b6eef4ae7fbfec31d274e09...
git branch: https://gitlab.com/hhan2/libvirt/-/tree/iser
Han Han (5):
qemu_capabilities: Introduce iSER transport flag
qemu: Support iser transport in iscsi
docs: Support iser transport of iscsi
tests: unit tests for iser transport
news: qemu: Support iSER transport of iscsi
docs/formatdomain.html.in | 10 +++--
docs/news.xml | 10 +++++
docs/schemas/domaincommon.rng | 1 +
src/qemu/qemu_backup.c | 1 +
src/qemu/qemu_block.c | 16 +++++--
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 17 +++++++
src/qemu/qemu_monitor_json.c | 1 +
src/storage/storage_file_gluster.c | 7 +++
src/util/virstoragefile.c | 26 +++++++----
src/util/virstoragefile.h | 1 +
.../caps_2.10.0.aarch64.xml | 1 +
.../caps_2.10.0.ppc64.xml | 1 +
.../caps_2.10.0.s390x.xml | 1 +
.../caps_2.10.0.x86_64.xml | 1 +
.../caps_2.11.0.s390x.xml | 1 +
.../caps_2.11.0.x86_64.xml | 1 +
.../caps_2.12.0.aarch64.xml | 1 +
.../caps_2.12.0.ppc64.xml | 1 +
.../caps_2.12.0.s390x.xml | 1 +
.../caps_2.12.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_2.9.0.s390x.xml | 1 +
.../caps_2.9.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 +
.../caps_3.0.0.riscv32.xml | 1 +
.../caps_3.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 1 +
.../caps_3.0.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 +
.../caps_3.1.0.x86_64.xml | 1 +
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
.../caps_5.0.0.x86_64.xml | 1 +
.../qemuxml2argvdata/disk-network-iscsi.args | 8 +++-
.../disk-network-iscsi.x86_64-2.12.0.args | 7 ++-
.../disk-network-iscsi.x86_64-latest.args | 45 +++++++++++--------
tests/qemuxml2argvdata/disk-network-iscsi.xml | 9 +++-
tests/qemuxml2argvtest.c | 5 ++-
.../qemuxml2xmloutdata/disk-network-iscsi.xml | 10 ++++-
tests/qemuxml2xmltest.c | 4 +-
tests/virstoragetest.c | 14 ++++++
54 files changed, 188 insertions(+), 41 deletions(-)
--
2.25.0
4 years, 6 months
[libvirt PATCH v2 0/4] qemu: Add support for VMware paravirtual SCSI controller
by Chris Jester-Young
QEMU has supported pvscsi, the VMware paravirtual SCSI controller, since
2013, but libvirt does not currently expose support for it. Adding such
support is straightforward.
I have tested it with a Windows 10 guest, and the official VMware driver
supports it with no issues. However, booting only works with SeaBIOS
(tested) and the pre-release version of OVMF (not tested yet).
Chris Jester-Young (4):
qemu: pvscsi: Add capability
qemu: pvscsi: Add support for vmpvscsi controller model
tests: qemuxml2xmltest: Convert disk-scsi to DO_TEST_CAPS_LATEST
tests: qemuxml2argvtest: Add vmpvscsi to disk-scsi test
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 4 +-
src/qemu/qemu_validate.c | 9 ++++-
.../caps_1.5.3.x86_64.xml | 1 +
.../caps_1.6.0.x86_64.xml | 1 +
.../caps_1.7.0.x86_64.xml | 1 +
.../caps_2.1.1.x86_64.xml | 1 +
.../caps_2.10.0.aarch64.xml | 1 +
.../caps_2.10.0.ppc64.xml | 1 +
.../caps_2.10.0.x86_64.xml | 1 +
.../caps_2.11.0.x86_64.xml | 1 +
.../caps_2.12.0.aarch64.xml | 1 +
.../caps_2.12.0.ppc64.xml | 1 +
.../caps_2.12.0.x86_64.xml | 1 +
.../caps_2.4.0.x86_64.xml | 1 +
.../caps_2.5.0.x86_64.xml | 1 +
.../caps_2.6.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 1 +
.../caps_2.6.0.x86_64.xml | 1 +
.../caps_2.7.0.x86_64.xml | 1 +
.../caps_2.8.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1 +
.../caps_2.9.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 +
.../caps_3.0.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 +
.../caps_3.1.0.x86_64.xml | 1 +
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
.../caps_5.0.0.riscv64.xml | 1 +
.../caps_5.0.0.x86_64.xml | 1 +
.../caps_5.1.0.x86_64.xml | 1 +
.../disk-scsi.x86_64-latest.args | 37 +++++++++++--------
tests/qemuxml2argvdata/disk-scsi.xml | 6 +++
...k-scsi.xml => disk-scsi.x86_64-latest.xml} | 20 ++++++++--
tests/qemuxml2xmltest.c | 3 +-
46 files changed, 97 insertions(+), 23 deletions(-)
rename tests/qemuxml2xmloutdata/{disk-scsi.xml => disk-scsi.x86_64-latest.xml} (83%)
--
2.25.1
4 years, 6 months
[libvirt PATCH] qemu: only stop external devices after the domain
by Ján Tomko
A failure in qemuProcessLaunch would lead to qemuExtStopDevices
being called twice - once in the cleanup section and then again
in qemuProcessStop.
However, the first one is called while the QEMU process is
still running, which is too soon for the swtpm process, because
the swtmp_ioctl command can lock up::
https://bugzilla.redhat.com/show_bug.cgi?id=1822523
Remove the first call and only leave the one in qemuProcessStop,
which is called after the QEMU process is killed.
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
src/qemu/qemu_process.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index dee3f3fb63..f7f6793113 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -6992,8 +6992,6 @@ qemuProcessLaunch(virConnectPtr conn,
ret = 0;
cleanup:
- if (ret < 0)
- qemuExtDevicesStop(driver, vm);
qemuDomainSecretDestroy(vm);
return ret;
}
--
2.25.4
4 years, 6 months
Status of iSER support.
by David Schweizer
After searching the official documentation, wiki and the code on gitlab,
i still can not find any useful information about how to handle iSER
targets with libvirt. I did find some RFCs for patches on this mailing
list, but it seems none of them have been merged. There is also a
somewhat related issue open on gitlab
(https://gitlab.com/libvirt/libvirt/-/issues/16).
So effectively my question is the following:
Is libvirt currently capable of supporting iSER targets as either
storage pools or as virtio device and if not, is an implementation of
such support planned?
Thanks in advance for your responses,
David Schweizer
4 years, 6 months
[libvirt PATCH] qemu: Support vmpvscsi controller model
by Chris Jester-Young
Signed-off-by: Chris Jester-Young <cky(a)cky.nz>
---
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 4 +++-
src/qemu/qemu_validate.c | 9 ++++++++-
tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 +
42 files changed, 52 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 2c6e36685e..e3f5121174 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -580,6 +580,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
"machine.pseries.cap-sbbc",
"machine.pseries.cap-ibs",
"tcg",
+ "pvscsi",
);
@@ -1301,6 +1302,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
{ "tpm-spapr", QEMU_CAPS_DEVICE_TPM_SPAPR },
{ "vhost-user-fs-device", QEMU_CAPS_DEVICE_VHOST_USER_FS },
{ "tcg-accel", QEMU_CAPS_TCG },
+ { "pvscsi", QEMU_CAPS_SCSI_PVSCSI },
};
static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index cdeaf09cce..96a719c0f8 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -561,6 +561,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
QEMU_CAPS_MACHINE_PSERIES_CAP_SBBC, /* -machine pseries.cap-sbbc */
QEMU_CAPS_MACHINE_PSERIES_CAP_IBS, /* -machine pseries.cap-ibs */
QEMU_CAPS_TCG, /* QEMU does support TCG */
+ QEMU_CAPS_SCSI_PVSCSI, /* -device pvscsi */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 269bdbaf56..9f60727b78 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -2911,9 +2911,11 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSISAS1078:
virBufferAddLit(&buf, "megasas");
break;
+ case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VMPVSCSI:
+ virBufferAddLit(&buf, "pvscsi");
+ break;
case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_AUTO:
case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_BUSLOGIC:
- case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VMPVSCSI:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Unsupported controller model: %s"),
virDomainControllerModelSCSITypeToString(def->model));
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 9debac6b30..3d9fc237b3 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -2050,9 +2050,16 @@ qemuValidateCheckSCSIControllerModel(virQEMUCapsPtr qemuCaps,
return false;
}
break;
+ case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VMPVSCSI:
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_PVSCSI)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("This QEMU doesn't support "
+ "the pvscsi (VMware paravirtual SCSI) controller"));
+ return false;
+ }
+ break;
case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_AUTO:
case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_BUSLOGIC:
- case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VMPVSCSI:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Unsupported controller model: %s"),
virDomainControllerModelSCSITypeToString(model));
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
index 2ba184cdda..a4f6c3aa09 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
@@ -86,6 +86,7 @@
<flag name='mch'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>1005003</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100245</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
index fb160dfd4c..9e5501bed9 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
@@ -91,6 +91,7 @@
<flag name='mch'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>1006000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
index 732af17233..28eb61b38c 100644
--- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
@@ -93,6 +93,7 @@
<flag name='mch'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>1007000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
index 22b4817e4e..cfe79fef46 100644
--- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
@@ -109,6 +109,7 @@
<flag name='mch'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2001001</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
index 8c2f8be55d..cfa1962e98 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
@@ -141,6 +141,7 @@
<flag name='egl-headless'/>
<flag name='iothread.poll-max-ns'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
index cec361b60c..0eee26c3ac 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
@@ -141,6 +141,7 @@
<flag name='iothread.poll-max-ns'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
index 4a8bc42778..205a0675db 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
@@ -184,6 +184,7 @@
<flag name='x86-max-cpu'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
index 03ba191bc2..15f59774f3 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
@@ -190,6 +190,7 @@
<flag name='x86-max-cpu'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2011000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100288</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
index 025130c378..94a0344b1a 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
@@ -157,6 +157,7 @@
<flag name='arm-max-cpu'/>
<flag name='drive-nvme'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2012000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
index 06ee1f4ec4..3bf0e20c9b 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
@@ -158,6 +158,7 @@
<flag name='machine.pseries.cap-sbbc'/>
<flag name='machine.pseries.cap-ibs'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
index 3e86df890b..c249525547 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
@@ -199,6 +199,7 @@
<flag name='drive-nvme'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
index a11659d617..6eebad8b03 100644
--- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
@@ -135,6 +135,7 @@
<flag name='mch'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2004000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
index 432e3a5af4..662140e657 100644
--- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
@@ -141,6 +141,7 @@
<flag name='mch'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2005000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml
index 389f7af1d6..f8f57a7eaa 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml
@@ -124,6 +124,7 @@
<flag name='sdl-gl'/>
<flag name='hda-output'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2006000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
index cdf9450f4a..52592ad138 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
@@ -120,6 +120,7 @@
<flag name='hda-output'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2006000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
index 4b6b840496..77297fff36 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
@@ -153,6 +153,7 @@
<flag name='mch'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2006000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
index 1fa9a37102..e7d9808e28 100644
--- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
@@ -158,6 +158,7 @@
<flag name='mch'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2007000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100245</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
index 2847ad711f..bfeb9c9b40 100644
--- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
@@ -161,6 +161,7 @@
<flag name='mch'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2008000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100246</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
index 539b5e042d..f32e233549 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
@@ -133,6 +133,7 @@
<flag name='iothread.poll-max-ns'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900247</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
index 765e469205..75e9905df7 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
@@ -178,6 +178,7 @@
<flag name='x86-max-cpu'/>
<flag name='i8042'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100247</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
index c9c2ac4a0b..a66008b0de 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
@@ -160,6 +160,7 @@
<flag name='machine.pseries.cap-sbbc'/>
<flag name='machine.pseries.cap-ibs'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>2012050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900239</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
index 2f318640d8..f5f1d5b466 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
@@ -205,6 +205,7 @@
<flag name='i8042'/>
<flag name='storage.werror'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100239</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
index 18fba375fb..ca9ff82e28 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
@@ -165,6 +165,7 @@
<flag name='machine.pseries.cap-sbbc'/>
<flag name='machine.pseries.cap-ibs'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>3000091</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
index 6a05b3e719..11009a2f80 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
@@ -208,6 +208,7 @@
<flag name='i8042'/>
<flag name='storage.werror'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>3000092</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
index 2e8460f829..c9199df261 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
@@ -171,6 +171,7 @@
<flag name='drive-nvme'/>
<flag name='storage.werror'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
index 978fad0ba6..f4294436a8 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
@@ -179,6 +179,7 @@
<flag name='machine.pseries.cap-sbbc'/>
<flag name='machine.pseries.cap-ibs'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
index 4322ca3593..f5c9d7f83e 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
@@ -172,6 +172,7 @@
<flag name='drive-nvme'/>
<flag name='storage.werror'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
index 8df0e1eb79..538ce225f8 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
@@ -172,6 +172,7 @@
<flag name='drive-nvme'/>
<flag name='storage.werror'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
index 4285bec2bf..9f45fe6359 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
@@ -213,6 +213,7 @@
<flag name='i8042'/>
<flag name='storage.werror'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
index 1c960faa6c..9ad50bc2b5 100644
--- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
@@ -219,6 +219,7 @@
<flag name='i8042'/>
<flag name='storage.werror'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>4001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
index 418b5937a0..7aca4fe022 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
@@ -183,6 +183,7 @@
<flag name='fsdev.multidevs'/>
<flag name='virtio.packed'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>4001050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
index 796ed0a2bc..a68786ddc8 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
@@ -184,6 +184,7 @@
<flag name='machine.pseries.cap-sbbc'/>
<flag name='machine.pseries.cap-ibs'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>4001050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
index 0d4d6e71d5..3935be4813 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
@@ -227,6 +227,7 @@
<flag name='fsdev.multidevs'/>
<flag name='virtio.packed'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
index 1f743aaa11..cadd64ac18 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
@@ -191,6 +191,7 @@
<flag name='virtio.packed'/>
<flag name='pcie-root-port.hotplug'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
index a5f0bb538b..4dea15a466 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
@@ -199,6 +199,7 @@
<flag name='machine.pseries.cap-sbbc'/>
<flag name='machine.pseries.cap-ibs'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
index e9651ca581..e8087143de 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
@@ -187,6 +187,7 @@
<flag name='pcie-root-port.hotplug'/>
<flag name='aio.io_uring'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
index f127f38bcc..0a069643b2 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
@@ -232,6 +232,7 @@
<flag name='pcie-root-port.hotplug'/>
<flag name='aio.io_uring'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
index 9611549bd7..e055251e70 100644
--- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
@@ -232,6 +232,7 @@
<flag name='pcie-root-port.hotplug'/>
<flag name='aio.io_uring'/>
<flag name='tcg'/>
+ <flag name='pvscsi'/>
<version>5000050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>
--
2.25.1
4 years, 6 months
[PATCH v1 0/8] Introducing TPM Proxy device support
by Daniel Henrique Barboza
Hello,
This series implements a new device type for Libvirt called
"TPM Proxy". This device acts as a proxy for TPM requisitions
that the guest can make for an existing TPM Resource Manager
in the host. The TPM Resource Manager multiplexes TPM access
to multiple processes, allowing more than one process (guest)
to use the host TPM at the same time.
A guest using a TPM Proxy device does not have access to all
possible TPM features. In that case the guest will need to
assign a vTPM device (tpm-spapr for PPC64). There is no restrictions
of using both a vTPM and a TPM Proxy device at the same time,
but only one TPM Proxy is allowed per guest.
At this moment, this device exists only for QEMU pSeries guests.
A "model" field was added device to allow more models to be added
when/if other architectures implements it.
Daniel Henrique Barboza (8):
docs: documentation and schema for the new TPM Proxy device
qemu: Extend QEMU capabilities with 'spapr-tpm-proxy'
conf, qemu: adding VIR_DOMAIN_DEVICE_TPMPROXY device
domain_conf.c: XML parsing for VIR_DOMAIN_DEVICE_TPMPROXY
tests: add test for domain XML with TPM Proxy device model
qemu: build command line for the TPM Proxy device
tests/qemuxml2argvtest.c: add TPM Proxy command line test
docs/news.xml: update for the new TPM Proxy device
docs/formatdomain.html.in | 42 +++++
docs/news.xml | 14 ++
docs/schemas/domaincommon.rng | 18 ++
src/conf/domain_capabilities.c | 1 +
src/conf/domain_conf.c | 160 ++++++++++++++++++
src/conf/domain_conf.h | 18 ++
src/conf/virconftypes.h | 3 +
src/libvirt_private.syms | 2 +
src/qemu/qemu_alias.c | 16 ++
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 21 +++
src/qemu/qemu_domain.c | 14 ++
src/qemu/qemu_domain_address.c | 2 +
src/qemu/qemu_driver.c | 5 +
src/qemu/qemu_hotplug.c | 3 +
src/qemu/qemu_validate.c | 37 ++++
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
tests/qemuxml2argvdata/ppc64-tpmproxy.args | 28 +++
tests/qemuxml2argvdata/ppc64-tpmproxy.xml | 31 ++++
tests/qemuxml2argvtest.c | 4 +
tests/qemuxml2xmloutdata/ppc64-tpmproxy.xml | 37 ++++
tests/qemuxml2xmltest.c | 4 +
24 files changed, 465 insertions(+)
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy.args
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy.xml
create mode 100644 tests/qemuxml2xmloutdata/ppc64-tpmproxy.xml
--
2.26.2
4 years, 6 months
[PATCH] security: do not log password
by Zhang Bo
It's insecure to log password, nomatter the password is encrypted or
not. And do not log it even in debug mode, in the consideration of
resilience, surposing that the log mode has been modified by the
attacker.
Signed-off-by: Zhang Bo <oscar.zhangbo(a)huawei.com>
---
src/libvirt-domain.c | 3 +--
src/qemu/qemu_monitor.c | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index a12809c2d5..e2a57c178b 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -11340,8 +11340,7 @@ virDomainSetUserPassword(virDomainPtr dom,
const char *password,
unsigned int flags)
{
- VIR_DOMAIN_DEBUG(dom, "user=%s, password=%s, flags=0x%x",
- NULLSTR(user), NULLSTR(password), flags);
+ VIR_DOMAIN_DEBUG(dom, "user=%s, flags=0x%x", NULLSTR(user), flags);
virResetLastError();
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 9c853ccb93..9bfaf53b65 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -2241,8 +2241,7 @@ qemuMonitorSetPassword(qemuMonitorPtr mon,
if (!protocol)
return -1;
- VIR_DEBUG("protocol=%s, password=%p, action_if_connected=%s",
- protocol, password, action_if_connected);
+ VIR_DEBUG("protocol=%s, action_if_connected=%s", protocol, action_if_connected);
QEMU_CHECK_MONITOR(mon);
--
2.23.0.windows.1
4 years, 6 months