x86/pat: Handle TDX guest PAT initialization
authorJuergen Gross <jgross@suse.com>
Mon, 5 Dec 2022 08:04:32 +0000 (09:04 +0100)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 5 Dec 2022 10:03:27 +0000 (11:03 +0100)
commitc11ca45441d56ed6d353548cad660e04f0b6605d
treefa69986276c098ec3c9efdc564b75d52a6cc6e38
parentd800169041c0e035160c8b81f30d4b7e8f8ef777
x86/pat: Handle TDX guest PAT initialization

With the decoupling of PAT and MTRR initialization, PAT will be used
even with MTRRs disabled. This seems to break booting up as TDX guest,
as the recommended sequence to set the PAT MSR across CPUs can't work
in TDX guests due to disabling caches via setting CR0.CD isn't allowed
in TDX mode.

This is an inconsistency in the Intel documentation between the SDM
and the TDX specification. For now handle TDX mode the same way as Xen
PV guest mode by just accepting the current PAT MSR setting without
trying to modify it.

  [ bp: Align conditions for better readability. ]

Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20221205080433.16643-2-jgross@suse.com
arch/x86/mm/pat/memtype.c