qemu-kvm/0018-Introduce-upstream-7.0...

117 lines
4.2 KiB
Diff

From 0be2889fa221ba98bd436fa4b4542e57f623d31b Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
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 <mrezanin@redhat.com>
---
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