pte_index
return &bm_pte[pte_index(addr)];
#define pte_offset_phys(dir,addr) (pmd_page_paddr(READ_ONCE(*(dir))) + pte_index(addr) * sizeof(pte_t))
return &bm_pte[BM_PTE_TABLE_IDX(addr)][pte_index(addr)];
ptep += pte_index(addr);
ptep += pte_index(next) - pte_index(addr);
int i_min = pte_index(start_gpa);
int i_max = pte_index(end_gpa);
int i_min = pte_index(start); \
int i_max = pte_index(end); \
unsigned long *rmap, long pte_index, int realmode);
unsigned long pte_index);
unsigned long pte_index);
long pte_index, unsigned long pteh, unsigned long ptel,
unsigned long pte_index, unsigned long avpn,
unsigned long pte_index)
va_low = pte_index >> 3;
unsigned long pte_index;
long pte_index, unsigned long pteh, unsigned long ptel);
unsigned long pte_index, unsigned long avpn);
unsigned long pte_index, unsigned long avpn);
unsigned long pte_index);
unsigned long pte_index);
unsigned long pte_index);
long pte_index, unsigned long pteh,
ret = kvmppc_do_h_enter(kvm, flags, pte_index, pteh, ptel,
long pte_index, unsigned long pteh,
unsigned long pte_index)
rb = compute_tlbie_rb(hp0, hp1, pte_index);
unsigned long pte_index)
rb = compute_tlbie_rb(hp0, hp1, pte_index);
index = cache_entry->pte_index;
cache_entry->pte_index = index;
static void remove_revmap_chain(struct kvm *kvm, long pte_index,
if (head == pte_index) {
if (head == pte_index)
long pte_index, unsigned long pteh, unsigned long ptel,
if (pte_index >= kvmppc_hpt_npte(&kvm->arch.hpt))
pte_index &= ~7UL;
hpte = (__be64 *)(kvm->arch.hpt.virt + (pte_index << 4));
pte_index += i;
hpte = (__be64 *)(kvm->arch.hpt.virt + (pte_index << 4));
rev = &kvm->arch.hpt.rev[pte_index];
kvmppc_add_revmap_chain(kvm, rev, rmap, pte_index,
*pte_idx_ret = pte_index;
long pte_index, unsigned long pteh, unsigned long ptel)
return kvmppc_do_h_enter(vcpu->kvm, flags, pte_index, pteh, ptel,
unsigned long pte_index, unsigned long avpn,
if (pte_index >= kvmppc_hpt_npte(&kvm->arch.hpt))
hpte = (__be64 *)(kvm->arch.hpt.virt + (pte_index << 4));
rev = real_vmalloc_addr(&kvm->arch.hpt.rev[pte_index]);
rb = compute_tlbie_rb(v, pte_r, pte_index);
remove_revmap_chain(kvm, pte_index, rev, v,
unsigned long pte_index, unsigned long avpn)
return kvmppc_do_h_remove(vcpu->kvm, flags, pte_index, avpn,
unsigned long flags, req, pte_index, rcbits;
pte_index = args[j];
flags = pte_index >> 56;
pte_index &= ((1ul << 56) - 1);
pte_index >= kvmppc_hpt_npte(&kvm->arch.hpt)) {
args[j] = ((0xa0 | flags) << 56) + pte_index;
hp = (__be64 *) (kvm->arch.hpt.virt + (pte_index << 4));
args[j] = ((0x90 | flags) << 56) + pte_index;
args[j] = ((0x80 | flags) << 56) + pte_index;
rev = real_vmalloc_addr(&kvm->arch.hpt.rev[pte_index]);
tlbrb[n] = compute_tlbie_rb(hp0, hp1, pte_index);
pte_index = args[j] & ((1ul << 56) - 1);
remove_revmap_chain(kvm, pte_index, rev,
unsigned long pte_index, unsigned long avpn)
if (pte_index >= kvmppc_hpt_npte(&kvm->arch.hpt))
hpte = (__be64 *)(kvm->arch.hpt.virt + (pte_index << 4));
unsigned long *rmap, long pte_index, int realmode)
rev = real_vmalloc_addr(&kvm->arch.hpt.rev[pte_index]);
rb = compute_tlbie_rb(v, r, pte_index);
unsigned long pte_index)
if (pte_index >= kvmppc_hpt_npte(&kvm->arch.hpt))
pte_index &= ~3;
rev = real_vmalloc_addr(&kvm->arch.hpt.rev[pte_index]);
for (i = 0; i < n; ++i, ++pte_index) {
hpte = (__be64 *)(kvm->arch.hpt.virt + (pte_index << 4));
unsigned long pte_index)
if (pte_index >= kvmppc_hpt_npte(&kvm->arch.hpt))
rev = real_vmalloc_addr(&kvm->arch.hpt.rev[pte_index]);
hpte = (__be64 *)(kvm->arch.hpt.virt + (pte_index << 4));
kvmppc_clear_ref_hpte(kvm, hpte, pte_index);
unsigned long pte_index)
tail->forw = pte_index;
if (pte_index >= kvmppc_hpt_npte(&kvm->arch.hpt))
rev = real_vmalloc_addr(&kvm->arch.hpt.rev[pte_index]);
head->back = pte_index;
hpte = (__be64 *)(kvm->arch.hpt.virt + (pte_index << 4));
kvmppc_invalidate_hpte(kvm, hpte, pte_index);
rev->forw = rev->back = pte_index;
pte_index | KVMPPC_RMAP_PRESENT | KVMPPC_RMAP_HPT;
rb = compute_tlbie_rb(pte[0], pte[1], pte_index);
unsigned long pte_index = kvmppc_get_gpr(vcpu, 5);
pteg = get_pteg_addr(vcpu, pte_index);
static unsigned long get_pteg_addr(struct kvm_vcpu *vcpu, long pte_index)
rb = compute_tlbie_rb(v, r, pte_index);
pte_index <<= 4;
pte_index &= ((1 << ((vcpu_book3s->sdr1 & 0x1f) + 11)) - 1) << 7 | 0x70;
pteg_addr |= pte_index;
long pte_index = kvmppc_get_gpr(vcpu, 5);
i = pte_index & 7;
pte_index &= ~7UL;
pteg_addr = get_pteg_addr(vcpu, pte_index);
kvmppc_set_gpr(vcpu, 4, pte_index | i);
unsigned long pte_index = kvmppc_get_gpr(vcpu, 5);
pteg = get_pteg_addr(vcpu, pte_index);
pte = pte_start + pte_index(addr);
ptep = pte_base + pte_index(addr);
ptep = &fixmap_pte[pte_index(addr)];
uintptr_t pte_idx = pte_index(va);
return pte + pte_index(__address);
pte = hv_crash_ptpgs[3] + pte_index(addr) * sizeof(pte);
int pte_idx = pte_index(vaddr);
pte_ofs = pte_index((pfn<<PAGE_SHIFT) + PAGE_OFFSET);
pte = pte_start + pte_index(addr);
pte = pte_page + pte_index(paddr);
i = pte_index(paddr);
return &bm_pte[pte_index(addr)];
set_pte(pte + pte_index(restore_jump_address),
pte = native_make_pte(xen_read_phys_ulong(pa + pte_index(vaddr) *
u32 dte_index, pte_index, page_offset;
pte_index = rk_iova_pte_index(iova);
pte_addr_phys = rk_ops->pt_address(dte) + (pte_index * 4);
&iova, dte_index, pte_index, page_offset);
u32 dte_index, pte_index;
pte_index = rk_iova_pte_index(iova);
pte_addr = &page_table[pte_index];
pte_dma = rk_ops->pt_address(dte_index) + pte_index * sizeof(u32);
u32 pte_index;
pte_index = sun50i_iova_get_pte_index(iova);
pte_addr = &page_table[pte_index];
((pte_t *)kmap_local_page(pmd_page(*(pmd))) + pte_index((address)))
return (pte_t *)pmd_page_vaddr(*pmd) + pte_index(address);
struct page *page = head ? head + pte_index(addr) :
remaining_pages_total, PTRS_PER_PTE - pte_index(addr));
if (can_swapin_thp(vmf, pte + pte_index(addr), 1 << order))
if (pte_range_none(pte + pte_index(addr), 1 << order))
pgoff_t pte_off = pte_index(vmf->address);
pgoff_t pte_off = pte_index(vmf->address);
for (i = pte_index(start), addr = start; addr != end; i++, addr += PAGE_SIZE) {
ptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pte_index(vm, vaddr) * 8;
ptep = addr_gpa2hva(vm, pte_addr(vm, *ptep)) + pte_index(vm, gva) * 8;
pte_index(vm, vaddr, level) * 8;
ptep = addr_gpa2hva(vm, vm->mmu.pgd) + pte_index(vm, gva, level) * 8;
pte_index(vm, gva, level) * 8;
ptep = addr_gpa2hva(vm, vm->mmu.pgd) + pte_index(vm, vaddr, level) * 8;