thebeanogamer / rpms / qemu-kvm

Forked from rpms/qemu-kvm 5 months ago
Clone

Blame SOURCES/0019-WRB-Introduce-RHEL-9.0.0-hw-compat-structure.patch

586cba
From 1d6439527aa6ccabb58208c94417778ccc19de39 Mon Sep 17 00:00:00 2001
586cba
From: Miroslav Rezanina <mrezanin@redhat.com>
586cba
Date: Wed, 9 Feb 2022 04:16:25 -0500
586cba
Subject: WRB: Introduce RHEL 9.0.0 hw compat structure
586cba
586cba
General compatibility structure for post RHEL 9.0.0 rebase.
586cba
586cba
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
586cba
---
586cba
 hw/core/machine.c          | 9 +++++++++
586cba
 hw/i386/pc.c               | 6 ++++++
586cba
 hw/i386/pc_piix.c          | 4 ++++
586cba
 hw/i386/pc_q35.c           | 4 ++++
586cba
 hw/s390x/s390-virtio-ccw.c | 2 ++
586cba
 include/hw/boards.h        | 3 +++
586cba
 include/hw/i386/pc.h       | 3 +++
586cba
 7 files changed, 31 insertions(+)
586cba
586cba
diff --git a/hw/core/machine.c b/hw/core/machine.c
586cba
index 28989b6e7b..dffc3ef4ab 100644
586cba
--- a/hw/core/machine.c
586cba
+++ b/hw/core/machine.c
586cba
@@ -53,6 +53,15 @@ GlobalProperty hw_compat_rhel_8_6[] = {
586cba
 };
586cba
 const size_t hw_compat_rhel_8_6_len = G_N_ELEMENTS(hw_compat_rhel_8_6);
586cba
 
586cba
+/*
586cba
+ * Mostly the same as hw_compat_6_2
586cba
+ */
586cba
+GlobalProperty hw_compat_rhel_9_0[] = {
586cba
+    /* hw_compat_rhel_9_0 from hw_compat_6_2 */
586cba
+    { "PIIX4_PM", "x-not-migrate-acpi-index", "on"},
586cba
+};
586cba
+const size_t hw_compat_rhel_9_0_len = G_N_ELEMENTS(hw_compat_rhel_9_0);
586cba
+
586cba
 /*
586cba
  * Mostly the same as hw_compat_6_0 and hw_compat_6_1
586cba
  */
586cba
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
586cba
index 263d882af6..0886cfe3fe 100644
586cba
--- a/hw/i386/pc.c
586cba
+++ b/hw/i386/pc.c
586cba
@@ -391,6 +391,12 @@ GlobalProperty pc_rhel_compat[] = {
586cba
 };
586cba
 const size_t pc_rhel_compat_len = G_N_ELEMENTS(pc_rhel_compat);
586cba
 
