Blame SOURCES/kvm-RHEL-8.0-Add-pseries-rhel7.6.0-sxxm-machine-type.patch

ae23c9
From 6c2f10596f53c29687a64aa78f339e3043850936 Mon Sep 17 00:00:00 2001
ae23c9
From: David Gibson <dgibson@redhat.com>
ae23c9
Date: Wed, 25 Jul 2018 08:36:42 +0100
ae23c9
Subject: [PATCH 03/14] RHEL-8.0: Add pseries-rhel7.6.0-sxxm machine type
ae23c9
ae23c9
RH-Author: David Gibson <dgibson@redhat.com>
ae23c9
Message-id: <20180725083642.11004-1-dgibson@redhat.com>
ae23c9
Patchwork-id: 81501
ae23c9
O-Subject: [RHEL-8.0 qemu-kvm PATCH] RHEL-8.0: Add pseries-rhel7.6.0-sxxm machine type
ae23c9
Bugzilla: 1595501
ae23c9
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
ae23c9
RH-Acked-by: Serhii Popovych <spopovyc@redhat.com>
ae23c9
RH-Acked-by: Thomas Huth <thuth@redhat.com>
ae23c9
ae23c9
For the pseries-rhel7.3.0 .. pseries-rhel7.5.0 machine types we have -sxxm
ae23c9
variants, the only difference being that the -sxxm variants have the
ae23c9
Spectre and Meltdown mitigations available to guests by default.
ae23c9
ae23c9
We'd delayed on adding a similar variant for RHEL 7.6, in the hope that we
ae23c9
might be able to enable the mitigations by default for the ordinary 7.6
ae23c9
machine type.  This requires that updated POWER8 firmware (FW860.51 or
ae23c9
newer) be installed on the host.
ae23c9
ae23c9
The updated firmware was only released late May, and it's not clear how
ae23c9
quickly and widely it will be deployed.  For that reason, plus for
ae23c9
consistency in how things need to be configured across rhel-7.y, we're now
ae23c9
adding a pseries-rhel7.6.0-sxxm machine type.
ae23c9
ae23c9
Upstream status: downstream only
ae23c9
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1595501
ae23c9
ae23c9
Signed-off-by: David Gibson <dgibson@redhat.com>
ae23c9
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
ae23c9
---
ae23c9
 hw/ppc/spapr.c | 22 ++++++++++++++++++++++
ae23c9
 1 file changed, 22 insertions(+)
ae23c9
ae23c9
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
ae23c9
index 7de3f07..a61dafd 100644
ae23c9
--- a/hw/ppc/spapr.c
ae23c9
+++ b/hw/ppc/spapr.c
ae23c9
@@ -4355,6 +4355,28 @@ static void spapr_machine_rhel760_class_options(MachineClass *mc)
ae23c9
 DEFINE_SPAPR_MACHINE(rhel760, "rhel7.6.0", true);
ae23c9
 
ae23c9
 /*
ae23c9
+ * pseries-rhel7.6.0-sxxm
ae23c9
+ *
ae23c9
+ * pseries-rhel7.6.0 with speculative execution exploit mitigations enabled by default
ae23c9
+ */
ae23c9
+static void spapr_machine_rhel760sxxm_instance_options(MachineState *machine)
ae23c9
+{
ae23c9
+    spapr_machine_rhel760_instance_options(machine);
ae23c9
+}
ae23c9
+
ae23c9
+static void spapr_machine_rhel760sxxm_class_options(MachineClass *mc)
ae23c9
+{
ae23c9
+    sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
ae23c9
+
ae23c9
+    spapr_machine_rhel760_class_options(mc);
ae23c9
+    smc->default_caps.caps[SPAPR_CAP_CFPC] = SPAPR_CAP_WORKAROUND;
ae23c9
+    smc->default_caps.caps[SPAPR_CAP_SBBC] = SPAPR_CAP_WORKAROUND;
ae23c9
+    smc->default_caps.caps[SPAPR_CAP_IBS] = SPAPR_CAP_FIXED_CCD;
ae23c9
+}
ae23c9
+
ae23c9
+DEFINE_SPAPR_MACHINE(rhel760sxxm, "rhel7.6.0-sxxm", false);
ae23c9
+
ae23c9
+/*
ae23c9
  * pseries-rhel7.5.0
ae23c9
  * like SPAPR_COMPAT_2_11 and SPAPR_COMPAT_2_10
ae23c9
  * SPAPR_CAP_HTM already enabled in 7.4
ae23c9
-- 
ae23c9
1.8.3.1
ae23c9