Lines Matching refs:gpte
109 static gfn_t gpte_to_gfn_lvl(pt_element_t gpte, int lvl) in gpte_to_gfn_lvl() argument
111 return (gpte & PT_LVL_ADDR_MASK(lvl)) >> PAGE_SHIFT; in gpte_to_gfn_lvl()
114 static inline void FNAME(protect_clean_gpte)(unsigned *access, unsigned gpte) in FNAME()
126 mask |= (gpte >> (PT_GUEST_DIRTY_SHIFT - PT_WRITABLE_SHIFT)) & in FNAME()
131 static bool FNAME(is_rsvd_bits_set)(struct kvm_mmu *mmu, u64 gpte, int level) in FNAME()
133 int bit7 = (gpte >> 7) & 1, low6 = gpte & 0x3f; in FNAME()
135 return (gpte & mmu->rsvd_bits_mask[bit7][level-1]) | in FNAME()
173 u64 gpte) in FNAME()
175 if (FNAME(is_rsvd_bits_set)(&vcpu->arch.mmu, gpte, PT_PAGE_TABLE_LEVEL)) in FNAME()
178 if (!FNAME(is_present_gpte)(gpte)) in FNAME()
182 if (PT_GUEST_ACCESSED_MASK && !(gpte & PT_GUEST_ACCESSED_MASK)) in FNAME()
192 static inline unsigned FNAME(gpte_access)(struct kvm_vcpu *vcpu, u64 gpte) in FNAME()
196 access = ((gpte & VMX_EPT_WRITABLE_MASK) ? ACC_WRITE_MASK : 0) | in FNAME()
197 ((gpte & VMX_EPT_EXECUTABLE_MASK) ? ACC_EXEC_MASK : 0) | in FNAME()
200 access = (gpte & (PT_WRITABLE_MASK | PT_USER_MASK)) | ACC_EXEC_MASK; in FNAME()
201 access &= ~(gpte >> PT64_NX_SHIFT); in FNAME()
464 u64 *spte, pt_element_t gpte, bool no_dirty_log) in FNAME()
470 if (FNAME(prefetch_invalid_gpte)(vcpu, sp, spte, gpte)) in FNAME()
473 pgprintk("%s: gpte %llx spte %p\n", __func__, (u64)gpte, spte); in FNAME()
475 gfn = gpte_to_gfn(gpte); in FNAME()
476 pte_access = sp->role.access & FNAME(gpte_access)(vcpu, gpte); in FNAME()
477 FNAME(protect_clean_gpte)(&pte_access, gpte); in FNAME()
496 pt_element_t gpte = *(const pt_element_t *)pte; in FNAME() local
498 FNAME(prefetch_gpte)(vcpu, sp, spte, gpte, false); in FNAME()
857 pt_element_t gpte; in FNAME() local
872 if (kvm_read_guest_atomic(vcpu->kvm, pte_gpa, &gpte, in FNAME()
876 FNAME(update_pte)(vcpu, sp, sptep, &gpte); in FNAME()
950 pt_element_t gpte; in FNAME() local
959 if (kvm_read_guest_atomic(vcpu->kvm, pte_gpa, &gpte, in FNAME()
963 if (FNAME(prefetch_invalid_gpte)(vcpu, sp, &sp->spt[i], gpte)) { in FNAME()
968 gfn = gpte_to_gfn(gpte); in FNAME()
970 pte_access &= FNAME(gpte_access)(vcpu, gpte); in FNAME()
971 FNAME(protect_clean_gpte)(&pte_access, gpte); in FNAME()