586cba
+GlobalProperty pc_rhel_9_0_compat[] = {
586cba
+    /* pc_rhel_9_0_compat from pc_compat_6_2 */
586cba
+    { "virtio-mem", "unplugged-inaccessible", "off" },
586cba
+};
586cba
+const size_t pc_rhel_9_0_compat_len = G_N_ELEMENTS(pc_rhel_9_0_compat);
586cba
+
586cba
 GlobalProperty pc_rhel_8_5_compat[] = {
586cba
     /* pc_rhel_8_5_compat from pc_compat_6_0 */
586cba
     { "qemu64" "-" TYPE_X86_CPU, "family", "6" },
586cba
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
586cba
index 0cacc0d623..dc987fe93b 100644
586cba
--- a/hw/i386/pc_piix.c
586cba
+++ b/hw/i386/pc_piix.c
586cba
@@ -1014,6 +1014,10 @@ static void pc_machine_rhel760_options(MachineClass *m)
586cba
     pcmc->kvmclock_create_always = false;
586cba
     /* From pc_i440fx_5_1_machine_options() */
586cba
     pcmc->pci_root_uid = 1;
586cba
+    compat_props_add(m->compat_props, hw_compat_rhel_9_0,
586cba
+                     hw_compat_rhel_9_0_len);
586cba
+    compat_props_add(m->compat_props, pc_rhel_9_0_compat,
586cba
+                     pc_rhel_9_0_compat_len);
586cba
     compat_props_add(m->compat_props, hw_compat_rhel_8_6,
586cba
                      hw_compat_rhel_8_6_len);
586cba
     compat_props_add(m->compat_props, hw_compat_rhel_8_5,
586cba
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
586cba
index 157160e069..52c253c570 100644
586cba
--- a/hw/i386/pc_q35.c
586cba
+++ b/hw/i386/pc_q35.c
586cba
@@ -669,6 +669,10 @@ static void pc_q35_machine_rhel900_options(MachineClass *m)
586cba
     m->desc = "RHEL-9.0.0 PC (Q35 + ICH9, 2009)";
586cba
     pcmc->smbios_stream_product = "RHEL";
586cba
     pcmc->smbios_stream_version = "9.0.0";
586cba
+    compat_props_add(m->compat_props, hw_compat_rhel_9_0,
586cba
+                     hw_compat_rhel_9_0_len);
586cba
+    compat_props_add(m->compat_props, pc_rhel_9_0_compat,
586cba
+                     pc_rhel_9_0_compat_len);
586cba
 }
586cba
 
586cba
 DEFINE_PC_MACHINE(q35_rhel900, "pc-q35-rhel9.0.0", pc_q35_init_rhel900,
586cba
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
586cba
index 465a2a09d2..08e0f6a79b 100644
586cba
--- a/hw/s390x/s390-virtio-ccw.c
586cba
+++ b/hw/s390x/s390-virtio-ccw.c
586cba
@@ -1118,12 +1118,14 @@ static void ccw_machine_2_4_class_options(MachineClass *mc)
586cba
 DEFINE_CCW_MACHINE(2_4, "2.4", false);
586cba
 #endif
586cba
 
586cba
+
586cba
 static void ccw_machine_rhel900_instance_options(MachineState *machine)
586cba
 {
586cba
 }
586cba
 
586cba
 static void ccw_machine_rhel900_class_options(MachineClass *mc)
586cba
 {
586cba
+    compat_props_add(mc->compat_props, hw_compat_rhel_9_0, hw_compat_rhel_9_0_len);
586cba
 }
586cba
 DEFINE_CCW_MACHINE(rhel900, "rhel9.0.0", true);
586cba
 
586cba
diff --git a/include/hw/boards.h b/include/hw/boards.h
586cba
index d1555665df..635e45dd71 100644
586cba
--- a/include/hw/boards.h
586cba
+++ b/include/hw/boards.h
586cba
@@ -451,6 +451,9 @@ extern const size_t hw_compat_2_2_len;
586cba
 extern GlobalProperty hw_compat_2_1[];
586cba
 extern const size_t hw_compat_2_1_len;
586cba
 
586cba
+extern GlobalProperty hw_compat_rhel_9_0[];
586cba
+extern const size_t hw_compat_rhel_9_0_len;
586cba
+
586cba
 extern GlobalProperty hw_compat_rhel_8_6[];
586cba
 extern const size_t hw_compat_rhel_8_6_len;
586cba
 
586cba
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
586cba
index 419a6ec24b..a492c420b5 100644
586cba
--- a/include/hw/i386/pc.h
586cba
+++ b/include/hw/i386/pc.h
586cba
@@ -292,6 +292,9 @@ extern const size_t pc_compat_1_4_len;
586cba
 extern GlobalProperty pc_rhel_compat[];
586cba
 extern const size_t pc_rhel_compat_len;
586cba
 
586cba
+extern GlobalProperty pc_rhel_9_0_compat[];
586cba
+extern const size_t pc_rhel_9_0_compat_len;
586cba
+
586cba
 extern GlobalProperty pc_rhel_8_5_compat[];
586cba
 extern const size_t pc_rhel_8_5_compat_len;
586cba
 
586cba
-- 
586cba
2.31.1
586cba