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; |
