diff options
-rw-r--r-- | arch/x86/kvm/mmu.c | 14 |
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 | ||
1176 | static 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 | |||
1176 | struct page *gva_to_page(struct kvm_vcpu *vcpu, gva_t gva) | 1190 | struct page *gva_to_page(struct kvm_vcpu *vcpu, gva_t gva) |
1177 | { | 1191 | { |
1178 | struct page *page; | 1192 | struct page *page; |