Lines Matching refs:new_spte

221 				u64 old_spte, u64 new_spte, int level,
224 static void handle_changed_spte_acc_track(u64 old_spte, u64 new_spte, int level) in handle_changed_spte_acc_track() argument
230 (!is_shadow_present_pte(new_spte) || !is_accessed_spte(new_spte) || in handle_changed_spte_acc_track()
231 spte_to_pfn(old_spte) != spte_to_pfn(new_spte))) in handle_changed_spte_acc_track()
236 u64 old_spte, u64 new_spte, int level) in handle_changed_spte_dirty_log() argument
244 pfn_changed = spte_to_pfn(old_spte) != spte_to_pfn(new_spte); in handle_changed_spte_dirty_log()
247 is_writable_pte(new_spte)) { in handle_changed_spte_dirty_log()
398 u64 old_spte, u64 new_spte, int level, in __handle_changed_spte() argument
402 bool is_present = is_shadow_present_pte(new_spte); in __handle_changed_spte()
404 bool is_leaf = is_present && is_last_spte(new_spte, level); in __handle_changed_spte()
405 bool pfn_changed = spte_to_pfn(old_spte) != spte_to_pfn(new_spte); in __handle_changed_spte()
425 as_id, gfn, old_spte, new_spte, level); in __handle_changed_spte()
434 if (old_spte == new_spte) in __handle_changed_spte()
437 trace_kvm_tdp_mmu_spte_changed(as_id, gfn, level, old_spte, new_spte); in __handle_changed_spte()
452 !is_mmio_spte(new_spte) && in __handle_changed_spte()
453 !is_removed_spte(new_spte))) in __handle_changed_spte()
460 as_id, gfn, old_spte, new_spte, level); in __handle_changed_spte()
468 (!is_present || !is_dirty_spte(new_spte) || pfn_changed)) in __handle_changed_spte()
481 u64 old_spte, u64 new_spte, int level, in handle_changed_spte() argument
484 __handle_changed_spte(kvm, as_id, gfn, old_spte, new_spte, level, in handle_changed_spte()
486 handle_changed_spte_acc_track(old_spte, new_spte, level); in handle_changed_spte()
488 new_spte, level); in handle_changed_spte()
504 u64 new_spte) in tdp_mmu_set_spte_atomic_no_dirty_log() argument
520 new_spte) != iter->old_spte) in tdp_mmu_set_spte_atomic_no_dirty_log()
524 new_spte, iter->level, true); in tdp_mmu_set_spte_atomic_no_dirty_log()
525 handle_changed_spte_acc_track(iter->old_spte, new_spte, iter->level); in tdp_mmu_set_spte_atomic_no_dirty_log()
543 u64 new_spte) in tdp_mmu_map_set_spte_atomic() argument
547 if (!tdp_mmu_set_spte_atomic_no_dirty_log(kvm, iter, new_spte)) in tdp_mmu_map_set_spte_atomic()
554 if (is_writable_pte(new_spte)) { in tdp_mmu_map_set_spte_atomic()
613 u64 new_spte, bool record_acc_track, in __tdp_mmu_set_spte() argument
627 WRITE_ONCE(*rcu_dereference(iter->sptep), new_spte); in __tdp_mmu_set_spte()
630 new_spte, iter->level, false); in __tdp_mmu_set_spte()
632 handle_changed_spte_acc_track(iter->old_spte, new_spte, in __tdp_mmu_set_spte()
636 iter->old_spte, new_spte, in __tdp_mmu_set_spte()
641 u64 new_spte) in tdp_mmu_set_spte() argument
643 __tdp_mmu_set_spte(kvm, iter, new_spte, true, true); in tdp_mmu_set_spte()
648 u64 new_spte) in tdp_mmu_set_spte_no_acc_track() argument
650 __tdp_mmu_set_spte(kvm, iter, new_spte, false, true); in tdp_mmu_set_spte_no_acc_track()
655 u64 new_spte) in tdp_mmu_set_spte_no_dirty_log() argument
657 __tdp_mmu_set_spte(kvm, iter, new_spte, true, false); in tdp_mmu_set_spte_no_dirty_log()
937 u64 new_spte; in tdp_mmu_map_handle_target_level() local
942 new_spte = make_mmio_spte(vcpu, iter->gfn, ACC_ALL); in tdp_mmu_map_handle_target_level()
947 &new_spte); in tdp_mmu_map_handle_target_level()
949 if (new_spte == iter->old_spte) in tdp_mmu_map_handle_target_level()
951 else if (!tdp_mmu_map_set_spte_atomic(vcpu, iter, new_spte)) in tdp_mmu_map_handle_target_level()
966 if (unlikely(is_mmio_spte(new_spte))) { in tdp_mmu_map_handle_target_level()
968 new_spte); in tdp_mmu_map_handle_target_level()
1001 u64 new_spte; in kvm_tdp_mmu_map() local
1052 new_spte = make_nonleaf_spte(child_pt, in kvm_tdp_mmu_map()
1055 if (tdp_mmu_set_spte_atomic_no_dirty_log(vcpu->kvm, &iter, new_spte)) { in kvm_tdp_mmu_map()
1126 u64 new_spte = 0; in age_gfn_range() local
1132 new_spte = iter->old_spte; in age_gfn_range()
1134 if (spte_ad_enabled(new_spte)) { in age_gfn_range()
1135 new_spte &= ~shadow_accessed_mask; in age_gfn_range()
1141 if (is_writable_pte(new_spte)) in age_gfn_range()
1142 kvm_set_pfn_dirty(spte_to_pfn(new_spte)); in age_gfn_range()
1144 new_spte = mark_spte_for_access_track(new_spte); in age_gfn_range()
1147 tdp_mmu_set_spte_no_acc_track(kvm, iter, new_spte); in age_gfn_range()
1171 u64 new_spte; in set_spte_gfn() local
1189 new_spte = kvm_mmu_changed_pte_notifier_make_spte(iter->old_spte, in set_spte_gfn()
1192 tdp_mmu_set_spte(kvm, iter, new_spte); in set_spte_gfn()
1224 u64 new_spte; in wrprot_gfn_range() local
1242 new_spte = iter.old_spte & ~PT_WRITABLE_MASK; in wrprot_gfn_range()
1245 new_spte)) { in wrprot_gfn_range()
1291 u64 new_spte; in clear_dirty_gfn_range() local
1303 new_spte = iter.old_spte & ~PT_WRITABLE_MASK; in clear_dirty_gfn_range()
1308 new_spte = iter.old_spte & ~shadow_dirty_mask; in clear_dirty_gfn_range()
1314 new_spte)) { in clear_dirty_gfn_range()
1362 u64 new_spte; in clear_dirty_pt_masked() local
1379 new_spte = iter.old_spte & ~PT_WRITABLE_MASK; in clear_dirty_pt_masked()
1384 new_spte = iter.old_spte & ~shadow_dirty_mask; in clear_dirty_pt_masked()
1389 tdp_mmu_set_spte_no_dirty_log(kvm, &iter, new_spte); in clear_dirty_pt_masked()
1490 u64 new_spte; in write_protect_gfn() local
1506 new_spte = iter.old_spte & in write_protect_gfn()
1509 tdp_mmu_set_spte(kvm, &iter, new_spte); in write_protect_gfn()