[PATCH FOR-10.7.0 0/3] qemu: Expose availability of PS/2 feature in domcaps

<blurb supported='no'/> Andrea Bolognani (3): qemu: Export a few functions qemu: Change signature for virQEMUCapsSupportsI8042Toggle() qemu: Expose availability of PS/2 feature in domcaps src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + src/conf/schemas/domaincaps.rng | 9 +++++++ src/qemu/qemu_capabilities.c | 24 +++++++++++++++---- src/qemu/qemu_capabilities.h | 3 ++- src/qemu/qemu_domain.c | 14 +++++++---- src/qemu/qemu_domain.h | 6 +++++ src/qemu/qemu_validate.c | 2 +- .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + .../qemu_5.2.0-tcg-virt.riscv64.xml | 1 + .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + .../qemu_5.2.0-virt.aarch64.xml | 1 + .../qemu_5.2.0-virt.riscv64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + .../qemu_6.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + .../qemu_6.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 + .../qemu_7.0.0-hvf.aarch64+hvf.xml | 1 + .../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + .../qemu_7.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 + .../qemu_7.2.0-hvf.x86_64+hvf.xml | 1 + .../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 1 + .../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0.ppc.xml | 1 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 1 + .../qemu_8.0.0-tcg-virt.riscv64.xml | 1 + .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 1 + .../qemu_8.0.0-virt.riscv64.xml | 1 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.1.0.s390x.xml | 1 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 1 + .../qemu_8.2.0-tcg-virt.loongarch64.xml | 1 + .../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 1 + .../qemu_8.2.0-virt.aarch64.xml | 1 + .../qemu_8.2.0-virt.loongarch64.xml | 1 + tests/domaincapsdata/qemu_8.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_8.2.0.armv7l.xml | 1 + tests/domaincapsdata/qemu_8.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 1 + .../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.0.0.sparc.xml | 1 + tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 1 + 74 files changed, 115 insertions(+), 11 deletions(-) -- 2.46.0

We're going to need them in a minute. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_domain.c | 14 ++++++++++---- src/qemu/qemu_domain.h | 6 ++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d1767c326d..aa4a2b50bb 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9045,8 +9045,9 @@ qemuFindAgentConfig(virDomainDef *def) return NULL; } - -static bool +/* You should normally avoid this function and use + * qemuDomainMachineIsQ35() instead. */ +bool qemuDomainMachineIsQ35(const char *machine, const virArch arch) { @@ -9062,7 +9063,9 @@ qemuDomainMachineIsQ35(const char *machine, } -static bool +/* You should normally avoid this function and use + * qemuDomainMachineIsI440FX() instead. */ +bool qemuDomainMachineIsI440FX(const char *machine, const virArch arch) { @@ -9179,7 +9182,10 @@ qemuDomainMachineIsMipsMalta(const char *machine, return false; } -static bool + +/* You should normally avoid this function and use + * qemuDomainMachineIsXenFV() instead. */ +bool qemuDomainMachineIsXenFV(const char *machine, const virArch arch) { diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 1179b0d6dc..d799f6c086 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -823,10 +823,16 @@ virDomainChrDef *qemuFindAgentConfig(virDomainDef *def); /* You should normally avoid these functions and use the variant that * doesn't have "Machine" in the name instead. */ +bool qemuDomainMachineIsQ35(const char *machine, + const virArch arch); +bool qemuDomainMachineIsI440FX(const char *machine, + const virArch arch); bool qemuDomainMachineIsARMVirt(const char *machine, const virArch arch); bool qemuDomainMachineIsPSeries(const char *machine, const virArch arch); +bool qemuDomainMachineIsXenFV(const char *machine, + const virArch arch); bool qemuDomainMachineHasBuiltinIDE(const char *machine, const virArch arch); -- 2.46.0

