x86/spec-ctrl: Enumeration for MMIO Stale Data controls
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 20 Sep 2021 17:47:49 +0000 (18:47 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 16 Jun 2022 12:20:31 +0000 (13:20 +0100)
commita83108736db0ddaa5855f5abda6dcc8ae4fe25e9
tree2b02f00842a7cdd3ff8527f7b810c6af49ef87cc
parent0e80f9f61168d4e4f008da75762cee0118f802ed
x86/spec-ctrl: Enumeration for MMIO Stale Data controls

The three *_NO bits indicate non-susceptibility to the SSDP, FBSDP and PSDP
data movement primitives.

FB_CLEAR indicates that the VERW instruction has re-gained it's Fill Buffer
flushing side effect.  This is only enumerated on parts where VERW had
previously lost it's flushing side effect due to the MDS/TAA vulnerabilities
being fixed in hardware.

FB_CLEAR_CTRL is available on a subset of FB_CLEAR parts where the Fill Buffer
clearing side effect of VERW can be turned off for performance reasons.

This is part of XSA-404.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
(cherry picked from commit 2ebe8fe9b7e0d36e9ec3cfe4552b2b197ef0dcec)
xen/arch/x86/spec_ctrl.c
xen/include/asm-x86/msr-index.h