aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kvm/mmu.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index c9b4b902527b..57c7580e7f98 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -1173,6 +1173,20 @@ static void page_header_update_slot(struct kvm *kvm, void *pte, gfn_t gfn)
1173 __set_bit(slot, &sp->slot_bitmap); 1173 __set_bit(slot, &sp->slot_bitmap);
1174} 1174}
1175 1175
1176static void mmu_convert_notrap(struct kvm_mmu_page *sp)
1177{
1178 int i;
1179 u64 *pt = sp->spt;
1180
1181 if (shadow_trap_nonpresent_pte == shadow_notrap_nonpresent_pte)
1182 return;
1183
1184 for (i = 0; i < PT64_ENT_PER_PAGE; ++i) {
1185 if (pt[i] == shadow_notrap_nonpresent_pte)
1186 set_shadow_pte(&pt[i], shadow_trap_nonpresent_pte);
1187 }
1188}
1189
1176struct page *gva_to_page(struct kvm_vcpu *vcpu, gva_t gva) 1190struct page *gva_to_page(struct kvm_vcpu *vcpu, gva_t gva)
1177{ 1191{
1178 struct page *page; 1192 struct page *page;