Searched refs:new_spte (Results 1 – 7 of 7) sorted by relevance
| /linux/arch/x86/kvm/mmu/ |
| H A D | tdp_mmu.c | 324 u64 old_spte, u64 new_spte, int level, 498 static void *get_external_spt(gfn_t gfn, u64 new_spte, int level) in get_external_spt() argument 500 if (is_shadow_present_pte(new_spte) && !is_last_spte(new_spte, level)) { in get_external_spt() 501 struct kvm_mmu_page *sp = spte_to_child_sp(new_spte); in get_external_spt() 513 u64 new_spte, int level) in set_external_spte_present() argument 516 bool is_present = is_shadow_present_pte(new_spte); in set_external_spte_present() 517 bool is_leaf = is_present && is_last_spte(new_spte, level); in set_external_spte_present() 536 ret = kvm_x86_call(set_external_spte)(kvm, gfn, level, new_spte); in set_external_spte_present() 538 void *external_spt = get_external_spt(gfn, new_spte, level); in set_external_spte_present() 546 __kvm_tdp_mmu_write_spte(sptep, new_spte); in set_external_spte_present() [all …]
|
| H A D | tdp_iter.h | 22 static inline u64 kvm_tdp_mmu_write_spte_atomic(tdp_ptep_t sptep, u64 new_spte) in kvm_tdp_mmu_write_spte_atomic() argument 24 KVM_MMU_WARN_ON(is_ept_ve_possible(new_spte)); in kvm_tdp_mmu_write_spte_atomic() 25 return xchg(rcu_dereference(sptep), new_spte); in kvm_tdp_mmu_write_spte_atomic() 35 static inline void __kvm_tdp_mmu_write_spte(tdp_ptep_t sptep, u64 new_spte) in __kvm_tdp_mmu_write_spte() argument 37 KVM_MMU_WARN_ON(is_ept_ve_possible(new_spte)); in __kvm_tdp_mmu_write_spte() 38 WRITE_ONCE(*rcu_dereference(sptep), new_spte); in __kvm_tdp_mmu_write_spte() 54 u64 new_spte, int level) in kvm_tdp_mmu_write_spte() argument 57 return kvm_tdp_mmu_write_spte_atomic(sptep, new_spte); in kvm_tdp_mmu_write_spte() 59 __kvm_tdp_mmu_write_spte(sptep, new_spte); in kvm_tdp_mmu_write_spte()
|
| H A D | mmutrace.h | 270 __field(u64, new_spte) 280 __entry->new_spte = *sptep; 288 __entry->old_spte, __entry->new_spte, 397 TP_PROTO(int as_id, gfn_t gfn, int level, u64 old_spte, u64 new_spte), 398 TP_ARGS(as_id, gfn, level, old_spte, new_spte), 403 __field(u64, new_spte) 413 __entry->new_spte = new_spte; 420 __entry->old_spte, __entry->new_spte
|
| H A D | spte.h | 527 static inline bool leaf_spte_change_needs_tlb_flush(u64 old_spte, u64 new_spte) in leaf_spte_change_needs_tlb_flush() argument 529 return is_mmu_writable_spte(old_spte) && !is_mmu_writable_spte(new_spte); in leaf_spte_change_needs_tlb_flush() 547 bool host_writable, u64 *new_spte);
|
| H A D | spte.c | 190 bool host_writable, u64 *new_spte) in make_spte() argument 300 *new_spte = spte; in make_spte()
|
| H A D | mmu.c | 482 static void mmu_spte_set(u64 *sptep, u64 new_spte) in mmu_spte_set() argument 485 __set_spte(sptep, new_spte); in mmu_spte_set() 493 static bool mmu_spte_update(u64 *sptep, u64 new_spte) in mmu_spte_update() argument 497 WARN_ON_ONCE(!is_shadow_present_pte(new_spte)); in mmu_spte_update() 498 check_spte_writable_invariants(new_spte); in mmu_spte_update() 501 mmu_spte_set(sptep, new_spte); in mmu_spte_update() 506 __update_clear_spte_fast(sptep, new_spte); in mmu_spte_update() 508 old_spte = __update_clear_spte_slow(sptep, new_spte); in mmu_spte_update() 511 spte_to_pfn(old_spte) != spte_to_pfn(new_spte)); in mmu_spte_update() 513 return leaf_spte_change_needs_tlb_flush(old_spte, new_spte); in mmu_spte_update() [all …]
|
| /linux/Documentation/virt/kvm/ |
| H A D | locking.rst | 175 | spte = new_spte; | | 188 | old_spte = xchg(spte, new_spte);| | 190 | !new_spte.Accessed) | | 193 | !new_spte.Dirty) | |
|