* [PULL 00/12] qtest, s390x, avocado and doc patches
@ 2024-07-02 10:32 Thomas Huth
2024-07-02 10:32 ` [PULL 01/12] hw/intc/s390_flic: Fix interrupt controller migration on s390x with TCG Thomas Huth
` (12 more replies)
0 siblings, 13 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:32 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
Hi Richard!
The following changes since commit c80a339587fe4148292c260716482dd2f86d4476:
Merge tag 'pull-target-arm-20240701' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2024-07-01 10:41:45 -0700)
are available in the Git repository at:
https://gitlab.com/thuth/qemu.git tags/pull-request-2024-07-02
for you to fetch changes up to e3e2708fee10e6df413c36a71b100c59710e727e:
pc-bios/s390-ccw: Remove duplicated LDFLAGS (2024-07-02 09:52:38 +0200)
----------------------------------------------------------------
* Fix interrupt controller migration on s390x with TCG and enable qtest
* Fix memory leaks in qtests
* Use a proper qom-tree parent for s390x virtio-net devices
* Add hotplug avocado test for virtio-blk
* Fix Travis jobs (need python3-tomli now)
----------------------------------------------------------------
Akihiko Odaki (5):
tests/qtest: Use qtest_add_data_func_full()
tests/qtest: Free unused QMP response
tests/qtest: Free old machine variable name
tests/qtest: Free paths
tests/qtest: Free GThread
Alexandre Iooss (1):
docs: add precision about capstone for execlog plugin
Nicholas Piggin (1):
tests/qtest/migration-test: enable on s390x with TCG
Thomas Huth (4):
hw/intc/s390_flic: Fix interrupt controller migration on s390x with TCG
hw/s390x: Attach default virtio-net devices to the /machine/virtual-css-bridge
.travis.yml: Install python3-tomli in all build jobs
pc-bios/s390-ccw: Remove duplicated LDFLAGS
Vladimir Sementsov-Ogievskiy (1):
tests/avocado: add hotplug_blk test
docs/devel/tcg-plugins.rst | 4 +-
include/hw/s390x/s390_flic.h | 1 +
hw/intc/s390_flic.c | 75 ++++++++++++++++++++++++++++++++++--
hw/s390x/s390-virtio-ccw.c | 8 ++++
tests/qtest/device-introspect-test.c | 7 ++--
tests/qtest/libqtest.c | 3 ++
tests/qtest/migration-test.c | 12 ------
tests/qtest/qos-test.c | 16 ++++++--
tests/qtest/vhost-user-test.c | 6 +--
.travis.yml | 6 +++
pc-bios/s390-ccw/Makefile | 4 +-
tests/avocado/hotplug_blk.py | 69 +++++++++++++++++++++++++++++++++
12 files changed, 181 insertions(+), 30 deletions(-)
create mode 100644 tests/avocado/hotplug_blk.py
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PULL 01/12] hw/intc/s390_flic: Fix interrupt controller migration on s390x with TCG
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
@ 2024-07-02 10:32 ` Thomas Huth
2024-07-02 10:33 ` [PULL 02/12] tests/qtest/migration-test: enable " Thomas Huth
` (11 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:32 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
Migration of a s390x guest with TCG was long known to be very unstable,
so the tests in tests/qtest/migration-test.c are disabled if running
with TCG instead of KVM.
Nicholas Piggin did a great analysis of the problem:
"The flic pending state is not migrated, so if the machine is migrated
while an interrupt is pending, it can be lost. This shows up in
qtest migration test, an extint is pending (due to console writes?)
and the CPU waits via s390_cpu_set_psw and expects the interrupt to
wake it. However when the flic pending state is lost, s390_cpu_has_int
returns false, so s390_cpu_exec_interrupt falls through to halting
again."
Thus let's finally migrate the pending state, and to be on the safe
side, also the other state variables of the QEMUS390FLICState structure.
Message-ID: <20240619144421.261342-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
include/hw/s390x/s390_flic.h | 1 +
hw/intc/s390_flic.c | 75 ++++++++++++++++++++++++++++++++++--
hw/s390x/s390-virtio-ccw.c | 5 +++
3 files changed, 78 insertions(+), 3 deletions(-)
diff --git a/include/hw/s390x/s390_flic.h b/include/hw/s390x/s390_flic.h
index 382d9833f1..4d66c5e42e 100644
--- a/include/hw/s390x/s390_flic.h
+++ b/include/hw/s390x/s390_flic.h
@@ -116,6 +116,7 @@ struct QEMUS390FLICState {
uint8_t simm;
uint8_t nimm;
QLIST_HEAD(, QEMUS390FlicIO) io[8];
+ bool migrate_all_state;
};
uint32_t qemu_s390_flic_dequeue_service(QEMUS390FLICState *flic);
diff --git a/hw/intc/s390_flic.c b/hw/intc/s390_flic.c
index 6771645699..a91a4a47e8 100644
--- a/hw/intc/s390_flic.c
+++ b/hw/intc/s390_flic.c
@@ -361,15 +361,77 @@ bool ais_needed(void *opaque)
return s->ais_supported;
}
+static bool ais_needed_v(void *opaque, int version_id)
+{
+ return ais_needed(opaque);
+}
+
+static bool qemu_s390_flic_full_state_needed(void *opaque)
+{
+ QEMUS390FLICState *s = opaque;
+
+ return s->migrate_all_state;
+}
+
+static bool qemu_s390_flic_state_needed(void *opaque)
+{
+ return ais_needed(opaque) || qemu_s390_flic_full_state_needed(opaque);
+}
+
+static const VMStateDescription vmstate_qemu_s390_flic_io = {
+ .name = "qemu-s390-flic-io",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .fields = (const VMStateField[]) {
+ VMSTATE_UINT16(id, QEMUS390FlicIO),
+ VMSTATE_UINT16(nr, QEMUS390FlicIO),
+ VMSTATE_UINT32(parm, QEMUS390FlicIO),
+ VMSTATE_UINT32(word, QEMUS390FlicIO),
+ VMSTATE_END_OF_LIST()
+ },
+};
+
+static const VMStateDescription vmstate_qemu_s390_flic_full = {
+ .name = "qemu-s390-flic-full",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .needed = qemu_s390_flic_full_state_needed,
+ .fields = (const VMStateField[]) {
+ VMSTATE_UINT32(pending, QEMUS390FLICState),
+ VMSTATE_UINT32(service_param, QEMUS390FLICState),
+ VMSTATE_QLIST_V(io[0], QEMUS390FLICState, 1,
+ vmstate_qemu_s390_flic_io, QEMUS390FlicIO, next),
+ VMSTATE_QLIST_V(io[1], QEMUS390FLICState, 1,
+ vmstate_qemu_s390_flic_io, QEMUS390FlicIO, next),
+ VMSTATE_QLIST_V(io[2], QEMUS390FLICState, 1,
+ vmstate_qemu_s390_flic_io, QEMUS390FlicIO, next),
+ VMSTATE_QLIST_V(io[3], QEMUS390FLICState, 1,
+ vmstate_qemu_s390_flic_io, QEMUS390FlicIO, next),
+ VMSTATE_QLIST_V(io[4], QEMUS390FLICState, 1,
+ vmstate_qemu_s390_flic_io, QEMUS390FlicIO, next),
+ VMSTATE_QLIST_V(io[5], QEMUS390FLICState, 1,
+ vmstate_qemu_s390_flic_io, QEMUS390FlicIO, next),
+ VMSTATE_QLIST_V(io[6], QEMUS390FLICState, 1,
+ vmstate_qemu_s390_flic_io, QEMUS390FlicIO, next),
+ VMSTATE_QLIST_V(io[7], QEMUS390FLICState, 1,
+ vmstate_qemu_s390_flic_io, QEMUS390FlicIO, next),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
static const VMStateDescription qemu_s390_flic_vmstate = {
.name = "qemu-s390-flic",
.version_id = 1,
.minimum_version_id = 1,
- .needed = ais_needed,
+ .needed = qemu_s390_flic_state_needed,
.fields = (const VMStateField[]) {
- VMSTATE_UINT8(simm, QEMUS390FLICState),
- VMSTATE_UINT8(nimm, QEMUS390FLICState),
+ VMSTATE_UINT8_TEST(simm, QEMUS390FLICState, ais_needed_v),
+ VMSTATE_UINT8_TEST(nimm, QEMUS390FLICState, ais_needed_v),
VMSTATE_END_OF_LIST()
+ },
+ .subsections = (const VMStateDescription * const []) {
+ &vmstate_qemu_s390_flic_full,
+ NULL
}
};
@@ -383,11 +445,18 @@ static void qemu_s390_flic_instance_init(Object *obj)
}
}
+static Property qemu_s390_flic_properties[] = {
+ DEFINE_PROP_BOOL("migrate-all-state", QEMUS390FLICState,
+ migrate_all_state, true),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
static void qemu_s390_flic_class_init(ObjectClass *oc, void *data)
{
DeviceClass *dc = DEVICE_CLASS(oc);
S390FLICStateClass *fsc = S390_FLIC_COMMON_CLASS(oc);
+ device_class_set_props(dc, qemu_s390_flic_properties);
dc->reset = qemu_s390_flic_reset;
dc->vmsd = &qemu_s390_flic_vmstate;
fsc->register_io_adapter = qemu_s390_register_io_adapter;
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index cd063f8b64..f87ca36264 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -863,8 +863,13 @@ static void ccw_machine_9_0_instance_options(MachineState *machine)
static void ccw_machine_9_0_class_options(MachineClass *mc)
{
+ static GlobalProperty compat[] = {
+ { TYPE_QEMU_S390_FLIC, "migrate-all-state", "off", },
+ };
+
ccw_machine_9_1_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_9_0, hw_compat_9_0_len);
+ compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
}
DEFINE_CCW_MACHINE(9_0, "9.0", false);
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 02/12] tests/qtest/migration-test: enable on s390x with TCG
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
2024-07-02 10:32 ` [PULL 01/12] hw/intc/s390_flic: Fix interrupt controller migration on s390x with TCG Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-04 11:20 ` Nicholas Piggin
2024-07-02 10:33 ` [PULL 03/12] tests/qtest: Use qtest_add_data_func_full() Thomas Huth
` (10 subsequent siblings)
12 siblings, 1 reply; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Nicholas Piggin, Prasad Pandit
From: Nicholas Piggin <npiggin@gmail.com>
s390x with TCG is more stable now. Enable it.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20240525131241.378473-3-npiggin@gmail.com>
Reviewed-by: Prasad Pandit <pjp@fedoraproject.org>
[thuth: Added "with TCG" to the commit message]
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/migration-test.c | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index 571fc1334c..70b606b888 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -3823,16 +3823,6 @@ int main(int argc, char **argv)
test_vmstate_checker_script);
#endif
- /*
- * On s390x with TCG, migration is observed to hang due to the 'pending'
- * state of the flic interrupt controller not being migrated or
- * reconstructed post-migration. Disable it until the problem is resolved.
- */
- if (g_str_equal(arch, "s390x") && !has_kvm) {
- g_test_message("Skipping tests: s390x host with KVM is required");
- goto test_add_done;
- }
-
if (is_x86) {
migration_test_add("/migration/precopy/unix/suspend/live",
test_precopy_unix_suspend_live);
@@ -4036,8 +4026,6 @@ int main(int argc, char **argv)
test_vcpu_dirty_limit);
}
-test_add_done:
-
ret = g_test_run();
g_assert_cmpint(ret, ==, 0);
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 03/12] tests/qtest: Use qtest_add_data_func_full()
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
2024-07-02 10:32 ` [PULL 01/12] hw/intc/s390_flic: Fix interrupt controller migration on s390x with TCG Thomas Huth
2024-07-02 10:33 ` [PULL 02/12] tests/qtest/migration-test: enable " Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-02 10:33 ` [PULL 04/12] tests/qtest: Free unused QMP response Thomas Huth
` (9 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Akihiko Odaki, Michael S . Tsirkin
From: Akihiko Odaki <akihiko.odaki@daynix.com>
A test function may not be executed depending on the test command line
so it is wrong to free data with a test function. Use
qtest_add_data_func_full() to register a function to free data.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20240627-san-v2-10-750bb0946dbd@daynix.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/device-introspect-test.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/tests/qtest/device-introspect-test.c b/tests/qtest/device-introspect-test.c
index 5b0ffe43f5..587da59623 100644
--- a/tests/qtest/device-introspect-test.c
+++ b/tests/qtest/device-introspect-test.c
@@ -266,7 +266,6 @@ static void test_device_intro_concrete(const void *args)
qobject_unref(types);
qtest_quit(qts);
- g_free((void *)args);
}
static void test_abstract_interfaces(void)
@@ -310,12 +309,12 @@ static void add_machine_test_case(const char *mname)
path = g_strdup_printf("device/introspect/concrete/defaults/%s", mname);
args = g_strdup_printf("-M %s", mname);
- qtest_add_data_func(path, args, test_device_intro_concrete);
+ qtest_add_data_func_full(path, args, test_device_intro_concrete, g_free);
g_free(path);
path = g_strdup_printf("device/introspect/concrete/nodefaults/%s", mname);
args = g_strdup_printf("-nodefaults -M %s", mname);
- qtest_add_data_func(path, args, test_device_intro_concrete);
+ qtest_add_data_func_full(path, args, test_device_intro_concrete, g_free);
g_free(path);
}
@@ -330,7 +329,7 @@ int main(int argc, char **argv)
qtest_add_func("device/introspect/abstract-interfaces", test_abstract_interfaces);
if (g_test_quick()) {
qtest_add_data_func("device/introspect/concrete/defaults/none",
- g_strdup(common_args), test_device_intro_concrete);
+ common_args, test_device_intro_concrete);
} else {
qtest_cb_for_every_machine(add_machine_test_case, true);
}
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 04/12] tests/qtest: Free unused QMP response
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
` (2 preceding siblings ...)
2024-07-02 10:33 ` [PULL 03/12] tests/qtest: Use qtest_add_data_func_full() Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-02 10:33 ` [PULL 05/12] tests/qtest: Free old machine variable name Thomas Huth
` (8 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Akihiko Odaki, Michael S . Tsirkin
From: Akihiko Odaki <akihiko.odaki@daynix.com>
This fixes LeakSanitizer warnings.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20240627-san-v2-11-750bb0946dbd@daynix.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/libqtest.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
index c7f6897d78..ca46b1f8d0 100644
--- a/tests/qtest/libqtest.c
+++ b/tests/qtest/libqtest.c
@@ -749,6 +749,8 @@ QDict *qtest_qmp_receive(QTestState *s)
response, s->eventData)) {
/* Stash the event for a later consumption */
s->pending_events = g_list_append(s->pending_events, response);
+ } else {
+ qobject_unref(response);
}
}
}
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 05/12] tests/qtest: Free old machine variable name
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
` (3 preceding siblings ...)
2024-07-02 10:33 ` [PULL 04/12] tests/qtest: Free unused QMP response Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-02 10:33 ` [PULL 06/12] tests/qtest: Free paths Thomas Huth
` (7 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
Cc: Akihiko Odaki, Peter Maydell, Michael S . Tsirkin
From: Akihiko Odaki <akihiko.odaki@daynix.com>
This fixes LeakSanitizer warnings.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20240627-san-v2-12-750bb0946dbd@daynix.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/libqtest.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
index ca46b1f8d0..1326e34291 100644
--- a/tests/qtest/libqtest.c
+++ b/tests/qtest/libqtest.c
@@ -1514,6 +1514,7 @@ static struct MachInfo *qtest_get_machines(const char *var)
int idx;
if (g_strcmp0(qemu_var, var)) {
+ g_free(qemu_var);
qemu_var = g_strdup(var);
/* new qemu, clear the cache */
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 06/12] tests/qtest: Free paths
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
` (4 preceding siblings ...)
2024-07-02 10:33 ` [PULL 05/12] tests/qtest: Free old machine variable name Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-02 10:33 ` [PULL 07/12] tests/qtest: Free GThread Thomas Huth
` (6 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Akihiko Odaki, Michael S . Tsirkin
From: Akihiko Odaki <akihiko.odaki@daynix.com>
This fixes LeakSanitizer warnings.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20240627-san-v2-14-750bb0946dbd@daynix.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/qos-test.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/tests/qtest/qos-test.c b/tests/qtest/qos-test.c
index 5da4091ec3..114f6bef27 100644
--- a/tests/qtest/qos-test.c
+++ b/tests/qtest/qos-test.c
@@ -33,7 +33,6 @@
static char *old_path;
-
/**
* qos_set_machines_devices_available(): sets availability of qgraph
* machines and devices.
@@ -191,6 +190,12 @@ static void subprocess_run_one_test(const void *arg)
g_test_trap_assert_passed();
}
+static void destroy_pathv(void *arg)
+{
+ g_free(((char **)arg)[0]);
+ g_free(arg);
+}
+
/*
* in this function, 2 path will be built:
* path_str, a one-string path (ex "pc/i440FX-pcihost/...")
@@ -295,10 +300,13 @@ static void walk_path(QOSGraphNode *orig_path, int len)
if (path->u.test.subprocess) {
gchar *subprocess_path = g_strdup_printf("/%s/%s/subprocess",
qtest_get_arch(), path_str);
- qtest_add_data_func(path_str, subprocess_path, subprocess_run_one_test);
- g_test_add_data_func(subprocess_path, path_vec, run_one_test);
+ qtest_add_data_func_full(path_str, subprocess_path,
+ subprocess_run_one_test, g_free);
+ g_test_add_data_func_full(subprocess_path, path_vec,
+ run_one_test, destroy_pathv);
} else {
- qtest_add_data_func(path_str, path_vec, run_one_test);
+ qtest_add_data_func_full(path_str, path_vec,
+ run_one_test, destroy_pathv);
}
g_free(path_str);
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 07/12] tests/qtest: Free GThread
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
` (5 preceding siblings ...)
2024-07-02 10:33 ` [PULL 06/12] tests/qtest: Free paths Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-02 10:33 ` [PULL 08/12] docs: add precision about capstone for execlog plugin Thomas Huth
` (5 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
Cc: Akihiko Odaki, Peter Maydell, Michael S . Tsirkin
From: Akihiko Odaki <akihiko.odaki@daynix.com>
These GThreads are never referenced.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20240627-san-v2-15-750bb0946dbd@daynix.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/vhost-user-test.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/qtest/vhost-user-test.c b/tests/qtest/vhost-user-test.c
index d4e437265f..929af5c183 100644
--- a/tests/qtest/vhost-user-test.c
+++ b/tests/qtest/vhost-user-test.c
@@ -928,7 +928,7 @@ static void *vhost_user_test_setup_reconnect(GString *cmd_line, void *arg)
{
TestServer *s = test_server_new("reconnect", arg);
- g_thread_new("connect", connect_thread, s);
+ g_thread_unref(g_thread_new("connect", connect_thread, s));
append_mem_opts(s, cmd_line, 256, TEST_MEMFD_AUTO);
s->vu_ops->append_opts(s, cmd_line, ",server=on");
@@ -965,7 +965,7 @@ static void *vhost_user_test_setup_connect_fail(GString *cmd_line, void *arg)
s->test_fail = true;
- g_thread_new("connect", connect_thread, s);
+ g_thread_unref(g_thread_new("connect", connect_thread, s));
append_mem_opts(s, cmd_line, 256, TEST_MEMFD_AUTO);
s->vu_ops->append_opts(s, cmd_line, ",server=on");
@@ -980,7 +980,7 @@ static void *vhost_user_test_setup_flags_mismatch(GString *cmd_line, void *arg)
s->test_flags = TEST_FLAGS_DISCONNECT;
- g_thread_new("connect", connect_thread, s);
+ g_thread_unref(g_thread_new("connect", connect_thread, s));
append_mem_opts(s, cmd_line, 256, TEST_MEMFD_AUTO);
s->vu_ops->append_opts(s, cmd_line, ",server=on");
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 08/12] docs: add precision about capstone for execlog plugin
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
` (6 preceding siblings ...)
2024-07-02 10:33 ` [PULL 07/12] tests/qtest: Free GThread Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-02 10:33 ` [PULL 09/12] hw/s390x: Attach default virtio-net devices to the /machine/virtual-css-bridge Thomas Huth
` (4 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Alexandre Iooss, Pierrick Bouvier
From: Alexandre Iooss <erdnaxe@crans.org>
Some people are wondering why they get an empty string as disassembly.
Most of the time, they configured QEMU without Capstone support.
Let's document this behaviour to help users.
Signed-off-by: Alexandre Iooss <erdnaxe@crans.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-ID: <20240620135731.977377-1-erdnaxe@crans.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
docs/devel/tcg-plugins.rst | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/docs/devel/tcg-plugins.rst b/docs/devel/tcg-plugins.rst
index 9cc09d8c3d..f7d7b9e3a4 100644
--- a/docs/devel/tcg-plugins.rst
+++ b/docs/devel/tcg-plugins.rst
@@ -539,7 +539,9 @@ which will output an execution trace following this structure::
0, 0xd34, 0xf9c8f000, "bl #0x10c8"
0, 0x10c8, 0xfff96c43, "ldr r3, [r0, #0x44]", load, 0x200000e4, RAM
-the output can be filtered to only track certain instructions or
+Please note that you need to configure QEMU with Capstone support to get disassembly.
+
+The output can be filtered to only track certain instructions or
addresses using the ``ifilter`` or ``afilter`` options. You can stack the
arguments if required::
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 09/12] hw/s390x: Attach default virtio-net devices to the /machine/virtual-css-bridge
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
` (7 preceding siblings ...)
2024-07-02 10:33 ` [PULL 08/12] docs: add precision about capstone for execlog plugin Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-02 10:33 ` [PULL 10/12] tests/avocado: add hotplug_blk test Thomas Huth
` (3 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
Cc: Cédric Le Goater, Philippe Mathieu-Daudé
The initial virtio-net-ccw devices currently do not have a proper parent
in the QOM tree, so they show up under /machine/unattached - which is
somewhat ugly. Let's attach them to /machine/virtual-css-bridge/virtual-css
instead.
Message-ID: <20240701200108.154271-1-thuth@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index f87ca36264..c1edbd9131 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -216,8 +216,11 @@ static void s390_init_ipl_dev(const char *kernel_filename,
static void s390_create_virtio_net(BusState *bus, const char *name)
{
DeviceState *dev;
+ int cnt = 0;
while ((dev = qemu_create_nic_device(name, true, "virtio"))) {
+ g_autofree char *childname = g_strdup_printf("%s[%d]", name, cnt++);
+ object_property_add_child(OBJECT(bus), childname, OBJECT(dev));
qdev_realize_and_unref(dev, bus, &error_fatal);
}
}
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 10/12] tests/avocado: add hotplug_blk test
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
` (8 preceding siblings ...)
2024-07-02 10:33 ` [PULL 09/12] hw/s390x: Attach default virtio-net devices to the /machine/virtual-css-bridge Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-02 10:33 ` [PULL 11/12] .travis.yml: Install python3-tomli in all build jobs Thomas Huth
` (2 subsequent siblings)
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Vladimir Sementsov-Ogievskiy
From: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Introduce a test, that checks that plug/unplug of virtio-blk device
works.
(the test is developed by copying hotplug_cpu.py, so keep original
copyright)
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240409065854.366856-1-vsementsov@yandex-team.ru>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/avocado/hotplug_blk.py | 69 ++++++++++++++++++++++++++++++++++++
1 file changed, 69 insertions(+)
create mode 100644 tests/avocado/hotplug_blk.py
diff --git a/tests/avocado/hotplug_blk.py b/tests/avocado/hotplug_blk.py
new file mode 100644
index 0000000000..5dc30f6616
--- /dev/null
+++ b/tests/avocado/hotplug_blk.py
@@ -0,0 +1,69 @@
+# Functional test that hotplugs a virtio blk disk and checks it on a Linux
+# guest
+#
+# Copyright (c) 2021 Red Hat, Inc.
+# Copyright (c) Yandex
+#
+# This work is licensed under the terms of the GNU GPL, version 2 or
+# later. See the COPYING file in the top-level directory.
+
+import time
+
+from avocado_qemu import LinuxTest
+
+
+class HotPlug(LinuxTest):
+ def blockdev_add(self) -> None:
+ self.vm.cmd('blockdev-add', **{
+ 'driver': 'null-co',
+ 'size': 1073741824,
+ 'node-name': 'disk'
+ })
+
+ def assert_vda(self) -> None:
+ self.ssh_command('test -e /sys/block/vda')
+
+ def assert_no_vda(self) -> None:
+ with self.assertRaises(AssertionError):
+ self.assert_vda()
+
+ def plug(self) -> None:
+ args = {
+ 'driver': 'virtio-blk-pci',
+ 'drive': 'disk',
+ 'id': 'virtio-disk0',
+ 'bus': 'pci.1',
+ 'addr': 1
+ }
+
+ self.assert_no_vda()
+ self.vm.cmd('device_add', args)
+ try:
+ self.assert_vda()
+ except AssertionError:
+ time.sleep(1)
+ self.assert_vda()
+
+ def unplug(self) -> None:
+ self.vm.cmd('device_del', id='virtio-disk0')
+
+ self.vm.event_wait('DEVICE_DELETED', 1.0,
+ match={'data': {'device': 'virtio-disk0'}})
+
+ self.assert_no_vda()
+
+ def test(self) -> None:
+ """
+ :avocado: tags=arch:x86_64
+ :avocado: tags=machine:q35
+ :avocado: tags=accel:kvm
+ """
+ self.require_accelerator('kvm')
+ self.vm.add_args('-accel', 'kvm')
+ self.vm.add_args('-device', 'pcie-pci-bridge,id=pci.1,bus=pcie.0')
+
+ self.launch_and_wait()
+ self.blockdev_add()
+
+ self.plug()
+ self.unplug()
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 11/12] .travis.yml: Install python3-tomli in all build jobs
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
` (9 preceding siblings ...)
2024-07-02 10:33 ` [PULL 10/12] tests/avocado: add hotplug_blk test Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-02 10:33 ` [PULL 12/12] pc-bios/s390-ccw: Remove duplicated LDFLAGS Thomas Huth
2024-07-03 4:46 ` [PULL 00/12] qtest, s390x, avocado and doc patches Richard Henderson
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson; +Cc: Alex Bennée
Since commit 1f97715c83 ('Revert "python: use vendored tomli"')
this package is a hard requirement for compiling QEMU, so install
it now in all Travis jobs, too.
Message-ID: <20240624094807.182313-1-thuth@redhat.com>
Acked-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.travis.yml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/.travis.yml b/.travis.yml
index cef0308952..8fc1ae0cf2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -106,6 +106,7 @@ jobs:
- libvdeplug-dev
- libvte-2.91-dev
- ninja-build
+ - python3-tomli
# Tests dependencies
- genisoimage
env:
@@ -141,6 +142,7 @@ jobs:
- libvdeplug-dev
- libvte-2.91-dev
- ninja-build
+ - python3-tomli
# Tests dependencies
- genisoimage
env:
@@ -175,6 +177,7 @@ jobs:
- libvdeplug-dev
- libvte-2.91-dev
- ninja-build
+ - python3-tomli
# Tests dependencies
- genisoimage
env:
@@ -215,6 +218,7 @@ jobs:
- libzstd-dev
- nettle-dev
- ninja-build
+ - python3-tomli
# Tests dependencies
- genisoimage
env:
@@ -231,6 +235,7 @@ jobs:
- ninja-build
- flex
- bison
+ - python3-tomli
env:
- TEST_CMD="make check check-tcg V=1"
- CONFIG="--disable-containers --disable-system"
@@ -263,6 +268,7 @@ jobs:
- libvdeplug-dev
- libvte-2.91-dev
- ninja-build
+ - python3-tomli
env:
- TEST_CMD="make check-unit"
- CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PULL 12/12] pc-bios/s390-ccw: Remove duplicated LDFLAGS
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
` (10 preceding siblings ...)
2024-07-02 10:33 ` [PULL 11/12] .travis.yml: Install python3-tomli in all build jobs Thomas Huth
@ 2024-07-02 10:33 ` Thomas Huth
2024-07-03 4:46 ` [PULL 00/12] qtest, s390x, avocado and doc patches Richard Henderson
12 siblings, 0 replies; 17+ messages in thread
From: Thomas Huth @ 2024-07-02 10:33 UTC (permalink / raw)
To: qemu-devel, Richard Henderson
The -Wl,-pie and -nostdlib flags are added to LDFLAGS twice. Merge
the two lines to get rid of the duplicates.
Message-ID: <20240621082422.136217-2-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
pc-bios/s390-ccw/Makefile | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
index acfcd1e71a..6207911b53 100644
--- a/pc-bios/s390-ccw/Makefile
+++ b/pc-bios/s390-ccw/Makefile
@@ -40,7 +40,7 @@ EXTRA_CFLAGS += -ffreestanding -fno-delete-null-pointer-checks -fno-common -fPIE
EXTRA_CFLAGS += -fwrapv -fno-strict-aliasing -fno-asynchronous-unwind-tables
EXTRA_CFLAGS += -msoft-float
EXTRA_CFLAGS += -std=gnu99
-LDFLAGS += -Wl,-pie -nostdlib
+LDFLAGS += -Wl,-pie -nostdlib -z noexecstack
cc-test = $(CC) -Werror $1 -c -o /dev/null -xc /dev/null >/dev/null 2>/dev/null
cc-option = if $(call cc-test, $1); then \
@@ -55,8 +55,6 @@ config-cc.mak: Makefile
$(call cc-option,-march=z900,-march=z10)) 3> config-cc.mak
-include config-cc.mak
-LDFLAGS += -Wl,-pie -nostdlib -z noexecstack
-
build-all: s390-ccw.img s390-netboot.img
s390-ccw.elf: $(OBJECTS)
--
2.45.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PULL 00/12] qtest, s390x, avocado and doc patches
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
` (11 preceding siblings ...)
2024-07-02 10:33 ` [PULL 12/12] pc-bios/s390-ccw: Remove duplicated LDFLAGS Thomas Huth
@ 2024-07-03 4:46 ` Richard Henderson
12 siblings, 0 replies; 17+ messages in thread
From: Richard Henderson @ 2024-07-03 4:46 UTC (permalink / raw)
To: Thomas Huth, qemu-devel
On 7/2/24 03:32, Thomas Huth wrote:
> Hi Richard!
>
> The following changes since commit c80a339587fe4148292c260716482dd2f86d4476:
>
> Merge tag 'pull-target-arm-20240701' ofhttps://git.linaro.org/people/pmaydell/qemu-arm into staging (2024-07-01 10:41:45 -0700)
>
> are available in the Git repository at:
>
> https://gitlab.com/thuth/qemu.git tags/pull-request-2024-07-02
>
> for you to fetch changes up to e3e2708fee10e6df413c36a71b100c59710e727e:
>
> pc-bios/s390-ccw: Remove duplicated LDFLAGS (2024-07-02 09:52:38 +0200)
>
> ----------------------------------------------------------------
> * Fix interrupt controller migration on s390x with TCG and enable qtest
> * Fix memory leaks in qtests
> * Use a proper qom-tree parent for s390x virtio-net devices
> * Add hotplug avocado test for virtio-blk
> * Fix Travis jobs (need python3-tomli now)
Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/9.1 as appropriate.
r~
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL 02/12] tests/qtest/migration-test: enable on s390x with TCG
2024-07-02 10:33 ` [PULL 02/12] tests/qtest/migration-test: enable " Thomas Huth
@ 2024-07-04 11:20 ` Nicholas Piggin
2024-07-04 11:48 ` Thomas Huth
0 siblings, 1 reply; 17+ messages in thread
From: Nicholas Piggin @ 2024-07-04 11:20 UTC (permalink / raw)
To: Thomas Huth, qemu-devel, Richard Henderson; +Cc: Prasad Pandit
On Tue Jul 2, 2024 at 8:33 PM AEST, Thomas Huth wrote:
> From: Nicholas Piggin <npiggin@gmail.com>
>
> s390x with TCG is more stable now. Enable it.
Ah, you did a more complete version of my flic fix that migrates all the
state. I didn't see that go by but yeah I suspect that was probably the
correct thing to do. Thanks for that.
Should the s390x flic migrate fix could be got to stable, perhaps?
There's some kvm-unit-tests s390x migration tests that can be enabled
after the fix too don't forget.
Thanks,
Nick
>
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> Message-Id: <20240525131241.378473-3-npiggin@gmail.com>
> Reviewed-by: Prasad Pandit <pjp@fedoraproject.org>
> [thuth: Added "with TCG" to the commit message]
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> tests/qtest/migration-test.c | 12 ------------
> 1 file changed, 12 deletions(-)
>
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index 571fc1334c..70b606b888 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -3823,16 +3823,6 @@ int main(int argc, char **argv)
> test_vmstate_checker_script);
> #endif
>
> - /*
> - * On s390x with TCG, migration is observed to hang due to the 'pending'
> - * state of the flic interrupt controller not being migrated or
> - * reconstructed post-migration. Disable it until the problem is resolved.
> - */
> - if (g_str_equal(arch, "s390x") && !has_kvm) {
> - g_test_message("Skipping tests: s390x host with KVM is required");
> - goto test_add_done;
> - }
> -
> if (is_x86) {
> migration_test_add("/migration/precopy/unix/suspend/live",
> test_precopy_unix_suspend_live);
> @@ -4036,8 +4026,6 @@ int main(int argc, char **argv)
> test_vcpu_dirty_limit);
> }
>
> -test_add_done:
> -
> ret = g_test_run();
>
> g_assert_cmpint(ret, ==, 0);
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL 02/12] tests/qtest/migration-test: enable on s390x with TCG
2024-07-04 11:20 ` Nicholas Piggin
@ 2024-07-04 11:48 ` Thomas Huth
2024-07-05 0:11 ` Nicholas Piggin
0 siblings, 1 reply; 17+ messages in thread
From: Thomas Huth @ 2024-07-04 11:48 UTC (permalink / raw)
To: Nicholas Piggin, qemu-devel, Richard Henderson; +Cc: Prasad Pandit
On 04/07/2024 13.20, Nicholas Piggin wrote:
> On Tue Jul 2, 2024 at 8:33 PM AEST, Thomas Huth wrote:
>> From: Nicholas Piggin <npiggin@gmail.com>
>>
>> s390x with TCG is more stable now. Enable it.
>
> Ah, you did a more complete version of my flic fix that migrates all the
> state. I didn't see that go by but yeah I suspect that was probably the
> correct thing to do. Thanks for that.
Drat, seems like I forgot to CC: you on that patch, sorry for that, that was
by accident and certainly not on purpose :-(
> Should the s390x flic migrate fix could be got to stable, perhaps?
We need a new machine type for enabling the fix, so it does not make much
sense on stable, unfortunately.
> There's some kvm-unit-tests s390x migration tests that can be enabled
> after the fix too don't forget.
Right, I'll try to remember to enable it once QEMU 9.1 has been released.
Thomas
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL 02/12] tests/qtest/migration-test: enable on s390x with TCG
2024-07-04 11:48 ` Thomas Huth
@ 2024-07-05 0:11 ` Nicholas Piggin
0 siblings, 0 replies; 17+ messages in thread
From: Nicholas Piggin @ 2024-07-05 0:11 UTC (permalink / raw)
To: Thomas Huth, qemu-devel, Richard Henderson; +Cc: Prasad Pandit
On Thu Jul 4, 2024 at 9:48 PM AEST, Thomas Huth wrote:
> On 04/07/2024 13.20, Nicholas Piggin wrote:
> > On Tue Jul 2, 2024 at 8:33 PM AEST, Thomas Huth wrote:
> >> From: Nicholas Piggin <npiggin@gmail.com>
> >>
> >> s390x with TCG is more stable now. Enable it.
> >
> > Ah, you did a more complete version of my flic fix that migrates all the
> > state. I didn't see that go by but yeah I suspect that was probably the
> > correct thing to do. Thanks for that.
>
> Drat, seems like I forgot to CC: you on that patch, sorry for that, that was
> by accident and certainly not on purpose :-(
Ah that's fine I was leaving it for s390x people as I said, and
you're s390x people :)
> > Should the s390x flic migrate fix could be got to stable, perhaps?
>
> We need a new machine type for enabling the fix, so it does not make much
> sense on stable, unfortunately.
Okay.
> > There's some kvm-unit-tests s390x migration tests that can be enabled
> > after the fix too don't forget.
>
> Right, I'll try to remember to enable it once QEMU 9.1 has been released.
Great.
Thanks,
Nick
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2024-07-05 0:12 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-02 10:32 [PULL 00/12] qtest, s390x, avocado and doc patches Thomas Huth
2024-07-02 10:32 ` [PULL 01/12] hw/intc/s390_flic: Fix interrupt controller migration on s390x with TCG Thomas Huth
2024-07-02 10:33 ` [PULL 02/12] tests/qtest/migration-test: enable " Thomas Huth
2024-07-04 11:20 ` Nicholas Piggin
2024-07-04 11:48 ` Thomas Huth
2024-07-05 0:11 ` Nicholas Piggin
2024-07-02 10:33 ` [PULL 03/12] tests/qtest: Use qtest_add_data_func_full() Thomas Huth
2024-07-02 10:33 ` [PULL 04/12] tests/qtest: Free unused QMP response Thomas Huth
2024-07-02 10:33 ` [PULL 05/12] tests/qtest: Free old machine variable name Thomas Huth
2024-07-02 10:33 ` [PULL 06/12] tests/qtest: Free paths Thomas Huth
2024-07-02 10:33 ` [PULL 07/12] tests/qtest: Free GThread Thomas Huth
2024-07-02 10:33 ` [PULL 08/12] docs: add precision about capstone for execlog plugin Thomas Huth
2024-07-02 10:33 ` [PULL 09/12] hw/s390x: Attach default virtio-net devices to the /machine/virtual-css-bridge Thomas Huth
2024-07-02 10:33 ` [PULL 10/12] tests/avocado: add hotplug_blk test Thomas Huth
2024-07-02 10:33 ` [PULL 11/12] .travis.yml: Install python3-tomli in all build jobs Thomas Huth
2024-07-02 10:33 ` [PULL 12/12] pc-bios/s390-ccw: Remove duplicated LDFLAGS Thomas Huth
2024-07-03 4:46 ` [PULL 00/12] qtest, s390x, avocado and doc patches Richard Henderson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).