x86/tsx: Clear CPUID bits when TSX always force aborts
authorPawan Gupta <pawan.kumar.gupta@linux.intel.com>
Mon, 14 Jun 2021 21:14:25 +0000 (14:14 -0700)
committerBorislav Petkov <bp@suse.de>
Tue, 15 Jun 2021 15:46:48 +0000 (17:46 +0200)
commit293649307ef9abcd4f83f6dac4d4400dfd97c936
tree745286c3c1d2ef6bc847a92046bb619bb47d02f0
parentad3c2e174938d72fded674acead42e2464a3b460
x86/tsx: Clear CPUID bits when TSX always force aborts

As a result of TSX deprecation, some processors always abort TSX
transactions by default after a microcode update.

When TSX feature cannot be used it is better to hide it. Clear CPUID.RTM
and CPUID.HLE bits when TSX transactions always abort.

 [ bp: Massage commit message and comments. ]

Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Tested-by: Neelima Krishnan <neelima.krishnan@intel.com>
Link: https://lkml.kernel.org/r/5209b3d72ffe5bd3cafdcc803f5b883f785329c3.1623704845.git-series.pawan.kumar.gupta@linux.intel.com
arch/x86/kernel/cpu/cpu.h
arch/x86/kernel/cpu/intel.c
arch/x86/kernel/cpu/tsx.c