linux/arch/x86/kernel/cpu
Juergen Gross adfe7512e1 x86: Decouple PAT and MTRR handling
Today, PAT is usable only with MTRR being active, with some nasty tweaks
to make PAT usable when running as a Xen PV guest which doesn't support
MTRR.

The reason for this coupling is that both PAT MSR changes and MTRR
changes require a similar sequence and so full PAT support was added
using the already available MTRR handling.

Xen PV PAT handling can work without MTRR, as it just needs to consume
the PAT MSR setting done by the hypervisor without the ability and need
to change it. This in turn has resulted in a convoluted initialization
sequence and wrong decisions regarding cache mode availability due to
misguiding PAT availability flags.

Fix all of that by allowing to use PAT without MTRR and by reworking
the current PAT initialization sequence to match better with the newly
introduced generic cache initialization.

This removes the need of the recently added pat_force_disabled flag, so
remove the remnants of the patch adding it.

Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20221102074713.21493-14-jgross@suse.com
Signed-off-by: Borislav Petkov <bp@suse.de>
2022-11-10 13:12:45 +01:00
..
mce x86/mce: Retrieve poison range from hardware 2022-08-29 09:33:42 +02:00
microcode x86/microcode/AMD: Track patch allocation size explicitly 2022-09-23 13:46:26 +02:00
mtrr x86: Decouple PAT and MTRR handling 2022-11-10 13:12:45 +01:00
resctrl x86/resctrl: Make resctrl_arch_rmid_read() return values in bytes 2022-09-23 14:25:05 +02:00
sgx whack-a-mole: cropped up open-coded file_inode() uses... 2022-10-06 17:22:11 -07:00
.gitignore
acrn.c x86/acrn: Set up timekeeping 2022-08-04 11:11:59 +02:00
amd.c treewide: use get_random_u32() when possible 2022-10-11 17:42:58 -06:00
aperfmperf.c x86/aperfmperf: Integrate the fallback code from show_cpuinfo() 2022-04-27 20:22:20 +02:00
bugs.c x86/bugs: Use sysfs_emit() 2022-10-17 08:55:49 +02:00
cacheinfo.c x86: Decouple PAT and MTRR handling 2022-11-10 13:12:45 +01:00
centaur.c
common.c x86/mtrr: Add a stop_machine() handler calling only cache_cpu_init() 2022-11-10 13:12:45 +01:00
cpu.h x86/cpu/amd: Add Spectral Chicken 2022-06-27 10:34:00 +02:00
cpuid-deps.c x86/fpu: Optimize out sigframe xfeatures when in init state 2021-11-03 22:42:35 +01:00
cyrix.c x86/cyrix: include header linux/isa-dma.h 2022-07-26 14:03:12 -05:00
feat_ctl.c x86/cpu: Include the header of init_ia32_feat_ctl()'s prototype 2022-09-26 17:06:27 +02:00
hygon.c x86/cpu/amd: Add Spectral Chicken 2022-06-27 10:34:00 +02:00
hypervisor.c
intel_epb.c x86/intel_epb: Set Alder Lake N and Raptor Lake P normal EPB 2022-11-03 11:31:01 -07:00
intel_pconfig.c
intel.c x86/bus_lock: Don't assume the init value of DEBUGCTLMSR.BUS_LOCK_DETECT to be zero 2022-08-02 13:42:00 +02:00
Makefile x86: kmsan: disable instrumentation of unsupported code 2022-10-03 14:03:24 -07:00
match.c
mkcapflags.sh
mshyperv.c hyperv-next for 5.19 2022-05-28 11:39:01 -07:00
perfctr-watchdog.c x86/nmi_watchdog: Fix old-style NMI watchdog regression on old Intel CPUs 2021-06-10 10:04:40 +02:00
powerflags.c
proc.c x86/aperfmperf: Integrate the fallback code from show_cpuinfo() 2022-04-27 20:22:20 +02:00
rdrand.c x86/rdrand: Remove "nordrand" flag in favor of "random.trust_cpu" 2022-07-18 15:04:04 +02:00
scattered.c x86/cpufeatures: Add LbrExtV2 feature bit 2022-08-27 00:05:42 +02:00
topology.c x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
transmeta.c
tsx.c x86/tsx: Disable TSX development mode at boot 2022-04-11 09:58:40 +02:00
umc.c
umwait.c
vmware.c x86/vmware: Use BIT() macro for shifting 2022-06-22 11:23:14 +02:00
vortex.c x86/CPU: Add support for Vortex CPUs 2021-10-21 15:49:07 +02:00
zhaoxin.c