kvm: x86: mmu: Lockless access tracking for Intel CPUs without EPT A bits.
This change implements lockless access tracking for Intel CPUs without EPT A bits. This is achieved by marking the PTEs as not-present (but not completely clearing them) when clear_flush_young() is called after marking the pages as accessed. When an EPT Violation is generated as a result of the VM accessing those pages, the PTEs are restored to their original values. Signed-off-by:Junaid Shahid <junaids@google.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
Showing
- arch/x86/include/asm/kvm_host.h 2 additions, 1 deletionarch/x86/include/asm/kvm_host.h
- arch/x86/include/asm/vmx.h 6 additions, 3 deletionsarch/x86/include/asm/vmx.h
- arch/x86/kvm/mmu.c 214 additions, 65 deletionsarch/x86/kvm/mmu.c
- arch/x86/kvm/vmx.c 16 additions, 10 deletionsarch/x86/kvm/vmx.c
- arch/x86/kvm/x86.c 1 addition, 1 deletionarch/x86/kvm/x86.c
Loading
Please register or sign in to comment