summaryrefslogtreecommitdiffstats
path: root/drivers/kvm/mmu.c
diff options
context:
space:
mode:
authorAvi Kivity2007-11-21 12:54:47 +0100
committerAvi Kivity2008-01-30 16:53:10 +0100
commitda928521b7a095e85f6ac92a6c106bca7e17625f (patch)
tree4c8fc2b3f056cd1bd7d335958bf384ebc62d8614 /drivers/kvm/mmu.c
parentKVM: MMU: Introduce and use gpte_to_gfn() (diff)
downloadkernel-qcow2-linux-da928521b7a095e85f6ac92a6c106bca7e17625f.tar.gz
kernel-qcow2-linux-da928521b7a095e85f6ac92a6c106bca7e17625f.tar.xz
kernel-qcow2-linux-da928521b7a095e85f6ac92a6c106bca7e17625f.zip
KVM: MMU: Move pse36 handling to the guest walker
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/mmu.c')
-rw-r--r--drivers/kvm/mmu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/kvm/mmu.c b/drivers/kvm/mmu.c
index 346aa65a08d5..a9fed594ac58 100644
--- a/drivers/kvm/mmu.c
+++ b/drivers/kvm/mmu.c
@@ -218,6 +218,13 @@ static int is_rmap_pte(u64 pte)
&& pte != shadow_notrap_nonpresent_pte;
}
+static gfn_t pse36_gfn_delta(u32 gpte)
+{
+ int shift = 32 - PT32_DIR_PSE36_SHIFT - PAGE_SHIFT;
+
+ return (gpte & PT32_DIR_PSE36_MASK) << shift;
+}
+
static void set_shadow_pte(u64 *sptep, u64 spte)
{
#ifdef CONFIG_X86_64