• Avi Kivity's avatar
    KVM: MMU: Fix regression with ept memory types merged into non-ept page tables · b0bc3ee2
    Avi Kivity authored
    Commit "KVM: MMU: Make tdp_enabled a mmu-context parameter" made real-mode
    set ->direct_map, and changed the code that merges in the memory type depend
    on direct_map instead of tdp_enabled.  However, in this case what really
    matters is tdp, not direct_map, since tdp changes the pte format regardless
    of whether the mapping is direct or not.
    
    As a result, real-mode shadow mappings got corrupted with ept memory types.
    The result was a huge slowdown, likely due to the cache being disabled.
    
    Change it back as the simplest fix for the regression (real fix is to move
    all that to vmx code, and not use tdp_enabled as a synonym for ept).
    Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
    b0bc3ee2
mmu.c 87.6 KB