From bd5d81d2865c239ffea0fecf32476732149ad05c Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Wed, 15 Feb 2023 02:03:17 -0500 Subject: Add RHEL 9.2.0 compat structure Adding compatibility bits necessary to keep 9.2.0 machine types same after rebase to 8.0. Signed-off-by: Miroslav Rezanina Rebase notes (8.0.0 rc4): - Added migration.x-preempt-pre-7-2 compat) --- hw/arm/virt.c | 1 + hw/core/machine.c | 10 ++++++++++ hw/i386/pc_piix.c | 2 ++ hw/i386/pc_q35.c | 3 +++ hw/s390x/s390-virtio-ccw.c | 1 + include/hw/boards.h | 3 +++ 6 files changed, 20 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 1ae1654be5..9be53e9355 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -3669,6 +3669,7 @@ type_init(rhel_machine_init); static void rhel920_virt_options(MachineClass *mc) { compat_props_add(mc->compat_props, arm_rhel_compat, arm_rhel_compat_len); + compat_props_add(mc->compat_props, hw_compat_rhel_9_2, hw_compat_rhel_9_2_len); } DEFINE_RHEL_MACHINE_AS_LATEST(9, 2, 0) diff --git a/hw/core/machine.c b/hw/core/machine.c index 5aa567fad3..0e0120b7f2 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -52,6 +52,16 @@ const size_t hw_compat_7_2_len = G_N_ELEMENTS(hw_compat_7_2); const char *rhel_old_machine_deprecation = "machine types for previous major releases are deprecated"; +GlobalProperty hw_compat_rhel_9_2[] = { + /* hw_compat_rhel_9_2 from hw_compat_7_2 */ + { "e1000e", "migrate-timadj", "off" }, + /* hw_compat_rhel_9_2 from hw_compat_7_2 */ + { "virtio-mem", "x-early-migration", "false" }, + /* hw_compat_rhel_9_2 from hw_compat_7_2 */ + { "migration", "x-preempt-pre-7-2", "true" }, +}; +const size_t hw_compat_rhel_9_2_len = G_N_ELEMENTS(hw_compat_rhel_9_2); + /* * Mostly the same as hw_compat_7_0 */ diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 3e330fd36f..90fb6e2e03 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -947,6 +947,8 @@ static void pc_machine_rhel760_options(MachineClass *m) /* From pc_i440fx_5_1_machine_options() */ pcmc->pci_root_uid = 1; pcmc->enforce_amd_1tb_hole = false; + compat_props_add(m->compat_props, hw_compat_rhel_9_2, + hw_compat_rhel_9_2_len); compat_props_add(m->compat_props, hw_compat_rhel_9_1, hw_compat_rhel_9_1_len); compat_props_add(m->compat_props, hw_compat_rhel_9_0, diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 98601bb76f..8945b69175 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -701,6 +701,9 @@ static void pc_q35_machine_rhel920_options(MachineClass *m) m->desc = "RHEL-9.2.0 PC (Q35 + ICH9, 2009)"; pcmc->smbios_stream_product = "RHEL"; pcmc->smbios_stream_version = "9.2.0"; + + compat_props_add(m->compat_props, hw_compat_rhel_9_2, + hw_compat_rhel_9_2_len); } DEFINE_PC_MACHINE(q35_rhel920, "pc-q35-rhel9.2.0", pc_q35_init_rhel920, diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index dcd3b966b0..6a0b93c63d 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -1211,6 +1211,7 @@ static void ccw_machine_rhel920_instance_options(MachineState *machine) static void ccw_machine_rhel920_class_options(MachineClass *mc) { + compat_props_add(mc->compat_props, hw_compat_rhel_9_2, hw_compat_rhel_9_2_len); } DEFINE_CCW_MACHINE(rhel920, "rhel9.2.0", true); diff --git a/include/hw/boards.h b/include/hw/boards.h index 5e7446ee40..5f08bd7550 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -461,6 +461,9 @@ extern const size_t hw_compat_2_2_len; extern GlobalProperty hw_compat_2_1[]; extern const size_t hw_compat_2_1_len; +extern GlobalProperty hw_compat_rhel_9_2[]; +extern const size_t hw_compat_rhel_9_2_len; + extern GlobalProperty hw_compat_rhel_9_1[]; extern const size_t hw_compat_rhel_9_1_len; -- 2.39.1