x86/tsx: Cope with TSX deprecation on WHL-R/CFL-R
authorAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 16 Sep 2020 15:15:52 +0000 (16:15 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 8 Feb 2022 18:00:08 +0000 (18:00 +0000)
commitad9f7c3b2e0df38ad6d54f4769d4dccf765fbcee
tree47f1e898bf6045aa10612b6aebca53529b3006da
parent4116139131e93b4f075e5442e3c1b424280f6f1f
x86/tsx: Cope with TSX deprecation on WHL-R/CFL-R

The February 2022 microcode is formally de-featuring TSX on the TAA-impacted
client CPUs.  The backup TAA mitigation (VERW regaining its flushing side
effect) is being dropped, meaning that `smt=0 spec-ctrl=md-clear` no longer
protects against TAA on these parts.

The new functionality enumerates itself via the RTM_ALWAYS_ABORT CPUID
bit (the same as June 2021), but has its control in MSR_MCU_OPT_CTRL as
opposed to MSR_TSX_FORCE_ABORT.

TSX now defaults to being disabled on ucode load.  Furthermore, if SGX is
enabled in the BIOS, TSX is locked and cannot be re-enabled.  In this case,
override opt_tsx to 0, so the RTM/HLE CPUID bits get hidden by default.

While updating the command line documentation, take the opportunity to add a
paragraph explaining what TSX being disabled actually means, and how migration
compatibility works.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
docs/misc/xen-command-line.pandoc
xen/arch/x86/include/asm/msr-index.h
xen/arch/x86/spec_ctrl.c
xen/arch/x86/tsx.c