Searched refs:gpte (Results 1 – 8 of 8) sorted by relevance
/Linux-v4.19/arch/powerpc/kvm/ |
D | book3s_64_mmu.c | 217 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 …]
|
D | book3s_64_mmu_radix.c | 30 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 …]
|
D | book3s_64_mmu_hv.c | 353 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/ |
D | paging_tmpl.h | 102 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 …]
|
D | mmu.c | 503 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/ |
D | mmu.txt | 41 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
|
D | locking.txt | 59 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/ |
D | kvm_book3s.h | 192 struct kvmppc_pte *gpte, bool data, bool iswrite);
|