Merge tag 'pull-request-2025-08-27' of https://gitlab.com/thuth/qemu into staging

* Add v10.2 compat machines
* Move functional tests to target specific subfolders
* Fix some issues in functional tests

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCgAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmiuuP0RHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbVMEA//egQiaWsMquQan7D8RWt7TkD2deY2L5Dx
# D/pkO3xGA1hxCzD37ptGfFw2NO6cVpH8cjOevrJYUwW1Yefbsf8HqUlC7PrqDjTw
# +ztyIPSl7ny3xQxif+1Oc2rmt6MCNCQTw9CLdB0k3D1jr7aY0Z20JrxFrQmExhOe
# oSqiILYwiZGfNI4jiQSBYtBVpKrqwCQ+gEs6HyqayQOczaYynHvt8Gqwyp/DpKpY
# bfBcqbREK8zYTMMRYl5d/qcJpWgVtCj5OeqDQyhLMSgNt9fGmdKMzjK5Wzgl18gX
# 8A9tFK8KreXXLu1UfJWe+/kFAHMWhEWMkOv81Z/gqB4Zmp/eMioKlGDwVBU//PPm
# VFigfAPtqBqvOiuJo673ze2AOWMGROtLyZ9nyfv8/MZcQqoYLtvfZMUa08/M74/w
# TRSsBMGKk3H2O/prrXjFHK8q0aRXB2Ld3to0TyZOwlB17rhaD5jq/P8ge2UgGRGb
# fSghUKGmBAHueZyUdlCer+TEzH8ySl5zmotfiDeQfIYkwQ6rWUQZfehLxoycuHvr
# Kl3ZU6RD7fD2kCzRbvUOsyg0H3pihVvzcCL5BMxbGQ1sqZ+WI1dWPoOaUrZ9EvOg
# lQtsNMiu2i7bVqaJ27zNR4V3nwU77f/f+6zJwyXtD+6Wb+bFcQu5aYfgjqOr/Tlv
# zEVoqp5pRU4=
# =pSMT
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 27 Aug 2025 05:51:25 PM AEST
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [unknown]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [unknown]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [unknown]
# gpg: WARNING: The key's User ID is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* tag 'pull-request-2025-08-27' of https://gitlab.com/thuth/qemu: (31 commits)
  tests/functional: Mark main in QemuBaseTest class as a static method
  MAINTAINERS: Adjust wildcards for the migration, multiprocess and replay tests
  tests/functional: Move the generic tests to a subfolder
  tests/functional: Move xtensa tests into target-specific folder
  tests/functional: Move x86_64 tests into target-specific folder
  tests/functional: Move sparc/sparc64 tests into target-specific folders
  tests/functional: Move sh4/sh4eb tests into target-specific folders
  tests/functional: Move s390x tests into target-specific folders
  tests/functional: Move rx test into target-specific folders
  tests/functional: Move riscv32/riscv64 tests into target-specific folders
  tests/functional: Move ppc/ppc64 tests into target-specific folders
  tests/functional: Move or1k tests into target-specific folders
  tests/functional: Move mips tests into target-specific folders
  tests/functional: Move microblaze tests into architecture specific folder
  tests/functional: Move m68k tests into architecture specific folder
  tests/functional: Move loongarch64 tests into architecture specific folder
  tests/functional: Move i386 tests into architecture specific folder
  tests/functional: Move hppa tests into architecture specific folder
  tests/functional: Move avr tests into architecture specific folder
  tests/functional: Move arm tests into architecture specific folder
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson
2025-08-27 19:11:08 +10:00
201 changed files with 1011 additions and 528 deletions
+1 -1
View File
@@ -77,7 +77,7 @@ msys2-64bit:
git grep make sed
mingw-w64-x86_64-binutils
mingw-w64-x86_64-ccache
mingw-w64-x86_64-curl
mingw-w64-x86_64-curl-winssl
mingw-w64-x86_64-gcc
mingw-w64-x86_64-glib2
mingw-w64-x86_64-libnfs
+107 -96
View File
File diff suppressed because it is too large Load Diff
+9 -2
View File
@@ -3455,10 +3455,17 @@ static void machvirt_machine_init(void)
}
type_init(machvirt_machine_init);
static void virt_machine_10_1_options(MachineClass *mc)
static void virt_machine_10_2_options(MachineClass *mc)
{
}
DEFINE_VIRT_MACHINE_AS_LATEST(10, 1)
DEFINE_VIRT_MACHINE_AS_LATEST(10, 2)
static void virt_machine_10_1_options(MachineClass *mc)
{
virt_machine_10_2_options(mc);
compat_props_add(mc->compat_props, hw_compat_10_1, hw_compat_10_1_len);
}
DEFINE_VIRT_MACHINE(10, 1)
static void virt_machine_10_0_options(MachineClass *mc)
{
+3
View File
@@ -37,6 +37,9 @@
#include "hw/virtio/virtio-iommu.h"
#include "audio/audio.h"
GlobalProperty hw_compat_10_1[] = {};
const size_t hw_compat_10_1_len = G_N_ELEMENTS(hw_compat_10_1);
GlobalProperty hw_compat_10_0[] = {
{ "scsi-hd", "dpofua", "off" },
{ "vfio-pci", "x-migration-load-config-after-iter", "off" },
+3
View File
@@ -81,6 +81,9 @@
{ "qemu64-" TYPE_X86_CPU, "model-id", "QEMU Virtual CPU version " v, },\
{ "athlon-" TYPE_X86_CPU, "model-id", "QEMU Virtual CPU version " v, },
GlobalProperty pc_compat_10_1[] = {};
const size_t pc_compat_10_1_len = G_N_ELEMENTS(pc_compat_10_1);
GlobalProperty pc_compat_10_0[] = {
{ TYPE_X86_CPU, "x-consistent-cache", "false" },
{ TYPE_X86_CPU, "x-vendor-cpuid-only-v2", "false" },
+11 -2
View File
@@ -504,12 +504,21 @@ static void pc_i440fx_machine_options(MachineClass *m)
pc_piix_compat_defaults, pc_piix_compat_defaults_len);
}
static void pc_i440fx_machine_10_1_options(MachineClass *m)
static void pc_i440fx_machine_10_2_options(MachineClass *m)
{
pc_i440fx_machine_options(m);
}
DEFINE_I440FX_MACHINE_AS_LATEST(10, 1);
DEFINE_I440FX_MACHINE_AS_LATEST(10, 2);
static void pc_i440fx_machine_10_1_options(MachineClass *m)
{
pc_i440fx_machine_10_2_options(m);
compat_props_add(m->compat_props, hw_compat_10_1, hw_compat_10_1_len);
compat_props_add(m->compat_props, pc_compat_10_1, pc_compat_10_1_len);
}
DEFINE_I440FX_MACHINE(10, 1);
static void pc_i440fx_machine_10_0_options(MachineClass *m)
{
+11 -2
View File
@@ -374,12 +374,21 @@ static void pc_q35_machine_options(MachineClass *m)
pc_q35_compat_defaults, pc_q35_compat_defaults_len);
}
static void pc_q35_machine_10_1_options(MachineClass *m)
static void pc_q35_machine_10_2_options(MachineClass *m)
{
pc_q35_machine_options(m);
}
DEFINE_Q35_MACHINE_AS_LATEST(10, 1);
DEFINE_Q35_MACHINE_AS_LATEST(10, 2);
static void pc_q35_machine_10_1_options(MachineClass *m)
{
pc_q35_machine_10_2_options(m);
compat_props_add(m->compat_props, hw_compat_10_1, hw_compat_10_1_len);
compat_props_add(m->compat_props, pc_compat_10_1, pc_compat_10_1_len);
}
DEFINE_Q35_MACHINE(10, 1);
static void pc_q35_machine_10_0_options(MachineClass *m)
{
+9 -2
View File
@@ -367,10 +367,17 @@ type_init(virt_machine_register_types)
#define DEFINE_VIRT_MACHINE(major, minor) \
DEFINE_VIRT_MACHINE_IMPL(false, major, minor)
static void virt_machine_10_1_options(MachineClass *mc)
static void virt_machine_10_2_options(MachineClass *mc)
{
}
DEFINE_VIRT_MACHINE_AS_LATEST(10, 1)
DEFINE_VIRT_MACHINE_AS_LATEST(10, 2)
static void virt_machine_10_1_options(MachineClass *mc)
{
virt_machine_10_2_options(mc);
compat_props_add(mc->compat_props, hw_compat_10_1, hw_compat_10_1_len);
}
DEFINE_VIRT_MACHINE(10, 1)
static void virt_machine_10_0_options(MachineClass *mc)
{
+14 -3
View File
@@ -4762,14 +4762,25 @@ static void spapr_machine_latest_class_options(MachineClass *mc)
DEFINE_SPAPR_MACHINE_IMPL(false, major, minor)
/*
* pseries-10.1
* pseries-10.2
*/
static void spapr_machine_10_1_class_options(MachineClass *mc)
static void spapr_machine_10_2_class_options(MachineClass *mc)
{
/* Defaults for the latest behaviour inherited from the base class */
}
DEFINE_SPAPR_MACHINE_AS_LATEST(10, 1);
DEFINE_SPAPR_MACHINE_AS_LATEST(10, 2);
/*
* pseries-10.1
*/
static void spapr_machine_10_1_class_options(MachineClass *mc)
{
spapr_machine_10_2_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_10_1, hw_compat_10_1_len);
}
DEFINE_SPAPR_MACHINE(10, 1);
/*
* pseries-10.0
+13 -1
View File
@@ -911,14 +911,26 @@ static const TypeInfo ccw_machine_info = {
DEFINE_CCW_MACHINE_IMPL(false, major, minor)
static void ccw_machine_10_2_instance_options(MachineState *machine)
{
}
static void ccw_machine_10_2_class_options(MachineClass *mc)
{
}
DEFINE_CCW_MACHINE_AS_LATEST(10, 2);
static void ccw_machine_10_1_instance_options(MachineState *machine)
{
ccw_machine_10_2_instance_options(machine);
}
static void ccw_machine_10_1_class_options(MachineClass *mc)
{
ccw_machine_10_2_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_10_1, hw_compat_10_1_len);
}
DEFINE_CCW_MACHINE_AS_LATEST(10, 1);
DEFINE_CCW_MACHINE(10, 1);
static void ccw_machine_10_0_instance_options(MachineState *machine)
{
+3
View File
@@ -779,6 +779,9 @@ struct MachineState {
} \
type_init(machine_initfn##_register_types)
extern GlobalProperty hw_compat_10_1[];
extern const size_t hw_compat_10_1_len;
extern GlobalProperty hw_compat_10_0[];
extern const size_t hw_compat_10_0_len;
+3
View File
@@ -214,6 +214,9 @@ void pc_system_parse_ovmf_flash(uint8_t *flash_ptr, size_t flash_size);
/* sgx.c */
void pc_machine_init_sgx_epc(PCMachineState *pcms);
extern GlobalProperty pc_compat_10_1[];
extern const size_t pc_compat_10_1_len;
extern GlobalProperty pc_compat_10_0[];
extern const size_t pc_compat_10_0_len;
+48
View File
@@ -0,0 +1,48 @@
# SPDX-License-Identifier: GPL-2.0-or-later
test_aarch64_timeouts = {
'aspeed_ast2700' : 600,
'aspeed_ast2700fc' : 600,
'device_passthrough' : 720,
'imx8mp_evk' : 240,
'raspi4' : 480,
'reverse_debug' : 180,
'rme_virt' : 1200,
'rme_sbsaref' : 1200,
'sbsaref_alpine' : 1200,
'sbsaref_freebsd' : 720,
'smmu' : 720,
'tuxrun' : 240,
'virt' : 360,
'virt_gpu' : 480,
}
tests_aarch64_system_quick = [
'migration',
]
tests_aarch64_system_thorough = [
'aspeed_ast2700',
'aspeed_ast2700fc',
'device_passthrough',
'hotplug_pci',
'imx8mp_evk',
'kvm',
'multiprocess',
'raspi3',
'raspi4',
'replay',
'reverse_debug',
'rme_virt',
'rme_sbsaref',
'sbsaref',
'sbsaref_alpine',
'sbsaref_freebsd',
'smmu',
'tcg_plugins',
'tuxrun',
'virt',
'virt_gpu',
'xen',
'xlnx_versal',
]
+26
View File
@@ -0,0 +1,26 @@
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-2.0-or-later
#
# aarch64 migration test
from migration import MigrationTest
class Aarch64MigrationTest(MigrationTest):
def test_migration_with_tcp_localhost(self):
self.set_machine('quanta-gsj')
self.migration_with_tcp_localhost()
def test_migration_with_unix(self):
self.set_machine('quanta-gsj')
self.migration_with_unix()
def test_migration_with_exec(self):
self.set_machine('quanta-gsj')
self.migration_with_exec()
if __name__ == '__main__':
MigrationTest.main()

Some files were not shown because too many files have changed in this diff Show More