• Paolo Bonzini's avatar
    Revert "KVM: VMX: Always honor guest PAT on CPUs that support self-snoop" · 9d70f3fe
    Paolo Bonzini authored
    This reverts commit 377b2f35.
    
    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: default avatarPaolo Bonzini <pbonzini@redhat.com>
    9d70f3fe
vmx.c 247 KB