summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Cantrill <bryan@joyent.com>2011-08-06 21:30:45 -0700
committerBryan Cantrill <bryan@joyent.com>2011-08-06 21:30:45 -0700
commita8fd9893776b342a9361388b9009d1f337f44841 (patch)
treeb208244458da543bdb19cd9216cbb7200ee69afc
parent50477ee36add08e85b06badc1f8a6f399dec4e92 (diff)
downloadillumos-kvm-a8fd9893776b342a9361388b9009d1f337f44841.tar.gz
HVM-574 KVM: MMU: invalidate and flush on spte small->large page size change
-rw-r--r--kvm_mmu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kvm_mmu.c b/kvm_mmu.c
index 58f6fe8..82236a9 100644
--- a/kvm_mmu.c
+++ b/kvm_mmu.c
@@ -1748,6 +1748,8 @@ mmu_set_spte(struct kvm_vcpu *vcpu, uint64_t *sptep, unsigned pt_access,
child = page_header(vcpu->kvm,
pte & PT64_BASE_ADDR_MASK);
mmu_page_remove_parent_pte(child, sptep);
+ __set_spte(sptep, shadow_trap_nonpresent_pte);
+ kvm_flush_remote_tlbs(vcpu->kvm);
} else if (pfn != spte_to_pfn(*sptep)) {
rmap_remove(vcpu->kvm, sptep);
} else