[PATCH 1/2] qemu: Improve PS/2 controller detection
by Kamil Szczęk
Up until now, we've assumed that all x86 machines have a PS/2
controller built-in. This assumption was correct until QEMU v4.2
introduced a new x86-based machine type - microvm.
Due to this assumption, a pair of unnecessary PS/2 inputs are implicitly
added to all microvm domains. This patch fixes that by whitelisting
machine types which are known to include the i8042 PS/2 controller.
Signed-off-by: Kamil Szczęk <kamil(a)szczek.dev>
---
src/qemu/qemu_capabilities.c | 20 ++++++++++++++++++++
src/qemu/qemu_capabilities.h | 3 +++
src/qemu/qemu_domain.c | 28 +++++++++++++++++++++++++---
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_validate.c | 3 +--
5 files changed, 50 insertions(+), 5 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 29dfe8d35a..19a057d94d 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1359,6 +1359,13 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
{ "vhost-user-vga", QEMU_CAPS_DEVICE_VHOST_USER_VGA },
{ "ramfb", QEMU_CAPS_DEVICE_RAMFB },
{ "max-arm-cpu", QEMU_CAPS_ARM_MAX_CPU },
+ /*
+ * The i8042 controller is a built-in device and is not user-creatable.
+ * However, since not all machine types include this controller, you should
+ * avoid checking for this capability directly.
+ *
+ * Prefer using virQEMUCapsSupportsI8042() instead.
+ */
{ "i8042", QEMU_CAPS_DEVICE_I8042 },
{ "rng-builtin", QEMU_CAPS_OBJECT_RNG_BUILTIN },
{ "tpm-spapr", QEMU_CAPS_DEVICE_TPM_SPAPR },
@@ -6006,6 +6013,19 @@ virQEMUCapsSupportsVmport(virQEMUCaps *qemuCaps,
STREQ(def->os.machine, "isapc");
}
+bool
+virQEMUCapsSupportsI8042(virQEMUCaps *qemuCaps,
+ const virDomainDef *def)
+{
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_I8042))
+ return false;
+
+ return qemuDomainIsI440FX(def) ||
+ qemuDomainIsQ35(def) ||
+ qemuDomainIsXenFV(def) ||
+ STREQ(def->os.machine, "isapc");
+}
+
/*
* The preferred machine to use if none is listed explicitly
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 51d951771d..d77a4bf4d9 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -717,6 +717,9 @@ void virQEMUCapsInitProcessCapsInterlock(virQEMUCaps *qemuCaps);
bool virQEMUCapsSupportsVmport(virQEMUCaps *qemuCaps,
const virDomainDef *def);
+bool virQEMUCapsSupportsI8042(virQEMUCaps *qemuCaps,
+ const virDomainDef *def);
+
const char *virQEMUCapsGetBinary(virQEMUCaps *qemuCaps);
virArch virQEMUCapsGetArch(virQEMUCaps *qemuCaps);
unsigned int virQEMUCapsGetVersion(virQEMUCaps *qemuCaps);
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 198ab99aef..56f09699db 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -3923,9 +3923,10 @@ virXMLNamespace virQEMUDriverDomainXMLNamespace = {
static int
-qemuDomainDefAddImplicitInputDevice(virDomainDef *def)
+qemuDomainDefAddImplicitInputDevice(virDomainDef *def,
+ virQEMUCaps *qemuCaps)
{
- if (ARCH_IS_X86(def->os.arch)) {
+ if (virQEMUCapsSupportsI8042(qemuCaps, def)) {
if (virDomainDefMaybeAddInput(def,
VIR_DOMAIN_INPUT_TYPE_MOUSE,
VIR_DOMAIN_INPUT_BUS_PS2) < 0)
@@ -4164,7 +4165,7 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver,
bool addITCOWatchdog = false;
/* add implicit input devices */
- if (qemuDomainDefAddImplicitInputDevice(def) < 0)
+ if (qemuDomainDefAddImplicitInputDevice(def, qemuCaps) < 0)
return -1;
/* Add implicit PCI root controller if the machine has one */
@@ -9126,6 +9127,21 @@ qemuDomainMachineIsMipsMalta(const char *machine,
return false;
}
+static bool
+qemuDomainMachineIsXenFV(const char *machine,
+ const virArch arch)
+{
+ if (!ARCH_IS_X86(arch))
+ return false;
+
+ if (STREQ(machine, "xenfv") ||
+ STRPREFIX(machine, "xenfv-")) {
+ return true;
+ }
+
+ return false;
+}
+
/* You should normally avoid this function and use
* qemuDomainHasBuiltinIDE() instead. */
@@ -9212,6 +9228,12 @@ qemuDomainIsLoongArchVirt(const virDomainDef *def)
return qemuDomainMachineIsLoongArchVirt(def->os.machine, def->os.arch);
}
+bool
+qemuDomainIsXenFV(const virDomainDef *def)
+{
+ return qemuDomainMachineIsXenFV(def->os.machine, def->os.arch);
+}
+
bool
qemuDomainHasPCIRoot(const virDomainDef *def)
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index a5092dd7f0..ff45fb63ca 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -834,6 +834,7 @@ bool qemuDomainIsLoongArchVirt(const virDomainDef *def);
bool qemuDomainIsRISCVVirt(const virDomainDef *def);
bool qemuDomainIsPSeries(const virDomainDef *def);
bool qemuDomainIsMipsMalta(const virDomainDef *def);
+bool qemuDomainIsXenFV(const virDomainDef *def);
bool qemuDomainHasPCIRoot(const virDomainDef *def);
bool qemuDomainHasPCIeRoot(const virDomainDef *def);
bool qemuDomainHasBuiltinIDE(const virDomainDef *def);
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 0e8f0f977f..7730344c52 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -4868,8 +4868,7 @@ qemuValidateDomainDeviceDefInput(const virDomainInputDef *input,
int cap;
int ccwCap;
- if (input->bus == VIR_DOMAIN_INPUT_BUS_PS2 && !ARCH_IS_X86(def->os.arch) &&
- !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_I8042)) {
+ if (input->bus == VIR_DOMAIN_INPUT_BUS_PS2 && !virQEMUCapsSupportsI8042(qemuCaps, def)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("%1$s is not supported by this QEMU binary"),
virDomainInputBusTypeToString(input->bus));
--
2.45.0
4 months, 2 weeks
[PATCH 0/2] qemu: Avoid false failure when resuming post-copy migration
by Jiri Denemark
See 2/2 for details.
Jiri Denemark (2):
qemu: Add support for postcopy-recover-setup migration state
qemu: Avoid false failure when resuming post-copy migration
src/conf/virdomainjob.c | 1 +
src/conf/virdomainjob.h | 1 +
src/qemu/qemu_domain.h | 4 ++++
src/qemu/qemu_driver.c | 1 +
src/qemu/qemu_migration.c | 32 +++++++++++++++++++++++++++++++-
src/qemu/qemu_monitor.c | 1 +
src/qemu/qemu_monitor.h | 1 +
src/qemu/qemu_monitor_json.c | 1 +
src/qemu/qemu_process.c | 4 ++++
9 files changed, 45 insertions(+), 1 deletion(-)
--
2.45.2
4 months, 2 weeks
Fwd:?==?utf-8?q? Re: [PATCH 1/3] Makefile: `make check` now computes env variable on the fly
by Ariel Otilibili-Anieli
Hi Jano,
Here is the PR: https://gitlab.com/libvirt/libvirt-python/-/merge_requests/151
Thank you,
Ariel
-------- Original Message --------
Subject: Re: [PATCH 1/3] Makefile: `make check` now computes env variable on the fly
Date: Tuesday, August 06, 2024 13:59 CEST
From: "Ariel Otilibili-Anieli" <Ariel.Otilibili-Anieli(a)eurecom.fr>
To: Ján Tomko <jtomko(a)redhat.com>
CC: devel(a)lists.libvirt.org
References: <20240805175423.773603-1-otilibil(a)eurecom.fr> <20240805175423.773603-2-otilibil(a)eurecom.fr>
Hi Jano,
On Tuesday, August 06, 2024 13:00 CEST, Ján Tomko <jtomko(a)redhat.com> wrote:
For repos other than the main 'libvirt' repo, we use merge requests on
GitLab.
I'll address all your feedback in a PR, later in the day. I used patches because the guidelines advise that (https://libvirt.org/hacking.html)
On a Monday in 2024, Ariel Otilibili wrote:
>* env variable used to be Python3.6
>* Python3.6 is end of life since December 2021 [1].
>
>[1] https://devguide.python.org/versions/
>
>Signed-off-by: Ariel Otilibili <otilibil(a)eurecom.fr>
>---
> Makefile | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>diff --git a/Makefile b/Makefile
>index b08e2bd..1cab66c 100644
>--- a/Makefile
>+++ b/Makefile
>@@ -1,6 +1,7 @@
> # Shim wrapper around setup.py to allow for familiar build targets
>
> PYTHON ?= python
>+VERSION := $(shell $(PYTHON) -V | perl -nE 'print "$$1$$2" if /\s(\d+)\.(\d+)/')
>
Please, no Makefile-escaped perl. Python should be able to do it too:
python -c 'import sys; print("{}{}".format(sys.version_info.major, sys.version_info.minor))'
Will change it; I forgot I came across this guideline, https://libvirt.org/programming-languages.html
> all:
> $(PYTHON) -m build
>@@ -12,7 +13,7 @@ clean:
> rm -rf build/ dist/
>
> check: all
>- tox -e py36
>+ tox -e py$(VERSION)
If I understand correctly, the point of tox is to run the test suite
against different Python versions.
Having 'py36' hardcoded here made sure it worked against that particular
version even if the user has a different version, but I do not
understand the benefit of running it against the current version (as
opposed to just running pytest directly).
My point was to update the version used in this rule; therefore I supposed, if one version were to be used, the latest of the user would make sense. For all the versions used by tox, this patch addresses particularly that: https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/V...
Ariel
Jano
>
> test: all
> tox
>--
>2.45.2
>
4 months, 2 weeks
[PATCH] vsh: Allow vshReadlineInit() to be called multiple times
by Michal Privoznik
Thing about vshReadlineInit() is - it's called multiple times.
The first time from vshInit(), when @ctl was filled only
partially (most notably, before any argv parsing is done, hence
ctl->imode is set to false). The second time after argv parsing,
from virshInit() -> vshInitReload(). In here, ctl->imode might
have changed and thus vshReadlineInit() can't exit early - it
needs to set up stuff for interactive mode (history basically).
To allow vshReadlineInit() to be called again,
vshReadlineDeinit() must set @autoCompleteOpaque to NULL.
Fixes: cab1e71f0161fd24c5d6ff4c379d3a242ea8c2d9
Resolves: https://issues.redhat.com/browse/RHEL-53560
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tools/vsh.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tools/vsh.c b/tools/vsh.c
index 9fbb1f9349..5f5e2f281d 100644
--- a/tools/vsh.c
+++ b/tools/vsh.c
@@ -3040,6 +3040,9 @@ vshReadlineDeinit(vshControl *ctl)
g_clear_pointer(&ctl->historydir, g_free);
g_clear_pointer(&ctl->historyfile, g_free);
+
+ /* Allow vshReadlineInit() to be called again. */
+ autoCompleteOpaque = NULL;
}
char *
--
2.44.2
4 months, 2 weeks
[PATCH] network: fix crashing "modify" option for hostname
by Adam Julis
The original condition caused (after adding modify option)
possibly access to not allocated memory. For consistency added
new check for multiple same records.
Resolves: https://gitlab.com/libvirt/libvirt/-/issues/654
Signed-off-by: Adam Julis <ajulis(a)redhat.com>
---
src/conf/network_conf.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index c23b0e4400..5cf419acf1 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -3167,7 +3167,7 @@ virNetworkDefUpdateDNSHost(virNetworkDef *def,
/* when adding we want to only check duplicates of address since having
* multiple addresses with the same hostname is a legitimate configuration */
- if (!isAdd) {
+ if (command == VIR_NETWORK_UPDATE_COMMAND_DELETE) {
for (j = 0; j < host.nnames && !foundThisTime; j++) {
for (k = 0; k < dns->hosts[i].nnames && !foundThisTime; k++) {
if (STREQ(host.names[j], dns->hosts[i].names[k]))
@@ -3224,6 +3224,13 @@ virNetworkDefUpdateDNSHost(virNetworkDef *def,
goto cleanup;
}
+ if (foundCt > 1) {
+ virReportError(VIR_ERR_OPERATION_INVALID,
+ _("multiple matching DNS HOST records were found in network %1$s"),
+ def->name);
+ goto cleanup;
+ }
+
virNetworkDNSHostDefClear(&dns->hosts[foundIdxModify]);
memcpy(&dns->hosts[foundIdxModify], &host, sizeof(virNetworkDNSHostDef));
--
2.45.2
4 months, 2 weeks
[PATCH] network: NULL check for "modify" DNS-txt records
by Adam Julis
The "modify" command allowed to replace an existing record, now
checks for the NULL string in the new value and throw error if
found.
Resolves: https://gitlab.com/libvirt/libvirt/-/issues/655
Signed-off-by: Adam Julis <ajulis(a)redhat.com>
---
src/conf/network_conf.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index 3af4e1d036..c23b0e4400 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -3385,6 +3385,13 @@ virNetworkDefUpdateDNSTxt(virNetworkDef *def,
goto cleanup;
}
+ if (!txt.value) {
+ virReportError(VIR_ERR_OPERATION_INVALID,
+ _("missing value of modifying DNS TXT record in network %1$s"),
+ def->name);
+ goto cleanup;
+ }
+
VIR_FREE(dns->txts[foundIdx].value);
dns->txts[foundIdx].value = g_steal_pointer(&txt.value);
--
2.45.2
4 months, 2 weeks
[PATCH] util: open XML files before calling libxml2
by Daniel P. Berrangé
Libxml2 has awful error reporting behaviour when reading files. When
we fail to load a file from the test driver we see:
$ virsh -c test:///wibble.xml
I/O warning : failed to load external entity "/wibble.xml"
error: failed to connect to the hypervisor
error: XML error: failed to parse xml document '/wibble.xml'
where the I/O warning line is something printed by libxml2 itself,
which also lacks any useful detail.
Switching to our own file reading code we can massively improve
things:
$ ./build/tools/virsh -c test:///wibble.xml
error: failed to connect to the hypervisor
error: Failed to open file '/wibble.xml': No such file or directory
Using 10 MB as an upper limit on XML file size ought to be sufficient
for any XML files libvirt is reading.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/util/virxml.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/util/virxml.c b/src/util/virxml.c
index a7b75fd7b3..f6b937b277 100644
--- a/src/util/virxml.c
+++ b/src/util/virxml.c
@@ -1133,6 +1133,7 @@ virXMLParseHelper(int domcode,
xmlNodePtr rootnode;
const char *docname;
int parseFlags = XML_PARSE_NONET | XML_PARSE_NOWARNING;
+ g_autofree char *xmlStrPtr = NULL;
if (filename)
docname = filename;
@@ -1155,10 +1156,11 @@ virXMLParseHelper(int domcode,
}
if (filename) {
- xml = xmlCtxtReadFile(pctxt, filename, NULL, parseFlags);
- } else {
- xml = xmlCtxtReadDoc(pctxt, BAD_CAST xmlStr, url, NULL, parseFlags);
+ if (virFileReadAll(filename, 1024*1024*10, &xmlStrPtr) < 0)
+ return NULL;
+ xmlStr = xmlStrPtr;
}
+ xml = xmlCtxtReadDoc(pctxt, BAD_CAST xmlStr, url, NULL, parseFlags);
if (!xml) {
if (virGetLastErrorCode() == VIR_ERR_OK) {
--
2.45.2
4 months, 2 weeks
[PATCH] apparmor: Allow more paths for qemu-bridge-helper
by Andrea Bolognani
The QEMU package in Debian has recently moved the
qemu-bridge-helper binary under /usr/libexec/qemu. Update the
AppArmor profile accordingly.
https://bugs.debian.org/1077915
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
src/security/apparmor/usr.sbin.libvirtd.in | 4 ++--
src/security/apparmor/usr.sbin.virtqemud.in | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/security/apparmor/usr.sbin.libvirtd.in b/src/security/apparmor/usr.sbin.libvirtd.in
index 1601d73d47..5fa5c7842c 100644
--- a/src/security/apparmor/usr.sbin.libvirtd.in
+++ b/src/security/apparmor/usr.sbin.libvirtd.in
@@ -116,7 +116,7 @@ profile libvirtd @sbindir@/libvirtd flags=(attach_disconnected) {
# allow changing to our UUID-based named profiles
change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
- /usr/{lib,lib64,lib/qemu,libexec}/qemu-bridge-helper Cx -> qemu_bridge_helper,
+ /usr/{lib,lib64,lib/qemu,libexec,libexec/qemu}/qemu-bridge-helper Cx -> qemu_bridge_helper,
# child profile for bridge helper process
profile qemu_bridge_helper {
#include <abstractions/base>
@@ -137,7 +137,7 @@ profile libvirtd @sbindir@/libvirtd flags=(attach_disconnected) {
/etc/qemu/** r,
owner @{PROC}/*/status r,
- /usr/{lib,lib64,lib/qemu,libexec}/qemu-bridge-helper rmix,
+ /usr/{lib,lib64,lib/qemu,libexec,libexec/qemu}/qemu-bridge-helper rmix,
}
@BEGIN_APPARMOR_3@
diff --git a/src/security/apparmor/usr.sbin.virtqemud.in b/src/security/apparmor/usr.sbin.virtqemud.in
index 6b9c5d32d9..ff2967c6eb 100644
--- a/src/security/apparmor/usr.sbin.virtqemud.in
+++ b/src/security/apparmor/usr.sbin.virtqemud.in
@@ -110,7 +110,7 @@ profile virtqemud @sbindir@/virtqemud flags=(attach_disconnected) {
# allow changing to our UUID-based named profiles
change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
- /usr/{lib,lib64,lib/qemu,libexec}/qemu-bridge-helper Cx -> qemu_bridge_helper,
+ /usr/{lib,lib64,lib/qemu,libexec,libexec/qemu}/qemu-bridge-helper Cx -> qemu_bridge_helper,
# child profile for bridge helper process
profile qemu_bridge_helper {
#include <abstractions/base>
@@ -130,7 +130,7 @@ profile virtqemud @sbindir@/virtqemud flags=(attach_disconnected) {
/etc/qemu/** r,
owner @{PROC}/*/status r,
- /usr/{lib,lib64,lib/qemu,libexec}/qemu-bridge-helper rmix,
+ /usr/{lib,lib64,lib/qemu,libexec,libexec/qemu}/qemu-bridge-helper rmix,
}
@BEGIN_APPARMOR_3@
--
2.45.2
4 months, 3 weeks
[PATCH RESEND v2 0/4] multiple memory backend support for CPR Live Updates
by mgalaxy@akamai.com
From: Michael Galaxy <mgalaxy(a)akamai.com>
CPR-based support for whole-hypervisor kexec-based live updates is
now finally merged into QEMU. In support of this, we need NUMA to be
supported in these kinds of environments. To do this we use a technology
called PMEM (persistent memory) in Linux, which underpins the ability for
CPR Live Updates to work so that QEMU memory can remain in RAM and
be recovered after a kexec operationg has completed. Our systems are highly
NUMA-aware, and so this patch series enables NUMA awareness for live updates.
Further, we make a small change that allows live migrations to work
between *non* PMEM-based systems and PMEM-based systems (and
vice-versa). This allows for seemless upgrades from non-live-compatible
systems to live-update-compatible sytems without any downtime.
Michael Galaxy (4):
qemu.conf changes to support multiple memory backend
Support live migration between file-backed memory and anonymous
memory.
Update unit test to support multiple memory backends
Update documentation to reflect memory_backing_dir change in qemu.conf
NEWS.rst | 7 ++
docs/kbase/virtiofs.rst | 2 +
src/qemu/qemu.conf.in | 2 +
src/qemu/qemu_command.c | 8 ++-
src/qemu/qemu_conf.c | 141 +++++++++++++++++++++++++++++++++++-----
src/qemu/qemu_conf.h | 14 ++--
src/qemu/qemu_domain.c | 24 +++++--
src/qemu/qemu_driver.c | 29 +++++----
src/qemu/qemu_hotplug.c | 6 +-
src/qemu/qemu_process.c | 44 +++++++------
src/qemu/qemu_process.h | 7 +-
tests/testutilsqemu.c | 5 +-
12 files changed, 221 insertions(+), 68 deletions(-)
--
2.34.1
4 months, 3 weeks
[PATCH v2 0/2] qemu: Strip <acpi/> from configs on s390
by Peter Krempa
See 1/2 for rationale:
Changes:
- replace masive switch statement by a comment
- don't strip the <acpi/> feature when _ABI_UPDATE is asserted
(effectively on 'define'/'create' of a new config) to preserve errors
- improve testing:
- add less redundant tests
- add comment about which other cases are testing relevant bits
- add also a case for _ABI_UPDATE
- fix comment and name in negative 'aarch64' test
Peter Krempa (2):
qemu_domain: Strip <acpi/> from s390(x) definitions
qemuxmlconftest: Add tests for the ACPI stripping hack on s390
src/qemu/qemu_domain.c | 47 +++++++++++++++++++
.../aarch64-noacpi-acpi.aarch64-latest.err | 1 +
tests/qemuxmlconfdata/aarch64-noacpi-acpi.xml | 18 +++++++
.../misc-acpi.x86_64-latest.args | 34 --------------
.../misc-acpi.x86_64-latest.xml | 41 ----------------
tests/qemuxmlconfdata/misc-acpi.xml | 33 -------------
.../riscv64-virt-acpi.riscv64-latest.args | 33 +++++++++++++
.../riscv64-virt-acpi.riscv64-latest.xml | 36 ++++++++++++++
tests/qemuxmlconfdata/riscv64-virt-acpi.xml | 15 ++++++
...s390x-ccw-acpi.s390x-latest.abi-update.err | 1 +
.../s390x-ccw-acpi.s390x-latest.args | 32 +++++++++++++
.../s390x-ccw-acpi.s390x-latest.xml | 27 +++++++++++
tests/qemuxmlconfdata/s390x-ccw-acpi.xml | 15 ++++++
tests/qemuxmlconftest.c | 18 ++++++-
14 files changed, 242 insertions(+), 109 deletions(-)
create mode 100644 tests/qemuxmlconfdata/aarch64-noacpi-acpi.aarch64-latest.err
create mode 100644 tests/qemuxmlconfdata/aarch64-noacpi-acpi.xml
delete mode 100644 tests/qemuxmlconfdata/misc-acpi.x86_64-latest.args
delete mode 100644 tests/qemuxmlconfdata/misc-acpi.x86_64-latest.xml
delete mode 100644 tests/qemuxmlconfdata/misc-acpi.xml
create mode 100644 tests/qemuxmlconfdata/riscv64-virt-acpi.riscv64-latest.args
create mode 100644 tests/qemuxmlconfdata/riscv64-virt-acpi.riscv64-latest.xml
create mode 100644 tests/qemuxmlconfdata/riscv64-virt-acpi.xml
create mode 100644 tests/qemuxmlconfdata/s390x-ccw-acpi.s390x-latest.abi-update.err
create mode 100644 tests/qemuxmlconfdata/s390x-ccw-acpi.s390x-latest.args
create mode 100644 tests/qemuxmlconfdata/s390x-ccw-acpi.s390x-latest.xml
create mode 100644 tests/qemuxmlconfdata/s390x-ccw-acpi.xml
--
2.45.2
4 months, 3 weeks