Lines Matching refs:old_spte
155 u64 old_spte, u64 new_spte, int level);
162 static void handle_changed_spte_acc_track(u64 old_spte, u64 new_spte, int level) in handle_changed_spte_acc_track() argument
164 bool pfn_changed = spte_to_pfn(old_spte) != spte_to_pfn(new_spte); in handle_changed_spte_acc_track()
166 if (!is_shadow_present_pte(old_spte) || !is_last_spte(old_spte, level)) in handle_changed_spte_acc_track()
169 if (is_accessed_spte(old_spte) && in handle_changed_spte_acc_track()
171 kvm_set_pfn_accessed(spte_to_pfn(old_spte)); in handle_changed_spte_acc_track()
175 u64 old_spte, u64 new_spte, int level) in handle_changed_spte_dirty_log() argument
183 pfn_changed = spte_to_pfn(old_spte) != spte_to_pfn(new_spte); in handle_changed_spte_dirty_log()
185 if ((!is_writable_pte(old_spte) || pfn_changed) && in handle_changed_spte_dirty_log()
205 u64 old_spte, u64 new_spte, int level) in __handle_changed_spte() argument
207 bool was_present = is_shadow_present_pte(old_spte); in __handle_changed_spte()
209 bool was_leaf = was_present && is_last_spte(old_spte, level); in __handle_changed_spte()
211 bool pfn_changed = spte_to_pfn(old_spte) != spte_to_pfn(new_spte); in __handle_changed_spte()
235 as_id, gfn, old_spte, new_spte, level); in __handle_changed_spte()
244 if (old_spte == new_spte) in __handle_changed_spte()
258 if (WARN_ON(!is_mmio_spte(old_spte) && !is_mmio_spte(new_spte))) in __handle_changed_spte()
264 as_id, gfn, old_spte, new_spte, level); in __handle_changed_spte()
269 if (was_leaf && is_dirty_spte(old_spte) && in __handle_changed_spte()
271 kvm_set_pfn_dirty(spte_to_pfn(old_spte)); in __handle_changed_spte()
278 pt = spte_to_child_pt(old_spte, level); in __handle_changed_spte()
303 u64 old_spte, u64 new_spte, int level) in handle_changed_spte() argument
305 __handle_changed_spte(kvm, as_id, gfn, old_spte, new_spte, level); in handle_changed_spte()
306 handle_changed_spte_acc_track(old_spte, new_spte, level); in handle_changed_spte()
307 handle_changed_spte_dirty_log(kvm, as_id, gfn, old_spte, in handle_changed_spte()
321 __handle_changed_spte(kvm, as_id, iter->gfn, iter->old_spte, new_spte, in __tdp_mmu_set_spte()
324 handle_changed_spte_acc_track(iter->old_spte, new_spte, in __tdp_mmu_set_spte()
328 iter->old_spte, new_spte, in __tdp_mmu_set_spte()
357 if (!is_shadow_present_pte(_iter.old_spte) || \
358 !is_last_spte(_iter.old_spte, _iter.level)) \
408 if (!is_shadow_present_pte(iter.old_spte)) in zap_gfn_range()
418 !is_last_spte(iter.old_spte, iter.level)) in zap_gfn_range()
485 pfn, iter->old_spte, prefault, true, in tdp_mmu_map_handle_target_level()
489 if (new_spte == iter->old_spte) in tdp_mmu_map_handle_target_level()
549 disallowed_hugepage_adjust(iter.old_spte, gfn, in kvm_tdp_mmu_map()
560 if (is_shadow_present_pte(iter.old_spte) && in kvm_tdp_mmu_map()
561 is_large_pte(iter.old_spte)) { in kvm_tdp_mmu_map()
572 iter.old_spte = READ_ONCE(*iter.sptep); in kvm_tdp_mmu_map()
575 if (!is_shadow_present_pte(iter.old_spte)) { in kvm_tdp_mmu_map()
679 if (!is_accessed_spte(iter.old_spte)) in age_gfn_range()
682 new_spte = iter.old_spte; in age_gfn_range()
720 if (is_accessed_spte(iter.old_spte)) in test_age_gfn()
756 if (!is_shadow_present_pte(iter.old_spte)) in set_tdp_spte()
765 iter.old_spte, new_pfn); in set_tdp_spte()
803 if (!is_shadow_present_pte(iter.old_spte) || in wrprot_gfn_range()
804 !is_last_spte(iter.old_spte, iter.level)) in wrprot_gfn_range()
807 new_spte = iter.old_spte & ~PT_WRITABLE_MASK; in wrprot_gfn_range()
864 if (spte_ad_need_write_protect(iter.old_spte)) { in clear_dirty_gfn_range()
865 if (is_writable_pte(iter.old_spte)) in clear_dirty_gfn_range()
866 new_spte = iter.old_spte & ~PT_WRITABLE_MASK; in clear_dirty_gfn_range()
870 if (iter.old_spte & shadow_dirty_mask) in clear_dirty_gfn_range()
871 new_spte = iter.old_spte & ~shadow_dirty_mask; in clear_dirty_gfn_range()
939 if (wrprot || spte_ad_need_write_protect(iter.old_spte)) { in clear_dirty_pt_masked()
940 if (is_writable_pte(iter.old_spte)) in clear_dirty_pt_masked()
941 new_spte = iter.old_spte & ~PT_WRITABLE_MASK; in clear_dirty_pt_masked()
945 if (iter.old_spte & shadow_dirty_mask) in clear_dirty_pt_masked()
946 new_spte = iter.old_spte & ~shadow_dirty_mask; in clear_dirty_pt_masked()
995 if (!is_shadow_present_pte(iter.old_spte)) in set_dirty_gfn_range()
998 new_spte = iter.old_spte | shadow_dirty_mask; in set_dirty_gfn_range()
1052 if (!is_shadow_present_pte(iter.old_spte) || in zap_collapsible_spte_range()
1053 is_last_spte(iter.old_spte, iter.level)) in zap_collapsible_spte_range()
1056 pfn = spte_to_pfn(iter.old_spte); in zap_collapsible_spte_range()
1111 if (!is_writable_pte(iter.old_spte)) in write_protect_gfn()
1114 new_spte = iter.old_spte & in write_protect_gfn()
1160 sptes[leaf - 1] = iter.old_spte; in kvm_tdp_mmu_get_walk()