From 0be2889fa221ba98bd436fa4b4542e57f623d31b Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Wed, 1 Jun 2022 08:09:04 -0400 Subject: Introduce upstream 7.0 compat changes Addding upstream compat changes to 9.1 structure Signed-off-by: Miroslav Rezanina --- Rebase notes (weekly-220608): - Added new 7.0 compat added upstream Rebase notes (QEMU 7.1.0 RC3): - Setting legacy_no_rng_seed to true for RHEL machine types --- hw/arm/virt.c | 1 + hw/core/machine.c | 11 +++++++++++ hw/i386/pc_piix.c | 3 +++ hw/i386/pc_q35.c | 3 +++ hw/s390x/s390-virtio-ccw.c | 1 + include/hw/boards.h | 3 +++ 6 files changed, 22 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 9737b77eca..e80c5b7d8b 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -3514,6 +3514,7 @@ static void rhel900_virt_options(MachineClass *mc) VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc)); compat_props_add(mc->compat_props, arm_rhel_compat, arm_rhel_compat_len); + compat_props_add(mc->compat_props, hw_compat_rhel_9_1, hw_compat_rhel_9_1_len); /* Disable FEAT_LPA2 since old kernels (<= v5.12) don't boot with that feature */ vmc->no_tcg_lpa2 = true; diff --git a/hw/core/machine.c b/hw/core/machine.c index 909f75770b..5a3867692d 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -46,6 +46,17 @@ const char *rhel_old_machine_deprecation = "machine types for previous major releases are deprecated"; +/* + * Mostly the same as hw_compat_7_0 + */ +GlobalProperty hw_compat_rhel_9_1[] = { + /* hw_compat_rhel_9_1 from hw_compat_7_0 */ + { "arm-gicv3-common", "force-8-bit-prio", "on" }, + /* hw_compat_rhel_9_1 from hw_compat_7_0 */ + { "nvme-ns", "eui64-default", "on"}, +}; +const size_t hw_compat_rhel_9_1_len = G_N_ELEMENTS(hw_compat_rhel_9_1); + /* * Mostly the same as hw_compat_6_2 */ diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 52111697cb..7f56ef4e81 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -927,6 +927,9 @@ static void pc_machine_rhel760_options(MachineClass *m) pcmc->kvmclock_create_always = false; /* From pc_i440fx_5_1_machine_options() */ pcmc->pci_root_uid = 1; + pcmc->legacy_no_rng_seed = true; + 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, hw_compat_rhel_9_0_len); compat_props_add(m->compat_props, pc_rhel_9_0_compat, diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 4e7f1a707c..f16dc3bff5 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -692,6 +692,9 @@ static void pc_q35_machine_rhel900_options(MachineClass *m) m->desc = "RHEL-9.0.0 PC (Q35 + ICH9, 2009)"; pcmc->smbios_stream_product = "RHEL"; pcmc->smbios_stream_version = "9.0.0"; + pcmc->legacy_no_rng_seed = true; + 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, hw_compat_rhel_9_0_len); compat_props_add(m->compat_props, pc_rhel_9_0_compat, diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index e1e6b6b5a7..de748a0a57 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -1144,6 +1144,7 @@ static void ccw_machine_rhel900_instance_options(MachineState *machine) static void ccw_machine_rhel900_class_options(MachineClass *mc) { + compat_props_add(mc->compat_props, hw_compat_rhel_9_1, hw_compat_rhel_9_1_len); compat_props_add(mc->compat_props, hw_compat_rhel_9_0, hw_compat_rhel_9_0_len); } DEFINE_CCW_MACHINE(rhel900, "rhel9.0.0", true); diff --git a/include/hw/boards.h b/include/hw/boards.h index 0d22c19f4a..130f1c3424 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -453,6 +453,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_1[]; +extern const size_t hw_compat_rhel_9_1_len; + extern GlobalProperty hw_compat_rhel_9_0[]; extern const size_t hw_compat_rhel_9_0_len; -- 2.31.1