We will soon need to use it in a context where we don't have a virDomainDef handy. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_capabilities.c | 11 ++++++----- src/qemu/qemu_capabilities.h | 3 ++- src/qemu/qemu_validate.c | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 2d53e87ff3..bde28ad083 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -6032,15 +6032,16 @@ virQEMUCapsSupportsI8042(virQEMUCaps *qemuCaps, bool virQEMUCapsSupportsI8042Toggle(virQEMUCaps *qemuCaps, - const virDomainDef *def) + const char *machine, + const virArch arch) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_I8042_OPT)) return false; - return qemuDomainIsI440FX(def) || - qemuDomainIsQ35(def) || - qemuDomainIsXenFV(def) || - STREQ(def->os.machine, "isapc"); + return qemuDomainMachineIsI440FX(machine, arch) || + qemuDomainMachineIsQ35(machine, arch) || + qemuDomainMachineIsXenFV(machine, arch) || + STREQ(machine, "isapc"); } diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 9c577c1505..5036d49aab 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -723,7 +723,8 @@ bool virQEMUCapsSupportsI8042(virQEMUCaps *qemuCaps, const virDomainDef *def); bool virQEMUCapsSupportsI8042Toggle(virQEMUCaps *qemuCaps, - const virDomainDef *def); + const char *machine, + const virArch arch); const char *virQEMUCapsGetBinary(virQEMUCaps *qemuCaps); virArch virQEMUCapsGetArch(virQEMUCaps *qemuCaps); diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index f74c538efe..3c40f76c12 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -258,7 +258,7 @@ qemuValidateDomainDefFeatures(const virDomainDef *def, } if (def->features[i] != VIR_TRISTATE_SWITCH_ABSENT && - !virQEMUCapsSupportsI8042Toggle(qemuCaps, def)) { + !virQEMUCapsSupportsI8042Toggle(qemuCaps, def->os.machine, def->os.arch)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("ps2 feature state cannot be controlled with this QEMU binary")); return -1; -- 2.46.0

