Lines Matching refs:gfn

198 			    gfn_t gfn, union kvm_mmu_page_role role)
205 sp->gfn = gfn;
223 tdp_mmu_init_sp(child_sp, iter->sptep, iter->gfn, role);
290 static void handle_changed_spte(struct kvm *kvm, int as_id, gfn_t gfn,
346 gfn_t base_gfn = sp->gfn;
355 gfn_t gfn = base_gfn + i * KVM_PAGES_PER_HPAGE(level);
418 handle_changed_spte(kvm, kvm_mmu_page_as_id(sp), gfn,
429 * @gfn: the base GFN that was mapped by the SPTE
441 static void handle_changed_spte(struct kvm *kvm, int as_id, gfn_t gfn,
453 WARN_ON_ONCE(gfn & (KVM_PAGES_PER_HPAGE(level) - 1));
468 "as_id: %d gfn: %llx old_spte: %llx new_spte: %llx level: %d",
469 as_id, gfn, old_spte, new_spte, level);
481 trace_kvm_tdp_mmu_spte_changed(as_id, gfn, level, old_spte, new_spte);
506 "as_id: %d gfn: %llx old_spte: %llx new_spte: %llx level: %d",
507 as_id, gfn, old_spte, new_spte, level);
576 handle_changed_spte(kvm, iter->as_id, iter->gfn, iter->old_spte,
597 kvm_flush_remote_tlbs_gfn(kvm, iter->gfn, iter->level);
619 * @gfn: The base GFN that was (or will be) mapped by the SPTE
626 u64 old_spte, u64 new_spte, gfn_t gfn, int level)
641 handle_changed_spte(kvm, as_id, gfn, old_spte, new_spte, level, false);
651 iter->gfn, iter->level);
704 WARN_ON_ONCE(iter->gfn > iter->next_last_level_gfn);
716 * a gpa range that would exceed the max gfn, and KVM does not create
812 sp->gfn, sp->role.level + 1);
1006 new_spte = make_mmio_spte(vcpu, iter->gfn, ACC_ALL);
1008 wrprot = make_spte(vcpu, sp, fault->slot, ACC_ALL, iter->gfn,
1018 kvm_flush_remote_tlbs_gfn(vcpu->kvm, iter->gfn, iter->level);
1033 trace_mark_mmio_spte(rcu_dereference(iter->sptep), iter->gfn,
1037 trace_kvm_mmu_set_spte(iter->level, iter->gfn,
1096 tdp_mmu_for_each_pte(iter, mmu, fault->gfn, fault->gfn + 1) {
1240 trace_kvm_tdp_mmu_spte_changed(iter->as_id, iter->gfn, iter->level,
1460 trace_kvm_mmu_split_huge_page(iter->gfn, huge_spte, level, ret);
1498 trace_kvm_mmu_split_huge_page(iter.gfn,
1616 gfn_t gfn, unsigned long mask, bool wrprot)
1626 tdp_root_for_each_leaf_pte(iter, root, gfn + __ffs(mask),
1627 gfn + BITS_PER_LONG) {
1635 !(mask & (1UL << (iter.gfn - gfn))))
1638 mask &= ~(1UL << (iter.gfn - gfn));
1647 trace_kvm_tdp_mmu_spte_changed(iter.as_id, iter.gfn, iter.level,
1658 * which a bit is set in mask, starting at gfn. The given memslot is expected to
1663 gfn_t gfn, unsigned long mask,
1669 clear_dirty_pt_masked(kvm, root, gfn, mask, wrprot);
1701 * If iter.gfn resides outside of the slot, i.e. the page for
1707 if (iter.gfn < start || iter.gfn >= end)
1711 iter.gfn, PG_LEVEL_NUM);
1743 gfn_t gfn, int min_level)
1753 for_each_tdp_pte_min_level(iter, root, min_level, gfn, gfn + 1) {
1779 struct kvm_memory_slot *slot, gfn_t gfn,
1787 spte_set |= write_protect_gfn(kvm, root, gfn, min_level);
1803 gfn_t gfn = addr >> PAGE_SHIFT;
1808 tdp_mmu_for_each_pte(iter, mmu, gfn, gfn + 1) {
1832 gfn_t gfn = addr >> PAGE_SHIFT;
1835 tdp_mmu_for_each_pte(iter, mmu, gfn, gfn + 1) {