Home
last modified time | relevance | path

Searched refs:new_spte (Results 1 – 6 of 6) sorted by relevance

/openbmc/linux/arch/x86/kvm/mmu/
H A Dtdp_mmu.c259 u64 old_spte, u64 new_spte, int level,
420 u64 old_spte, u64 new_spte, int level, in handle_changed_spte() argument
424 bool is_present = is_shadow_present_pte(new_spte); in handle_changed_spte()
426 bool is_leaf = is_present && is_last_spte(new_spte, level); in handle_changed_spte()
427 bool pfn_changed = spte_to_pfn(old_spte) != spte_to_pfn(new_spte); in handle_changed_spte()
447 as_id, gfn, old_spte, new_spte, level); in handle_changed_spte()
456 if (old_spte == new_spte) in handle_changed_spte()
459 trace_kvm_tdp_mmu_spte_changed(as_id, gfn, level, old_spte, new_spte); in handle_changed_spte()
462 check_spte_writable_invariants(new_spte); in handle_changed_spte()
477 !is_mmio_spte(new_spte) && in handle_changed_spte()
[all …]
H A Dtdp_iter.h22 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 return xchg(rcu_dereference(sptep), new_spte); in kvm_tdp_mmu_write_spte_atomic()
27 static inline void __kvm_tdp_mmu_write_spte(tdp_ptep_t sptep, u64 new_spte) in __kvm_tdp_mmu_write_spte() argument
29 WRITE_ONCE(*rcu_dereference(sptep), new_spte); in __kvm_tdp_mmu_write_spte()
52 u64 new_spte, int level) in kvm_tdp_mmu_write_spte() argument
55 return kvm_tdp_mmu_write_spte_atomic(sptep, new_spte); in kvm_tdp_mmu_write_spte()
57 __kvm_tdp_mmu_write_spte(sptep, new_spte); in kvm_tdp_mmu_write_spte()
H A Dspte.c141 bool host_writable, u64 *new_spte) in make_spte() argument
255 *new_spte = spte; in make_spte()
335 u64 new_spte; in kvm_mmu_changed_pte_notifier_make_spte() local
337 new_spte = old_spte & ~SPTE_BASE_ADDR_MASK; in kvm_mmu_changed_pte_notifier_make_spte()
338 new_spte |= (u64)new_pfn << PAGE_SHIFT; in kvm_mmu_changed_pte_notifier_make_spte()
340 new_spte &= ~PT_WRITABLE_MASK; in kvm_mmu_changed_pte_notifier_make_spte()
341 new_spte &= ~shadow_host_writable_mask; in kvm_mmu_changed_pte_notifier_make_spte()
342 new_spte &= ~shadow_mmu_writable_mask; in kvm_mmu_changed_pte_notifier_make_spte()
344 new_spte = mark_spte_for_access_track(new_spte); in kvm_mmu_changed_pte_notifier_make_spte()
346 return new_spte; in kvm_mmu_changed_pte_notifier_make_spte()
H A Dmmutrace.h266 __field(u64, new_spte)
276 __entry->new_spte = *sptep;
284 __entry->old_spte, __entry->new_spte,
393 TP_PROTO(int as_id, gfn_t gfn, int level, u64 old_spte, u64 new_spte),
394 TP_ARGS(as_id, gfn, level, old_spte, new_spte),
399 __field(u64, new_spte)
409 __entry->new_spte = new_spte;
416 __entry->old_spte, __entry->new_spte
H A Dmmu.c483 static void mmu_spte_set(u64 *sptep, u64 new_spte) in mmu_spte_set() argument
486 __set_spte(sptep, new_spte); in mmu_spte_set()
493 static u64 mmu_spte_update_no_track(u64 *sptep, u64 new_spte) in mmu_spte_update_no_track() argument
497 WARN_ON_ONCE(!is_shadow_present_pte(new_spte)); in mmu_spte_update_no_track()
498 check_spte_writable_invariants(new_spte); in mmu_spte_update_no_track()
501 mmu_spte_set(sptep, new_spte); in mmu_spte_update_no_track()
506 __update_clear_spte_fast(sptep, new_spte); in mmu_spte_update_no_track()
508 old_spte = __update_clear_spte_slow(sptep, new_spte); in mmu_spte_update_no_track()
510 WARN_ON_ONCE(spte_to_pfn(old_spte) != spte_to_pfn(new_spte)); in mmu_spte_update_no_track()
524 static bool mmu_spte_update(u64 *sptep, u64 new_spte) in mmu_spte_update() argument
[all …]
H A Dspte.h478 bool host_writable, u64 *new_spte);