Blame SOURCES/kvm-hw-arm-virt-Check-no_tcg_its-and-minor-style-changes.patch

ff9ada
From 1b4a8daf695a81f18ba70bea91b199da215da4e1 Mon Sep 17 00:00:00 2001
ff9ada
From: Eric Auger <eric.auger@redhat.com>
ff9ada
Date: Wed, 5 Jan 2022 16:17:10 +0100
ff9ada
Subject: [PATCH 5/6] hw/arm/virt: Check no_tcg_its and minor style changes
ff9ada
ff9ada
RH-Author: Eric Auger <eric.auger@redhat.com>
ff9ada
RH-MergeRequest: 95: hw/arm/virt: Add virt-rhel8.6.0 machine type
ff9ada
RH-Commit: [5/5] 57e77446ff5a1a7efe152b2c907c0a0ca5487ab7
ff9ada
RH-Bugzilla: 2031039
ff9ada
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
ff9ada
RH-Acked-by: Andrew Jones <drjones@redhat.com>
ff9ada
RH-Acked-by: Gavin Shan <gshan@redhat.com>
ff9ada
ff9ada
branch: rhel-8.6.0
ff9ada
Brew: 42212069
ff9ada
Upstream: no
ff9ada
ff9ada
Truly allow TCG ITS instantiation according to the no_tcg_its
ff9ada
class flag. Otherwise it is always set to false.
ff9ada
ff9ada
We also take benefit of this patch to do some minor non
ff9ada
functional style changes to be closer to the upstream code.
ff9ada
ff9ada
Signed-off-by: Eric Auger <eric.auger@redhat.com>
ff9ada
---
ff9ada
 hw/arm/virt.c | 14 ++++++++++++--
ff9ada
 1 file changed, 12 insertions(+), 2 deletions(-)
ff9ada
ff9ada
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
ff9ada
index c9c17b9d45..dbf0a6d62f 100644
ff9ada
--- a/hw/arm/virt.c
ff9ada
+++ b/hw/arm/virt.c
ff9ada
@@ -3157,6 +3157,7 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
ff9ada
                                           "in ACPI table header."
ff9ada
                                           "The string may be up to 6 bytes in size");
ff9ada
 
ff9ada
+
ff9ada
     object_class_property_add_str(oc, "x-oem-table-id",
ff9ada
                                   virt_get_oem_table_id,
ff9ada
                                   virt_set_oem_table_id);
ff9ada
@@ -3164,6 +3165,7 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
ff9ada
                                           "Override the default value of field OEM Table ID "
ff9ada
                                           "in ACPI table header."
ff9ada
                                           "The string may be up to 8 bytes in size");
ff9ada
+
ff9ada
 }
ff9ada
 
ff9ada
 static void rhel_virt_instance_init(Object *obj)
ff9ada
@@ -3188,24 +3190,32 @@ static void rhel_virt_instance_init(Object *obj)
ff9ada
     } else {
ff9ada
         /* Default allows ITS instantiation */
ff9ada
         vms->its = true;
ff9ada
+
ff9ada
+        if (vmc->no_tcg_its) {
ff9ada
+            vms->tcg_its = false;
ff9ada
+        } else {
ff9ada
+            vms->tcg_its = true;
ff9ada
+        }
ff9ada
     }
ff9ada
 
ff9ada
     /* Default disallows iommu instantiation */
ff9ada
     vms->iommu = VIRT_IOMMU_NONE;
ff9ada
 
ff9ada
+    /* The default root bus is attached to iommu by default */
ff9ada
+    vms->default_bus_bypass_iommu = false;
ff9ada
+
ff9ada
     /* Default disallows RAS instantiation and is non-configurable for RHEL */
ff9ada
     vms->ras = false;
ff9ada
 
ff9ada
     /* MTE is disabled by default and non-configurable for RHEL */
ff9ada
     vms->mte = false;
ff9ada
 
ff9ada
-    vms->default_bus_bypass_iommu = false;
ff9ada
     vms->irqmap = a15irqmap;
ff9ada
 
ff9ada
     virt_flash_create(vms);
ff9ada
+
ff9ada
     vms->oem_id = g_strndup(ACPI_BUILD_APPNAME6, 6);
ff9ada
     vms->oem_table_id = g_strndup(ACPI_BUILD_APPNAME8, 8);
ff9ada
-
ff9ada
 }
ff9ada
 
ff9ada
 static const TypeInfo rhel_machine_info = {
ff9ada
-- 
ff9ada
2.27.0
ff9ada