• Home
  • Raw
  • Download

Lines Matching refs:gpte

88 static gfn_t gpte_to_gfn(pt_element_t gpte)  in gpte_to_gfn()  argument
90 return (gpte & PT_BASE_ADDR_MASK) >> PAGE_SHIFT; in gpte_to_gfn()
93 static gfn_t gpte_to_gfn_pde(pt_element_t gpte) in gpte_to_gfn_pde() argument
95 return (gpte & PT_DIR_BASE_ADDR_MASK) >> PAGE_SHIFT; in gpte_to_gfn_pde()
117 static unsigned FNAME(gpte_access)(struct kvm_vcpu *vcpu, pt_element_t gpte) in FNAME()
121 access = (gpte & (PT_WRITABLE_MASK | PT_USER_MASK)) | ACC_EXEC_MASK; in FNAME()
124 access &= ~(gpte >> PT64_NX_SHIFT); in FNAME()
256 pt_element_t gpte; in FNAME() local
261 gpte = *(const pt_element_t *)pte; in FNAME()
262 if (~gpte & (PT_PRESENT_MASK | PT_ACCESSED_MASK)) { in FNAME()
263 if (!is_present_pte(gpte)) in FNAME()
267 pgprintk("%s: gpte %llx spte %p\n", __func__, (u64)gpte, spte); in FNAME()
268 pte_access = page->role.access & FNAME(gpte_access)(vcpu, gpte); in FNAME()
269 if (gpte_to_gfn(gpte) != vcpu->arch.update_pte.gfn) in FNAME()
278 gpte & PT_DIRTY_MASK, NULL, largepage, in FNAME()
279 gpte & PT_GLOBAL_MASK, gpte_to_gfn(gpte), in FNAME()
498 pt_element_t gpte; in FNAME() local
509 if (kvm_read_guest_atomic(vcpu->kvm, walker.pte_gpa, &gpte, in FNAME()
512 if (is_present_pte(gpte) && (gpte & PT_ACCESSED_MASK)) { in FNAME()
515 kvm_mmu_pte_write(vcpu, walker.pte_gpa, (const u8 *)&gpte, in FNAME()
583 pt_element_t gpte; in FNAME() local
593 if (kvm_read_guest_atomic(vcpu->kvm, pte_gpa, &gpte, in FNAME()
597 if (gpte_to_gfn(gpte) != gfn || !is_present_pte(gpte) || in FNAME()
598 !(gpte & PT_ACCESSED_MASK)) { in FNAME()
602 if (is_present_pte(gpte)) in FNAME()
611 pte_access = sp->role.access & FNAME(gpte_access)(vcpu, gpte); in FNAME()
613 is_dirty_pte(gpte), 0, gpte & PT_GLOBAL_MASK, gfn, in FNAME()