Blob Blame History Raw
From 7bfdb4cd2b490d6da5648b1bfeacf9078b4b3ecb Mon Sep 17 00:00:00 2001
From: Wei Huang <wei@redhat.com>
Date: Thu, 17 Jan 2019 17:33:55 +0000
Subject: [PATCH 5/7] aarch64: Add virt-rhel8.0.0 machine type for ARM

RH-Author: Wei Huang <wei@redhat.com>
Message-id: <20190117173357.31514-2-wei@redhat.com>
Patchwork-id: 84037
O-Subject: [RHEL8 qemu-kvm PATCH v3 1/3] aarch64: Add virt-rhel8.0.0 machine type for ARM
Bugzilla: 1656504
RH-Acked-by: Andrew Jones <drjones@redhat.com>
RH-Acked-by: Auger Eric <eric.auger@redhat.com>
RH-Acked-by: Igor Mammedov <imammedo@redhat.com>
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>

This patch adds a new machine type, virt-rhel8.0.0, for QEMU fast train
to replace old virt-rhel7.6.0 because virt-rhel7.6.0 was defined for
an unsupported preview product. Note that we explicitly disable
256MB ECAM region in virt-rhel8.0.0 to match what virt-rhel7.6.0 offered.

Signed-off-by: Wei Huang <wei@redhat.com>
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
---
 hw/arm/virt.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 84a86c1..156721a 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2094,7 +2094,7 @@ static void rhel_machine_init(void)
 }
 type_init(rhel_machine_init);
 
-static void rhel760_virt_instance_init(Object *obj)
+static void rhel800_virt_instance_init(Object *obj)
 {
     VirtMachineState *vms = VIRT_MACHINE(obj);
     VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
@@ -2119,6 +2119,8 @@ static void rhel760_virt_instance_init(Object *obj)
                                     "Set GIC version. "
                                     "Valid values are 2, 3 and host", NULL);
 
+    vms->highmem_ecam = !vmc->no_highmem_ecam;
+
     if (vmc->no_its) {
         vms->its = false;
     } else {
@@ -2132,12 +2134,16 @@ static void rhel760_virt_instance_init(Object *obj)
                                         NULL);
     }
 
+    /* IOMMU is disabled by default and non-configurable for RHEL */
+    vms->iommu = VIRT_IOMMU_NONE;
+
     vms->memmap=a15memmap;
     vms->irqmap=a15irqmap;
 }
 
-static void rhel760_virt_options(MachineClass *mc)
+static void rhel800_virt_options(MachineClass *mc)
 {
     SET_MACHINE_COMPAT(mc, ARM_RHEL_COMPAT);
+    vmc->no_highmem_ecam = true;
 }
-DEFINE_RHEL_MACHINE_AS_LATEST(7, 6, 0)
+DEFINE_RHEL_MACHINE_AS_LATEST(8, 0, 0)
-- 
1.8.3.1