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

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