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

357786
From 5aec9f19936a96f0140e8ede00fb1a5753477dc7 Mon Sep 17 00:00:00 2001
357786
From: David Gibson <dgibson@redhat.com>
357786
Date: Mon, 25 Jun 2018 05:11:41 +0200
357786
Subject: [PATCH 01/89] RHEL-7.6: Add pseries-rhel7.6.0-sxxm machine type
357786
357786
RH-Author: David Gibson <dgibson@redhat.com>
357786
Message-id: <20180625051141.8203-1-dgibson@redhat.com>
357786
Patchwork-id: 81034
357786
O-Subject: [RHEL-7.6 qemu-kvm-rhv PATCH] RHEL-7.6: Add pseries-rhel7.6.0-sxxm machine type
357786
Bugzilla: 1592648
357786
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
357786
RH-Acked-by: Serhii Popovych <spopovyc@redhat.com>
357786
RH-Acked-by: Thomas Huth <thuth@redhat.com>
357786
357786
For the pseries-rhel7.3.0 .. pseries-rhel7.5.0 machine types we have -sxxm
357786
variants, the only difference being that the -sxxm variants have the
357786
Spectre and Meltdown mitigations available to guests by default.
357786
357786
We'd delayed on adding a similar variant for RHEL 7.6, in the hope that we
357786
might be able to enable the mitigations by default for the ordinary 7.6
357786
machine type.  This requires that updated POWER8 firmware (FW860.51 or
357786
newer) be installed on the host.
357786
357786
The updated firmware was only released late May, and it's not clear how
357786
quickly and widely it will be deployed.  For that reason, plus for
357786
consistency in how things need to be configured across rhel-7.y, we're now
357786
adding a pseries-rhel7.6.0-sxxm machine type.
357786
357786
Signed-off-by: David Gibson <dgibson@redhat.com>
357786
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
357786
---
357786
 hw/ppc/spapr.c | 22 ++++++++++++++++++++++
357786
 1 file changed, 22 insertions(+)
357786
357786
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
357786
index e2df370..a580334 100644
357786
--- a/hw/ppc/spapr.c
357786
+++ b/hw/ppc/spapr.c
357786
@@ -4369,6 +4369,28 @@ static void spapr_machine_rhel760_class_options(MachineClass *mc)
357786
 DEFINE_SPAPR_MACHINE(rhel760, "rhel7.6.0", true);
357786
 
357786
 /*
357786
+ * pseries-rhel7.6.0-sxxm
357786
+ *
357786
+ * pseries-rhel7.6.0 with speculative execution exploit mitigations enabled by default
357786
+ */
357786
+static void spapr_machine_rhel760sxxm_instance_options(MachineState *machine)
357786
+{
357786
+    spapr_machine_rhel760_instance_options(machine);
357786
+}
357786
+
357786
+static void spapr_machine_rhel760sxxm_class_options(MachineClass *mc)
357786
+{
357786
+    sPAPRMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
357786
+
357786
+    spapr_machine_rhel760_class_options(mc);
357786
+    smc->default_caps.caps[SPAPR_CAP_CFPC] = SPAPR_CAP_WORKAROUND;
357786
+    smc->default_caps.caps[SPAPR_CAP_SBBC] = SPAPR_CAP_WORKAROUND;
357786
+    smc->default_caps.caps[SPAPR_CAP_IBS] = SPAPR_CAP_FIXED_CCD;
357786
+}
357786
+
357786
+DEFINE_SPAPR_MACHINE(rhel760sxxm, "rhel7.6.0-sxxm", false);
357786
+
357786
+/*
357786
  * pseries-rhel7.5.0
357786
  * like SPAPR_COMPAT_2_11 and SPAPR_COMPAT_2_10
357786
  * SPAPR_CAP_HTM already enabled in 7.4
357786
-- 
357786
1.8.3.1
357786