linux/arch/x86/kvm
Avi Kivity b0bc3ee2b5 KVM: MMU: Fix regression with ept memory types merged into non-ept page tables
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: Avi Kivity <avi@redhat.com>
2010-10-24 10:52:49 +02:00
..
emulate.c KVM: X86: Propagate fetch faults 2010-10-24 10:52:41 +02:00
i8254.c KVM: pit: Do not check pending pit timer in vcpu thread 2010-10-24 10:51:45 +02:00
i8254.h KVM: x86: Introduce a workqueue to deliver PIT timer interrupts 2010-08-01 10:46:49 +03:00
i8259.c KVM: i8259: Make ICW1 conform to spec 2010-10-24 10:51:54 +02:00
irq.c KVM: pit: Do not check pending pit timer in vcpu thread 2010-10-24 10:51:45 +02:00
irq.h KVM: i8259: fix migration 2010-09-08 14:50:58 -03:00
Kconfig KVM: MMU: support disable/enable mmu audit dynamicly 2010-10-24 10:51:56 +02:00
kvm_cache_regs.h KVM: MMU: Introduce kvm_pdptr_read_mmu 2010-10-24 10:52:42 +02:00
kvm_timer.h KVM: arch/x86/kvm/kvm_timer.h checkpatch cleanup 2010-05-17 12:14:42 +03:00
lapic.c KVM: Add mini-API for vcpu->requests 2010-08-01 10:47:05 +03:00
lapic.h KVM: Add HYPER-V apic access MSRs 2010-03-01 12:36:00 -03:00
Makefile KVM: Move assigned device code to own file 2009-12-03 09:32:09 +02:00
mmu_audit.c KVM: MMU: lower the aduit frequency 2010-10-24 10:51:59 +02:00
mmu.c KVM: MMU: Fix regression with ept memory types merged into non-ept page tables 2010-10-24 10:52:49 +02:00
mmu.h KVM: MMU: Introduce init_kvm_nested_mmu() 2010-10-24 10:52:39 +02:00
mmutrace.h KVM: MMU: support disable/enable mmu audit dynamicly 2010-10-24 10:51:56 +02:00
paging_tmpl.h KVM: MMU: Track NX state in struct kvm_mmu 2010-10-24 10:52:44 +02:00
svm.c KVM: X86: Report SVM bit to userspace only when supported 2010-10-24 10:52:48 +02:00
timer.c KVM: Add mini-API for vcpu->requests 2010-08-01 10:47:05 +03:00
trace.h KVM: Trace emulated instructions 2010-05-17 12:17:35 +03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: MMU: Add kvm_mmu parameter to load_pdptrs function 2010-10-24 10:52:41 +02:00
x86.c KVM: X86: Report SVM bit to userspace only when supported 2010-10-24 10:52:48 +02:00
x86.h KVM: MMU: Implement nested gva_to_gpa functions 2010-10-24 10:52:36 +02:00