* [PATCH for-11.0] hw: add compat machines for 11.0
@ 2025-11-12 13:00 Cornelia Huck
2025-11-19 12:58 ` Thomas Huth
0 siblings, 1 reply; 2+ messages in thread
From: Cornelia Huck @ 2025-11-12 13:00 UTC (permalink / raw)
To: Peter Maydell, Eduardo Habkost, Marcel Apfelbaum,
Philippe Mathieu-Daudé, Yanan Wang, Zhao Liu,
Michael S. Tsirkin, Paolo Bonzini, Richard Henderson,
Laurent Vivier, Nicholas Piggin, Harsh Prateek Bora, Halil Pasic,
Christian Borntraeger, Eric Farman, Matthew Rosato, Thomas Huth,
David Hildenbrand, Ilya Leoshkevich
Cc: qemu-arm, qemu-devel, qemu-ppc, qemu-s390x, Cornelia Huck
Add 11.0 machine types for arm/i440fx/m68k/q35/s390x/spapr.
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/arm/virt.c | 9 ++++++++-
hw/core/machine.c | 3 +++
hw/i386/pc.c | 3 +++
hw/i386/pc_piix.c | 13 +++++++++++--
hw/i386/pc_q35.c | 13 +++++++++++--
hw/m68k/virt.c | 9 ++++++++-
hw/ppc/spapr.c | 15 +++++++++++++--
hw/s390x/s390-virtio-ccw.c | 14 +++++++++++++-
include/hw/boards.h | 3 +++
include/hw/i386/pc.h | 3 +++
10 files changed, 76 insertions(+), 9 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 25fb2bab5680..6fcca24141e3 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3533,10 +3533,17 @@ static void machvirt_machine_init(void)
}
type_init(machvirt_machine_init);
+static void virt_machine_11_0_options(MachineClass *mc)
+{
+}
+DEFINE_VIRT_MACHINE_AS_LATEST(11, 0)
+
static void virt_machine_10_2_options(MachineClass *mc)
{
+ virt_machine_11_0_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_10_2, hw_compat_10_2_len);
}
-DEFINE_VIRT_MACHINE_AS_LATEST(10, 2)
+DEFINE_VIRT_MACHINE(10, 2)
static void virt_machine_10_1_options(MachineClass *mc)
{
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 06e0c9a179bb..0a33f6baf41a 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -38,6 +38,9 @@
#include "hw/acpi/generic_event_device.h"
#include "qemu/audio.h"
+GlobalProperty hw_compat_10_2[] = {};
+const size_t hw_compat_10_2_len = G_N_ELEMENTS(hw_compat_10_2);
+
GlobalProperty hw_compat_10_1[] = {
{ TYPE_ACPI_GED, "x-has-hest-addr", "false" },
{ TYPE_VIRTIO_NET, "host_tunnel", "off" },
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index f8b919cb6c47..1cdc7e0361de 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -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_2[] = {};
+const size_t pc_compat_10_2_len = G_N_ELEMENTS(pc_compat_10_2);
+
GlobalProperty pc_compat_10_1[] = {
{ "mch", "extended-tseg-mbytes", "16" },
};
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 7b3611e973cd..1b25870ec52f 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -438,12 +438,21 @@ static void pc_i440fx_machine_options(MachineClass *m)
pc_piix_compat_defaults, pc_piix_compat_defaults_len);
}
-static void pc_i440fx_machine_10_2_options(MachineClass *m)
+static void pc_i440fx_machine_11_0_options(MachineClass *m)
{
pc_i440fx_machine_options(m);
}
-DEFINE_I440FX_MACHINE_AS_LATEST(10, 2);
+DEFINE_I440FX_MACHINE_AS_LATEST(11, 0);
+
+static void pc_i440fx_machine_10_2_options(MachineClass *m)
+{
+ pc_i440fx_machine_11_0_options(m);
+ compat_props_add(m->compat_props, hw_compat_10_2, hw_compat_10_2_len);
+ compat_props_add(m->compat_props, pc_compat_10_2, pc_compat_10_2_len);
+}
+
+DEFINE_I440FX_MACHINE(10, 2);
static void pc_i440fx_machine_10_1_options(MachineClass *m)
{
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 6015e639d7bc..a0440581f72c 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -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_2_options(MachineClass *m)
+static void pc_q35_machine_11_0_options(MachineClass *m)
{
pc_q35_machine_options(m);
}
-DEFINE_Q35_MACHINE_AS_LATEST(10, 2);
+DEFINE_Q35_MACHINE_AS_LATEST(11, 0);
+
+static void pc_q35_machine_10_2_options(MachineClass *m)
+{
+ pc_q35_machine_11_0_options(m);
+ compat_props_add(m->compat_props, hw_compat_10_2, hw_compat_10_2_len);
+ compat_props_add(m->compat_props, pc_compat_10_2, pc_compat_10_2_len);
+}
+
+DEFINE_Q35_MACHINE(10, 2);
static void pc_q35_machine_10_1_options(MachineClass *m)
{
diff --git a/hw/m68k/virt.c b/hw/m68k/virt.c
index 3f65d9155617..1426ac220e4c 100644
--- a/hw/m68k/virt.c
+++ b/hw/m68k/virt.c
@@ -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_11_0_options(MachineClass *mc)
+{
+}
+DEFINE_VIRT_MACHINE_AS_LATEST(11, 0)
+
static void virt_machine_10_2_options(MachineClass *mc)
{
+ virt_machine_11_0_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_10_2, hw_compat_10_2_len);
}
-DEFINE_VIRT_MACHINE_AS_LATEST(10, 2)
+DEFINE_VIRT_MACHINE(10, 2)
static void virt_machine_10_1_options(MachineClass *mc)
{
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 99b843ba2faf..b93341ef5af5 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4750,15 +4750,26 @@ static void spapr_machine_latest_class_options(MachineClass *mc)
#define DEFINE_SPAPR_MACHINE(major, minor) \
DEFINE_SPAPR_MACHINE_IMPL(false, major, minor)
+/*
+ * pseries-11.0
+ */
+static void spapr_machine_11_0_class_options(MachineClass *mc)
+{
+ /* Defaults for the latest behaviour inherited from the base class */
+}
+
+DEFINE_SPAPR_MACHINE_AS_LATEST(11, 0);
+
/*
* pseries-10.2
*/
static void spapr_machine_10_2_class_options(MachineClass *mc)
{
- /* Defaults for the latest behaviour inherited from the base class */
+ spapr_machine_11_0_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_10_2, hw_compat_10_2_len);
}
-DEFINE_SPAPR_MACHINE_AS_LATEST(10, 2);
+DEFINE_SPAPR_MACHINE(10, 2);
/*
* pseries-10.1
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 64b81345f1e2..8babb256da59 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -890,14 +890,26 @@ static const TypeInfo ccw_machine_info = {
DEFINE_CCW_MACHINE_IMPL(false, major, minor)
+static void ccw_machine_11_0_instance_options(MachineState *machine)
+{
+}
+
+static void ccw_machine_11_0_class_options(MachineClass *mc)
+{
+}
+DEFINE_CCW_MACHINE_AS_LATEST(11, 0);
+
static void ccw_machine_10_2_instance_options(MachineState *machine)
{
+ ccw_machine_11_0_instance_options(machine);
}
static void ccw_machine_10_2_class_options(MachineClass *mc)
{
+ ccw_machine_11_0_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_10_2, hw_compat_10_2_len);
}
-DEFINE_CCW_MACHINE_AS_LATEST(10, 2);
+DEFINE_CCW_MACHINE(10, 2);
static void ccw_machine_10_1_instance_options(MachineState *machine)
{
diff --git a/include/hw/boards.h b/include/hw/boards.h
index a48ed4f86a35..cca291d7aee9 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -798,6 +798,9 @@ struct MachineState {
} \
} while (0)
+extern GlobalProperty hw_compat_10_2[];
+extern const size_t hw_compat_10_2_len;
+
extern GlobalProperty hw_compat_10_1[];
extern const size_t hw_compat_10_1_len;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index e83157ab358f..0f1c6d3e82e7 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -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_2[];
+extern const size_t pc_compat_10_2_len;
+
extern GlobalProperty pc_compat_10_1[];
extern const size_t pc_compat_10_1_len;
--
2.51.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH for-11.0] hw: add compat machines for 11.0
2025-11-12 13:00 [PATCH for-11.0] hw: add compat machines for 11.0 Cornelia Huck
@ 2025-11-19 12:58 ` Thomas Huth
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Huth @ 2025-11-19 12:58 UTC (permalink / raw)
To: Cornelia Huck, Peter Maydell, Eduardo Habkost, Marcel Apfelbaum,
Philippe Mathieu-Daudé, Yanan Wang, Zhao Liu,
Michael S. Tsirkin, Paolo Bonzini, Richard Henderson,
Laurent Vivier, Nicholas Piggin, Harsh Prateek Bora, Halil Pasic,
Christian Borntraeger, Eric Farman, Matthew Rosato,
David Hildenbrand, Ilya Leoshkevich
Cc: qemu-arm, qemu-devel, qemu-ppc, qemu-s390x
On 12/11/2025 14.00, Cornelia Huck wrote:
> Add 11.0 machine types for arm/i440fx/m68k/q35/s390x/spapr.
>
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> ---
> hw/arm/virt.c | 9 ++++++++-
> hw/core/machine.c | 3 +++
> hw/i386/pc.c | 3 +++
> hw/i386/pc_piix.c | 13 +++++++++++--
> hw/i386/pc_q35.c | 13 +++++++++++--
> hw/m68k/virt.c | 9 ++++++++-
> hw/ppc/spapr.c | 15 +++++++++++++--
> hw/s390x/s390-virtio-ccw.c | 14 +++++++++++++-
> include/hw/boards.h | 3 +++
> include/hw/i386/pc.h | 3 +++
> 10 files changed, 76 insertions(+), 9 deletions(-)
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-11-19 12:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-12 13:00 [PATCH for-11.0] hw: add compat machines for 11.0 Cornelia Huck
2025-11-19 12:58 ` Thomas Huth
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).