| /linux-6.15/arch/x86/kvm/mmu/ |
| H A D | tdp_mmu.c | 416 u64 old_spte; in handle_removed_pt() local 475 old_spte = kvm_tdp_mmu_write_spte(sptep, old_spte, in handle_removed_pt() 608 if (old_spte == new_spte) in handle_changed_spte() 761 old_spte = kvm_tdp_mmu_write_spte(sptep, old_spte, new_spte, level); in tdp_mmu_set_spte() 774 return old_spte; in tdp_mmu_set_spte() 930 u64 old_spte; in kvm_tdp_mmu_zap_sp() local 1559 if (!is_shadow_present_pte(iter.old_spte) || !is_large_pte(iter.old_spte)) in tdp_mmu_split_huge_pages_root() 1579 iter.old_spte, in tdp_mmu_split_huge_pages_root() 1718 iter.old_spte, dbit, in clear_dirty_pt_masked() 1722 iter.old_spte, in clear_dirty_pt_masked() [all …]
|
| H A D | tdp_iter.h | 48 return is_shadow_present_pte(old_spte) && in kvm_tdp_mmu_spte_need_atomic_update() 49 is_last_spte(old_spte, level) && in kvm_tdp_mmu_spte_need_atomic_update() 50 spte_needs_atomic_update(old_spte); in kvm_tdp_mmu_spte_need_atomic_update() 53 static inline u64 kvm_tdp_mmu_write_spte(tdp_ptep_t sptep, u64 old_spte, in kvm_tdp_mmu_write_spte() argument 56 if (kvm_tdp_mmu_spte_need_atomic_update(old_spte, level)) in kvm_tdp_mmu_write_spte() 60 return old_spte; in kvm_tdp_mmu_write_spte() 63 static inline u64 tdp_mmu_clear_spte_bits(tdp_ptep_t sptep, u64 old_spte, in tdp_mmu_clear_spte_bits() argument 66 if (kvm_tdp_mmu_spte_need_atomic_update(old_spte, level)) in tdp_mmu_clear_spte_bits() 69 __kvm_tdp_mmu_write_spte(sptep, old_spte & ~mask); in tdp_mmu_clear_spte_bits() 70 return old_spte; in tdp_mmu_clear_spte_bits() [all …]
|
| H A D | mmutrace.h | 258 u64 *sptep, u64 old_spte, int ret), 259 TP_ARGS(vcpu, fault, sptep, old_spte, ret), 266 __field(u64, old_spte) 276 __entry->old_spte = old_spte; 285 __entry->old_spte, __entry->new_spte, 394 TP_PROTO(int as_id, gfn_t gfn, int level, u64 old_spte, u64 new_spte), 395 TP_ARGS(as_id, gfn, level, old_spte, new_spte), 399 __field(u64, old_spte) 409 __entry->old_spte = old_spte; 417 __entry->old_spte, __entry->new_spte
|
| H A D | tdp_iter.c | 16 iter->old_spte = kvm_tdp_mmu_read_spte(iter->sptep); in tdp_iter_refresh_sptep() 91 iter->old_spte = kvm_tdp_mmu_read_spte(iter->sptep); in try_step_down() 93 child_pt = spte_to_child_pt(iter->old_spte, iter->level); in try_step_down() 125 iter->old_spte = kvm_tdp_mmu_read_spte(iter->sptep); in try_step_side()
|
| H A D | spte.h | 508 static inline bool leaf_spte_change_needs_tlb_flush(u64 old_spte, u64 new_spte) in leaf_spte_change_needs_tlb_flush() argument 510 return is_mmu_writable_spte(old_spte) && !is_mmu_writable_spte(new_spte); in leaf_spte_change_needs_tlb_flush() 527 u64 old_spte, bool prefetch, bool synchronizing,
|
| H A D | spte.c | 163 u64 old_spte, bool prefetch, bool synchronizing, in make_spte() argument 242 if ((!is_last_spte(old_spte, level) || !is_writable_pte(old_spte)) && in make_spte()
|
| H A D | mmu.c | 494 u64 old_spte = *sptep; in mmu_spte_update() local 499 if (!is_shadow_present_pte(old_spte)) { in mmu_spte_update() 504 if (!spte_needs_atomic_update(old_spte)) in mmu_spte_update() 523 u64 old_spte = *sptep; in mmu_spte_clear_track_bits() local 526 if (!is_shadow_present_pte(old_spte) || in mmu_spte_clear_track_bits() 532 if (!is_shadow_present_pte(old_spte)) in mmu_spte_clear_track_bits() 533 return old_spte; in mmu_spte_clear_track_bits() 536 return old_spte; in mmu_spte_clear_track_bits() 1281 if (is_shadow_present_pte(old_spte)) in drop_spte() 3559 u64 old_spte; in fast_pf_get_last_sptep() local [all …]
|
| /linux-6.15/Documentation/virt/kvm/ |
| H A D | locking.rst | 113 | old_spte = *spte; | | 128 | if (cmpxchg(spte, old_spte, old_spte+W) | 167 | old_spte = *spte; | | 171 | if (old_spte.Accessed == 1 && | | 172 | old_spte.W == 0) | | 186 | old_spte = xchg(spte, new_spte);| | 187 | if (old_spte.Accessed && | | 190 | if (old_spte.Dirty && | |
|