This advertises the feature only for the architectures and machine types where it can actually be used. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + src/conf/schemas/domaincaps.rng | 9 +++++++++ src/qemu/qemu_capabilities.c | 13 +++++++++++++ tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml | 1 + tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml | 1 + tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml | 1 + tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml | 1 + tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0.ppc.xml | 1 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml | 1 + tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml | 1 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.1.0.s390x.xml | 1 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 1 + .../qemu_8.2.0-tcg-virt.loongarch64.xml | 1 + tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml | 1 + .../domaincapsdata/qemu_8.2.0-virt.loongarch64.xml | 1 + tests/domaincapsdata/qemu_8.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_8.2.0.armv7l.xml | 1 + tests/domaincapsdata/qemu_8.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.0.0.sparc.xml | 1 + tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 1 + 70 files changed, 90 insertions(+) diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 199bac006b..30540de326 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -42,6 +42,7 @@ VIR_ENUM_IMPL(virDomainCapsFeature, "backup", "async-teardown", "s390-pv", + "ps2", ); static virClass *virDomainCapsClass; diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index 3fe62ce211..2a4596ac14 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -265,6 +265,7 @@ typedef enum { VIR_DOMAIN_CAPS_FEATURE_BACKUP, VIR_DOMAIN_CAPS_FEATURE_ASYNC_TEARDOWN, VIR_DOMAIN_CAPS_FEATURE_S390_PV, + VIR_DOMAIN_CAPS_FEATURE_PS2, VIR_DOMAIN_CAPS_FEATURE_LAST } virDomainCapsFeature; diff --git a/src/conf/schemas/domaincaps.rng b/src/conf/schemas/domaincaps.rng index f17a4e681d..f9b87c8a59 100644 --- a/src/conf/schemas/domaincaps.rng +++ b/src/conf/schemas/domaincaps.rng @@ -325,6 +325,9 @@ <optional> <ref name="s390-pv"/> </optional> + <optional> + <ref name="ps2"/> + </optional> <optional> <ref name="sev"/> </optional> @@ -383,6 +386,12 @@ </element> </define> + <define name="ps2"> + <element name="ps2"> + <ref name="supported"/> + </element> + </define> + <define name="sev"> <element name="sev"> <ref name="supported"/> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index bde28ad083..6a0f3e2ab7 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -6702,6 +6702,18 @@ virQEMUCapsFillDomainFeatureS390PVCaps(virQEMUCaps *qemuCaps, } } + +static void +virQEMUCapsFillDomainFeaturePS2Caps(virQEMUCaps *qemuCaps, + virDomainCaps *domCaps) +{ + if (virQEMUCapsSupportsI8042Toggle(qemuCaps, domCaps->machine, domCaps->arch)) + domCaps->features[VIR_DOMAIN_CAPS_FEATURE_PS2] = VIR_TRISTATE_BOOL_YES; + else + domCaps->features[VIR_DOMAIN_CAPS_FEATURE_PS2] = VIR_TRISTATE_BOOL_NO; +} + + /** * virQEMUCapsFillDomainFeatureSGXCaps: * @qemuCaps: QEMU capabilities @@ -6786,6 +6798,7 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps, virQEMUCapsFillDomainFeatureGICCaps(qemuCaps, domCaps); virQEMUCapsFillDomainFeatureSEVCaps(qemuCaps, domCaps); virQEMUCapsFillDomainFeatureS390PVCaps(qemuCaps, domCaps); + virQEMUCapsFillDomainFeaturePS2Caps(qemuCaps, domCaps); virQEMUCapsFillDomainFeatureSGXCaps(qemuCaps, domCaps); virQEMUCapsFillDomainFeatureHypervCaps(qemuCaps, domCaps); virQEMUCapsFillDomainDeviceCryptoCaps(qemuCaps, crypto); diff --git a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml index 351bfa2e8d..35bc747d39 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -256,6 +256,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml b/tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml index e69fb88891..eaed71b4ee 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml @@ -154,6 +154,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml index bcd5c59a65..33b55317ad 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -269,6 +269,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml index b891ba256d..a35dd78c2c 100644 --- a/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml @@ -212,6 +212,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml b/tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml index e9a1883a14..14d936ea4b 100644 --- a/tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml @@ -157,6 +157,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_5.2.0.aarch64.xml b/tests/domaincapsdata/qemu_5.2.0.aarch64.xml index b891ba256d..a35dd78c2c 100644 --- a/tests/domaincapsdata/qemu_5.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.aarch64.xml @@ -212,6 +212,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_5.2.0.ppc64.xml b/tests/domaincapsdata/qemu_5.2.0.ppc64.xml index 5f2ace6d06..a6fcc39ca9 100644 --- a/tests/domaincapsdata/qemu_5.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.ppc64.xml @@ -174,6 +174,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_5.2.0.s390x.xml b/tests/domaincapsdata/qemu_5.2.0.s390x.xml index 54abab3dfe..084a221fa1 100644 --- a/tests/domaincapsdata/qemu_5.2.0.s390x.xml +++ b/tests/domaincapsdata/qemu_5.2.0.s390x.xml @@ -275,6 +275,7 @@ <backup supported='no'/> <async-teardown supported='no'/> <s390-pv supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml index 51b627ff94..2889fce115 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -256,6 +256,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml index 2a11dd59f1..5bc2bdd167 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -258,6 +258,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='yes'> <cbitpos>47</cbitpos> <reducedPhysBits>1</reducedPhysBits> diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml index 3bb9713fdc..a39f777ef6 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -272,6 +272,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='yes'> <cbitpos>47</cbitpos> <reducedPhysBits>1</reducedPhysBits> diff --git a/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml index b59ee83fec..780436ce33 100644 --- a/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml @@ -214,6 +214,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.0.0.aarch64.xml b/tests/domaincapsdata/qemu_6.0.0.aarch64.xml index b59ee83fec..780436ce33 100644 --- a/tests/domaincapsdata/qemu_6.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.aarch64.xml @@ -214,6 +214,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.0.0.s390x.xml b/tests/domaincapsdata/qemu_6.0.0.s390x.xml index 8fcc4f029b..2bc02dd4c8 100644 --- a/tests/domaincapsdata/qemu_6.0.0.s390x.xml +++ b/tests/domaincapsdata/qemu_6.0.0.s390x.xml @@ -276,6 +276,7 @@ <backup supported='no'/> <async-teardown supported='no'/> <s390-pv supported='yes'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='yes'> diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml index a84d9eb413..0c322b1139 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -258,6 +258,7 @@ <backingStoreInput supported='yes'/> <backup supported='no'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='yes'> <cbitpos>47</cbitpos> <reducedPhysBits>1</reducedPhysBits> diff --git a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml index a6f36a559b..b5f488d514 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -259,6 +259,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml index f5d11718f4..3137894ade 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -272,6 +272,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml index f19843a986..a99dccf800 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -259,6 +259,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml index 2b206401c9..2326871dc7 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -259,6 +259,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml index c934608d6a..4270ba0b03 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -274,6 +274,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml index f96e5a9328..d0903aacc9 100644 --- a/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml @@ -221,6 +221,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.2.0.aarch64.xml b/tests/domaincapsdata/qemu_6.2.0.aarch64.xml index f96e5a9328..d0903aacc9 100644 --- a/tests/domaincapsdata/qemu_6.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.aarch64.xml @@ -221,6 +221,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.2.0.ppc64.xml b/tests/domaincapsdata/qemu_6.2.0.ppc64.xml index 006db121e8..fe62364dbc 100644 --- a/tests/domaincapsdata/qemu_6.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.ppc64.xml @@ -173,6 +173,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml index dfe53d43f0..63ddcaec21 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -259,6 +259,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml b/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml index 8f491520db..32eee7ea3b 100644 --- a/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml +++ b/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml @@ -175,6 +175,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml index fc9643c39a..83c62a1140 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -260,6 +260,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='yes'> <flc>no</flc> diff --git a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml index e4b25e7e66..00adacd184 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -275,6 +275,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='yes'> <flc>no</flc> diff --git a/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml index 8a43e8caf0..216e39993a 100644 --- a/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml @@ -220,6 +220,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.0.0.aarch64.xml b/tests/domaincapsdata/qemu_7.0.0.aarch64.xml index 8a43e8caf0..216e39993a 100644 --- a/tests/domaincapsdata/qemu_7.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.aarch64.xml @@ -220,6 +220,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.0.0.ppc64.xml b/tests/domaincapsdata/qemu_7.0.0.ppc64.xml index 8fbf03bc19..e0fda8fca2 100644 --- a/tests/domaincapsdata/qemu_7.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.ppc64.xml @@ -178,6 +178,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml index 51971bb808..97e3888862 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -260,6 +260,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='yes'> <flc>no</flc> diff --git a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml index 6ed09e8951..1b55b9b4f7 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -259,6 +259,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml index e3527d2907..3769792874 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -273,6 +273,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.1.0.ppc64.xml b/tests/domaincapsdata/qemu_7.1.0.ppc64.xml index 377dc5ea8d..bbdf8a6014 100644 --- a/tests/domaincapsdata/qemu_7.1.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.ppc64.xml @@ -171,6 +171,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml index c96c6e50fe..9d5ff18c57 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -259,6 +259,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml b/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml index b08beb48ca..091735d83b 100644 --- a/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml +++ b/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml @@ -183,6 +183,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml index 4ca6e7b77d..73475e499c 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -266,6 +266,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml index 01c35cecfa..38fedd6c1c 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml @@ -264,6 +264,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml index 01c35cecfa..38fedd6c1c 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -264,6 +264,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.2.0.ppc.xml b/tests/domaincapsdata/qemu_7.2.0.ppc.xml index ce09a839bd..416ebc6f76 100644 --- a/tests/domaincapsdata/qemu_7.2.0.ppc.xml +++ b/tests/domaincapsdata/qemu_7.2.0.ppc.xml @@ -158,6 +158,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml index 9ee0c2827d..b8b2aada9d 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -266,6 +266,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml index aa7f0c877c..c7c118d52c 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -267,6 +267,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml b/tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml index 3915f789fe..af787b8b24 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml @@ -161,6 +161,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml index 9892e2d657..ab81714ceb 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -269,6 +269,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml b/tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml index ddcbac7192..0e3e9b817f 100644 --- a/tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml @@ -164,6 +164,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml index 9c9e8682e3..ad9eaf54de 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -267,6 +267,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='no'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml index 57f20132fa..aa01168ac1 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -270,6 +270,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml index 5dbe6e0b81..8e33506abd 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -271,6 +271,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_8.1.0.s390x.xml b/tests/domaincapsdata/qemu_8.1.0.s390x.xml index 8cc9470a6a..92fa89f078 100644 --- a/tests/domaincapsdata/qemu_8.1.0.s390x.xml +++ b/tests/domaincapsdata/qemu_8.1.0.s390x.xml @@ -272,6 +272,7 @@ <backup supported='yes'/> <async-teardown supported='yes'/> <s390-pv supported='yes'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='yes'> diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml index 4156a476cd..532a9b2d77 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -270,6 +270,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml index 65987be79b..cebc4e01e9 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -272,6 +272,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml b/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml index 5de7729136..3917ce6138 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml @@ -165,6 +165,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml index 9ba857f660..a68b8a6f36 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -271,6 +271,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml index c09e287ea3..2f661b7eb3 100644 --- a/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml @@ -227,6 +227,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml b/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml index dcd4495e7d..edddb6d8e7 100644 --- a/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml @@ -169,6 +169,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_8.2.0.aarch64.xml b/tests/domaincapsdata/qemu_8.2.0.aarch64.xml index c09e287ea3..2f661b7eb3 100644 --- a/tests/domaincapsdata/qemu_8.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.aarch64.xml @@ -227,6 +227,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_8.2.0.armv7l.xml b/tests/domaincapsdata/qemu_8.2.0.armv7l.xml index 7a161e5586..fb0f7665bc 100644 --- a/tests/domaincapsdata/qemu_8.2.0.armv7l.xml +++ b/tests/domaincapsdata/qemu_8.2.0.armv7l.xml @@ -175,6 +175,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_8.2.0.s390x.xml b/tests/domaincapsdata/qemu_8.2.0.s390x.xml index 23e7125dd9..cc8bbec050 100644 --- a/tests/domaincapsdata/qemu_8.2.0.s390x.xml +++ b/tests/domaincapsdata/qemu_8.2.0.s390x.xml @@ -272,6 +272,7 @@ <backup supported='yes'/> <async-teardown supported='yes'/> <s390-pv supported='yes'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='yes'> diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml index 01729e231e..0bd89504e7 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -272,6 +272,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml index 78b0e91171..b9a215492b 100644 --- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml @@ -272,6 +272,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml index 88e2788cef..25bf1d8431 100644 --- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml @@ -273,6 +273,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_9.0.0.sparc.xml b/tests/domaincapsdata/qemu_9.0.0.sparc.xml index 7e9f66fd25..ab5c3dc4e9 100644 --- a/tests/domaincapsdata/qemu_9.0.0.sparc.xml +++ b/tests/domaincapsdata/qemu_9.0.0.sparc.xml @@ -137,6 +137,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='no'/> <sev supported='no'/> <sgx supported='no'/> <launchSecurity supported='no'/> diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml index 37b12be0b7..f785e83fb6 100644 --- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml @@ -272,6 +272,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml index 08e4311c22..ef364621c4 100644 --- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml @@ -276,6 +276,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml index 72bd641b6e..2415f76f92 100644 --- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml @@ -272,6 +272,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml index d074a260b6..8cba35fbc4 100644 --- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml @@ -276,6 +276,7 @@ <backingStoreInput supported='yes'/> <backup supported='yes'/> <async-teardown supported='yes'/> + <ps2 supported='yes'/> <sev supported='no'/> <sgx supported='no'/> <hyperv supported='yes'> -- 2.46.0

On 8/28/24 15:08, Andrea Bolognani wrote:
This advertises the feature only for the architectures and machine types where it can actually be used.
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + src/conf/schemas/domaincaps.rng | 9 +++++++++ src/qemu/qemu_capabilities.c | 13 +++++++++++++ tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml | 1 + tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml | 1 + tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml | 1 + tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml | 1 + tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0.ppc.xml | 1 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml | 1 + tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml | 1 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.1.0.s390x.xml | 1 + tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 1 + .../qemu_8.2.0-tcg-virt.loongarch64.xml | 1 + tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml | 1 + .../domaincapsdata/qemu_8.2.0-virt.loongarch64.xml | 1 + tests/domaincapsdata/qemu_8.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_8.2.0.armv7l.xml | 1 + tests/domaincapsdata/qemu_8.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.0.0.sparc.xml | 1 + tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 1 + 70 files changed, 90 insertions(+)
Don't forget to put a few words about this new element into docs/formatdomaincaps.rst Michal

On Wed, Aug 28, 2024 at 04:59:33PM GMT, Michal Prívozník wrote:
On 8/28/24 15:08, Andrea Bolognani wrote:
This advertises the feature only for the architectures and machine types where it can actually be used.
Don't forget to put a few words about this new element into docs/formatdomaincaps.rst
Good point. Posted as 4/3, let me know if I can push it together with the rest. -- Andrea Bolognani / Red Hat / Virtualization

Hi Andrea, I was actually working on the same thing today, but haven't gotten around to posting the patches yet. Do you think it would make sense to make this feature indeterminate for non-i8042 machines? Like so: static void virQEMUCapsFillDomainFeaturePS2Caps(virQEMUCaps *qemuCaps, virDomainCaps *domCaps) { if (!virQEMUCapsMachineSupportsI8042(qemuCaps, domCaps->machine, domCaps->arch)) return; if (virQEMUCapsMachineSupportsI8042Toggle(qemuCaps, domCaps->machine, domCaps->arch)) domCaps->features[VIR_DOMAIN_CAPS_FEATURE_PS2] = VIR_TRISTATE_BOOL_YES; else domCaps->features[VIR_DOMAIN_CAPS_FEATURE_PS2] = VIR_TRISTATE_BOOL_NO; }

On Wed, Aug 28, 2024 at 01:49:22PM GMT, Kamil Szczęk wrote:
Hi Andrea,
I was actually working on the same thing today, but haven't gotten around to posting the patches yet. Do you think it would make sense to make this feature indeterminate for non-i8042 machines?
Like so:
static void virQEMUCapsFillDomainFeaturePS2Caps(virQEMUCaps *qemuCaps, virDomainCaps *domCaps) { if (!virQEMUCapsMachineSupportsI8042(qemuCaps, domCaps->machine, domCaps->arch)) return;
if (virQEMUCapsMachineSupportsI8042Toggle(qemuCaps, domCaps->machine, domCaps->arch)) domCaps->features[VIR_DOMAIN_CAPS_FEATURE_PS2] = VIR_TRISTATE_BOOL_YES; else domCaps->features[VIR_DOMAIN_CAPS_FEATURE_PS2] = VIR_TRISTATE_BOOL_NO; }
I had something like that initially, but then I realized that it doesn't really make sense. Reporting <ps2 supported='no'/> on e.g. aarch64 is entirely accurate after all. -- Andrea Bolognani / Red Hat / Virtualization

On Wednesday, August 28th, 2024 at 16:24, Andrea Bolognani <abologna@redhat.com> wrote:
On Wed, Aug 28, 2024 at 01:49:22PM GMT, Kamil Szczęk wrote:
Hi Andrea,
I was actually working on the same thing today, but haven't gotten around to posting the patches yet. Do you think it would make sense to make this feature indeterminate for non-i8042 machines?
Like so:
static void virQEMUCapsFillDomainFeaturePS2Caps(virQEMUCaps *qemuCaps, virDomainCaps *domCaps) { if (!virQEMUCapsMachineSupportsI8042(qemuCaps, domCaps->machine, domCaps->arch)) return;
if (virQEMUCapsMachineSupportsI8042Toggle(qemuCaps, domCaps->machine, domCaps->arch)) domCaps->features[VIR_DOMAIN_CAPS_FEATURE_PS2] = VIR_TRISTATE_BOOL_YES; else domCaps->features[VIR_DOMAIN_CAPS_FEATURE_PS2] = VIR_TRISTATE_BOOL_NO; }
I had something like that initially, but then I realized that it doesn't really make sense. Reporting
<ps2 supported='no'/>
on e.g. aarch64 is entirely accurate after all.
Yeah, that's true. LGTM otherwise.

On 8/28/24 15:08, Andrea Bolognani wrote:
<blurb supported='no'/>
Andrea Bolognani (3): qemu: Export a few functions qemu: Change signature for virQEMUCapsSupportsI8042Toggle() qemu: Expose availability of PS/2 feature in domcaps
74 files changed, 115 insertions(+), 11 deletions(-)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> and definitely release material. Michal

Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- docs/formatdomaincaps.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/formatdomaincaps.rst b/docs/formatdomaincaps.rst index be45de8996..712d8b44f8 100644 --- a/docs/formatdomaincaps.rst +++ b/docs/formatdomaincaps.rst @@ -754,6 +754,12 @@ element in the domain XML <formatdomain.html#launch-security>`__. For more details on the Protected Virtualization feature please see `Protected Virtualization on s390 <kbase/s390_protected_virt.html>`__. +ps2 capability +^^^^^^^^^^^^^^ + +Reports whether it is possible to disable the machine's built-in PS/2 +controller. + SEV capabilities ^^^^^^^^^^^^^^^^ -- 2.46.0

On 8/28/24 17:12, Andrea Bolognani wrote:
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- docs/formatdomaincaps.rst | 6 ++++++ 1 file changed, 6 insertions(+)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal
participants (3)
-
Andrea Bolognani
-
Kamil Szczęk
-
Michal Prívozník