linux/arch/x86/kvm/mmu
Paolo Bonzini 9d70f3fec1 Revert "KVM: VMX: Always honor guest PAT on CPUs that support self-snoop"
This reverts commit 377b2f359d.

This caused a regression with the bochsdrm driver, which used ioremap()
instead of ioremap_wc() to map the video RAM.  After the commit, the
WB memory type is used without the IGNORE_PAT, resulting in the slower
UC memory type.  In fact, UC is slow enough to basically cause guests
to not boot... but only on new processors such as Sapphire Rapids and
Cascade Lake.  Coffee Lake for example works properly, though that might
also be an effect of being on a larger, more NUMA system.

The driver has been fixed but that does not help older guests.  Until we
figure out whether Cascade Lake and newer processors are working as
intended, revert the commit.  Long term we might add a quirk, but the
details depend on whether the processors are working as intended: for
example if they are, the quirk might reference bochs-compatible devices,
e.g. in the name and documentation, so that userspace can disable the
quirk by default and only leave it enabled if such a device is being
exposed to the guest.

If instead this is actually a bug in CLX+, then the actions we need to
take are different and depend on the actual cause of the bug.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-09-15 02:49:33 -04:00
..
mmu_internal.h KVM: x86/mmu: Make kvm_mmu_do_page_fault() return mapped level 2024-07-12 11:17:36 -04:00
mmu.c Revert "KVM: VMX: Always honor guest PAT on CPUs that support self-snoop" 2024-09-15 02:49:33 -04:00
mmutrace.h KVM: x86/mmu: Pass full 64-bit error code when handling page faults 2024-05-07 11:59:18 -04:00
page_track.c KVM: Use vfree for memory allocated by vcalloc()/__vcalloc() 2024-04-09 12:18:38 -07:00
page_track.h KVM: x86/mmu: Drop @slot param from exported/external page-track APIs 2023-08-31 14:08:18 -04:00
paging_tmpl.h KVM: x86/mmu: Only allocate shadowed translation cache for sp->role.level <= KVM_MAX_HUGEPAGE_LEVEL 2024-06-03 14:06:39 -07:00
spte.c KVM: x86/mmu: Fixup comments missed by the REMOVED_SPTE=>FROZEN_SPTE rename 2024-08-22 11:25:31 -07:00
spte.h KVM: x86/mmu: Fixup comments missed by the REMOVED_SPTE=>FROZEN_SPTE rename 2024-08-22 11:25:31 -07:00
tdp_iter.c arch/x86: Fix typos 2024-01-03 11:46:22 +01:00
tdp_iter.h KVM: x86/mmu: Add sanity checks that KVM doesn't create EPT #VE SPTEs 2024-05-23 12:27:26 -04:00
tdp_mmu.c KVM: x86/mmu: Fixup comments missed by the REMOVED_SPTE=>FROZEN_SPTE rename 2024-08-22 11:25:31 -07:00
tdp_mmu.h KVM: x86/tdp_mmu: Take a GFN in kvm_tdp_mmu_fast_pf_get_last_sptep() 2024-06-20 18:43:31 -04:00