File xsa435-0-14.patch of Package xen.31135
From d04ae78c34e7e21d9be79301cad7dc085873656a Mon Sep 17 00:00:00 2001
From: Andrew Cooper <andrew.cooper3@citrix.com>
Date: Fri, 10 Mar 2023 15:54:28 +0000
Subject: x86/spec-ctrl: Enumerations for DDP controls
https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/data-dependent-prefetcher.html
We should offer DDP-CTRL to guests, but I'm not sure when it is appearing in
hardware, and it's not massively urgent - the DDP behaviour is mostly sane
(having been designed in a post-spectre world) and this is a just-in-case
control.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
--- a/tools/libxl/libxl_cpuid.c
+++ b/tools/libxl/libxl_cpuid.c
@@ -227,6 +227,7 @@ int libxl_cpuid_parse_config(libxl_cpuid
{"intel-psfd", 0x00000007, 2, CPUID_REG_EDX, 0, 1},
{"ipred-ctrl", 0x00000007, 2, CPUID_REG_EDX, 1, 1},
{"rrsba-ctrl", 0x00000007, 2, CPUID_REG_EDX, 2, 1},
+ {"ddp-ctrl", 0x00000007, 2, CPUID_REG_EDX, 3, 1},
{"bhi-ctrl", 0x00000007, 2, CPUID_REG_EDX, 4, 1},
{"mcdt-no", 0x00000007, 2, CPUID_REG_EDX, 5, 1},
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -202,7 +202,7 @@ static const char *const str_7d1[32] =
static const char *const str_7d2[32] =
{
[ 0] = "intel-psfd", [ 1] = "ipred-ctrl",
- [ 2] = "rrsba-ctrl",
+ [ 2] = "rrsba-ctrl", [ 3] = "ddp-ctrl",
[ 4] = "bhi-ctrl", [ 5] = "mcdt-no",
};
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -284,6 +284,7 @@ XEN_CPUFEATURE(LFENCE_DISPATCH, 11*32
/* Intel-defined CPU features, CPUID level 0x00000007:2.edx, word 13 */
XEN_CPUFEATURE(INTEL_PSFD, 13*32+ 0) /*A MSR_SPEC_CTRL.PSFD */
+XEN_CPUFEATURE(DDP_CTRL, 13*32+ 3) /* MSR_SPEC_CTRL.DDP_DIS_U */
XEN_CPUFEATURE(MCDT_NO, 13*32+ 5) /*A MCDT_NO */
/* Intel-defined CPU features, CPUID level 0x00000007:1.ecx, word 14 */