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 11:10:37 +0000 (12:10 +0100)
commit2ebe8fe9b7e0d36e9ec3cfe4552b2b197ef0dcec
tree5d5eff57e165fd11aaf563e707ece738256f5d45
parente06b95c1d44ab80da255219fc9f1e2fc423edcb6
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>
xen/arch/x86/include/asm/msr-index.h
xen/arch/x86/spec_ctrl.c