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

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