summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/kvm_host.h
diff options
context:
space:
mode:
authorXiao Guangrong2015-08-05 06:04:24 +0200
committerPaolo Bonzini2015-08-05 12:47:24 +0200
commitc258b62b264fdc469b6d3610a907708068145e3b (patch)
tree57c870353bbb93da102e8e26deb7128357523280 /arch/x86/include/asm/kvm_host.h
parentKVM: MMU: split reset_rsvds_bits_mask_ept (diff)
downloadkernel-qcow2-linux-c258b62b264fdc469b6d3610a907708068145e3b.tar.gz
kernel-qcow2-linux-c258b62b264fdc469b6d3610a907708068145e3b.tar.xz
kernel-qcow2-linux-c258b62b264fdc469b6d3610a907708068145e3b.zip
KVM: MMU: introduce the framework to check zero bits on sptes
We have abstracted the data struct and functions which are used to check reserved bit on guest page tables, now we extend the logic to check zero bits on shadow page tables The zero bits on sptes include not only reserved bits on hardware but also the bits that SPTEs willnever use. For example, shadow pages will never use GB pages unless the guest uses them too. Signed-off-by: Xiao Guangrong <guangrong.xiao@linux.intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/include/asm/kvm_host.h')
-rw-r--r--arch/x86/include/asm/kvm_host.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 847b37cbf211..c12e845f59e6 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -294,6 +294,14 @@ struct kvm_mmu {
u64 *pae_root;
u64 *lm_root;
+
+ /*
+ * check zero bits on shadow page table entries, these
+ * bits include not only hardware reserved bits but also
+ * the bits spte never used.
+ */
+ struct rsvd_bits_validate shadow_zero_check;
+
struct rsvd_bits_validate guest_rsvd_check;
/*