_pte
static int kvm_mips_##name##_pte(pte_t *pte, unsigned long start, \
ret |= kvm_mips_##name##_pte(pte, start, cur_end); \
newpte = _pte(f->pfn, f->writable, !p, ptep_h->s.s);
newpte = _pte(f->pfn, 0, !p, 0);
pte = ptep->s.pr ? *ptep : _pte(pfn, wr, false, false);
newpte = _pte(f->pfn, f->writable, f->write_attempt | oldpte.s.d, !f->page);
pte_t *pte, *_pte;
for (addr = start_addr, _pte = pte; _pte < pte + HPAGE_PMD_NR;
_pte++, addr += PAGE_SIZE) {
pte_t pteval = ptep_get(_pte);
static void release_pte_pages(pte_t *pte, pte_t *_pte,
while (--_pte >= pte) {
pte_t pteval = ptep_get(_pte);
pte_t *_pte;
for (_pte = pte; _pte < pte + HPAGE_PMD_NR;
_pte++, addr += PAGE_SIZE) {
pte_t pteval = ptep_get(_pte);
release_pte_pages(pte, _pte, compound_pagelist);
pte_t *_pte;
for (_pte = pte; _pte < pte + HPAGE_PMD_NR; _pte += nr_ptes,
pteval = ptep_get(_pte);
ptep_clear(vma->vm_mm, address, _pte);
nr_ptes = folio_pte_batch(src, _pte, pteval, max_nr_ptes);
clear_ptes(vma->vm_mm, address, _pte, nr_ptes);