Home
last modified time | relevance | path

Searched refs:gpte (Results 1 – 8 of 8) sorted by relevance

/Linux-v4.19/arch/powerpc/kvm/
Dbook3s_64_mmu.c217 struct kvmppc_pte *gpte, bool data, in kvmppc_mmu_book3s_64_xlate() argument
238 gpte->eaddr = eaddr; in kvmppc_mmu_book3s_64_xlate()
239 gpte->vpage = kvmppc_mmu_book3s_64_ea_to_vp(vcpu, eaddr, data); in kvmppc_mmu_book3s_64_xlate()
240 gpte->raddr = vcpu->arch.magic_page_pa | (gpte->raddr & 0xfff); in kvmppc_mmu_book3s_64_xlate()
241 gpte->raddr &= KVM_PAM; in kvmppc_mmu_book3s_64_xlate()
242 gpte->may_execute = true; in kvmppc_mmu_book3s_64_xlate()
243 gpte->may_read = true; in kvmppc_mmu_book3s_64_xlate()
244 gpte->may_write = true; in kvmppc_mmu_book3s_64_xlate()
245 gpte->page_size = MMU_PAGE_4K; in kvmppc_mmu_book3s_64_xlate()
246 gpte->wimg = HPTE_R_M; in kvmppc_mmu_book3s_64_xlate()
[all …]
Dbook3s_64_mmu_radix.c30 struct kvmppc_pte *gpte, bool data, bool iswrite) in kvmppc_mmu_radix_xlate() argument
109 gpte->page_size = ps; in kvmppc_mmu_radix_xlate()
111 gpte->eaddr = eaddr; in kvmppc_mmu_radix_xlate()
112 gpte->raddr = gpa; in kvmppc_mmu_radix_xlate()
115 gpte->may_read = !!(pte & _PAGE_READ); in kvmppc_mmu_radix_xlate()
116 gpte->may_write = !!(pte & _PAGE_WRITE); in kvmppc_mmu_radix_xlate()
117 gpte->may_execute = !!(pte & _PAGE_EXEC); in kvmppc_mmu_radix_xlate()
120 gpte->may_read = 0; in kvmppc_mmu_radix_xlate()
121 gpte->may_write = 0; in kvmppc_mmu_radix_xlate()
122 gpte->may_execute = 0; in kvmppc_mmu_radix_xlate()
[all …]
Dbook3s_64_mmu_hv.c353 struct kvmppc_pte *gpte, bool data, bool iswrite) in kvmppc_mmu_book3s_64_hv_xlate() argument
365 return kvmppc_mmu_radix_xlate(vcpu, eaddr, gpte, data, iswrite); in kvmppc_mmu_book3s_64_hv_xlate()
395 gpte->eaddr = eaddr; in kvmppc_mmu_book3s_64_hv_xlate()
396 gpte->vpage = ((v & HPTE_V_AVPN) << 4) | ((eaddr >> 12) & 0xfff); in kvmppc_mmu_book3s_64_hv_xlate()
404 gpte->may_read = hpte_read_permission(pp, key); in kvmppc_mmu_book3s_64_hv_xlate()
405 gpte->may_write = hpte_write_permission(pp, key); in kvmppc_mmu_book3s_64_hv_xlate()
406 gpte->may_execute = gpte->may_read && !(gr & (HPTE_R_N | HPTE_R_G)); in kvmppc_mmu_book3s_64_hv_xlate()
412 gpte->may_read = 0; in kvmppc_mmu_book3s_64_hv_xlate()
414 gpte->may_write = 0; in kvmppc_mmu_book3s_64_hv_xlate()
418 gpte->raddr = kvmppc_mmu_get_real_addr(v, gr, eaddr); in kvmppc_mmu_book3s_64_hv_xlate()
/Linux-v4.19/arch/x86/kvm/
Dpaging_tmpl.h102 static gfn_t gpte_to_gfn_lvl(pt_element_t gpte, int lvl) in gpte_to_gfn_lvl() argument
104 return (gpte & PT_LVL_ADDR_MASK(lvl)) >> PAGE_SHIFT; in gpte_to_gfn_lvl()
108 unsigned gpte) in FNAME()
120 mask |= (gpte >> (PT_GUEST_DIRTY_SHIFT - PT_WRITABLE_SHIFT)) & in FNAME()
159 u64 gpte) in FNAME()
161 if (is_rsvd_bits_set(&vcpu->arch.mmu, gpte, PT_PAGE_TABLE_LEVEL)) in FNAME()
164 if (!FNAME(is_present_gpte)(gpte)) in FNAME()
168 if (PT_HAVE_ACCESSED_DIRTY(&vcpu->arch.mmu) && !(gpte & PT_GUEST_ACCESSED_MASK)) in FNAME()
184 static inline unsigned FNAME(gpte_access)(u64 gpte) in FNAME()
188 access = ((gpte & VMX_EPT_WRITABLE_MASK) ? ACC_WRITE_MASK : 0) | in FNAME()
[all …]
Dmmu.c503 static gfn_t pse36_gfn_delta(u32 gpte) in pse36_gfn_delta() argument
507 return (gpte & PT32_DIR_PSE36_MASK) << shift; in pse36_gfn_delta()
3777 static bool is_rsvd_bits_set(struct kvm_mmu *mmu, u64 gpte, int level) in is_rsvd_bits_set() argument
3779 return __is_rsvd_bits_set(&mmu->guest_rsvd_check, gpte, level); in is_rsvd_bits_set()
4243 unsigned level, unsigned gpte) in is_last_gpte() argument
4250 gpte &= level - mmu->last_nonleaf_level; in is_last_gpte()
4257 gpte |= level - PT_PAGE_TABLE_LEVEL - 1; in is_last_gpte()
4259 return gpte & PT_PAGE_SIZE_MASK; in is_last_gpte()
/Linux-v4.19/Documentation/virtual/kvm/
Dmmu.txt41 gpte guest pte (referring to gfns)
149 first or second 512-gpte block in the guest page table. For second-level
150 page tables, each 32-bit gpte is converted to two 64-bit sptes
260 protected, and synchronize sptes to gptes when a gpte is written.
314 - if successful, we can let the guest continue and modify the gpte
348 we cannot map the permissions for gpte.u=1, gpte.w=0 to any spte (the
365 spte.nx=gpte.nx back. For this to work, KVM forces EFER.NX to 1 when
Dlocking.txt59 gpte = gfn1
61 spte is the shadow page table entry corresponding with gpte and
73 gpte is changed to point to
/Linux-v4.19/arch/powerpc/include/asm/
Dkvm_book3s.h192 struct kvmppc_pte *gpte, bool data, bool iswrite);