kvm: x86: mmu: Do not use bit 63 for tracking special SPTEs
authorJunaid Shahid <junaids@google.com>
Wed, 7 Dec 2016 00:46:15 +0000 (16:46 -0800)
committerRadim Krčmář <rkrcmar@redhat.com>
Mon, 9 Jan 2017 13:46:10 +0000 (14:46 +0100)
commit37f0e8fe6b10ee2ab52576caa721ee1282de74a6
tree586978d589093bfb1bbd2200f64b3e51d1c66402
parentf39a058d0ea2f58b9c69cfcf7c93184f33302c98
kvm: x86: mmu: Do not use bit 63 for tracking special SPTEs

MMIO SPTEs currently set both bits 62 and 63 to distinguish them as special
PTEs. However, bit 63 is used as the SVE bit in Intel EPT PTEs. The SVE bit
is ignored for misconfigured PTEs but not necessarily for not-Present PTEs.
Since MMIO SPTEs use an EPT misconfiguration, so using bit 63 for them is
acceptable. However, the upcoming fast access tracking feature adds another
type of special tracking PTE, which uses not-Present PTEs and hence should
not set bit 63.

In order to use common bits to distinguish both type of special PTEs, we
now use only bit 62 as the special bit.

Signed-off-by: Junaid Shahid <junaids@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/include/asm/vmx.h
arch/x86/kvm/vmx.c