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