-/* $OpenBSD: pmap7.c,v 1.48 2016/08/26 11:59:04 kettenis Exp $ */
+/* $OpenBSD: pmap7.c,v 1.49 2016/08/26 16:02:33 kettenis Exp $ */
/* $NetBSD: pmap.c,v 1.147 2004/01/18 13:03:50 scw Exp $ */
/*
pv = npv;
}
pg->mdpage.pvh_list = NULL;
-
- if (flush)
- cpu_cpwait();
}
/*
L2_S_PROT(PTE_KERNEL, prot) | cache_mode;
*ptep = npte;
PTE_SYNC(ptep);
- if (opte & L2_V7_AF) {
+ if (opte & L2_V7_AF)
cpu_tlb_flushD_SE(va);
- cpu_cpwait();
- }
if (pa & PMAP_NOCACHE) {
cpu_dcache_wbinv_range(va, PAGE_SIZE);
KDASSERT(mappings <= l2b->l2b_occupancy);
l2b->l2b_occupancy -= mappings;
}
- cpu_cpwait();
}
boolean_t
/*
* make sure TLB/cache operations have completed.
*/
- cpu_cpwait();
}
/*
L2_S_PROT(PTE_KERNEL, PROT_WRITE) | pte_l2_s_cache_mode;
PTE_SYNC(cdst_pte);
cpu_tlb_flushD_SE(cdstp);
- cpu_cpwait();
bzero_page(cdstp);
}
PTE_SYNC(cdst_pte);
cpu_tlb_flushD_SE(csrcp);
cpu_tlb_flushD_SE(cdstp);
- cpu_cpwait();
bcopy_page(csrcp, cdstp);
}
cpu_dcache_wbinv_all();
cpu_sdcache_wbinv_all();
cpu_tlb_flushD();
- cpu_cpwait();
splx(s);
*ptep = (*ptep & ~L2_S_PROT_MASK) | L2_S_PROT(PTE_KERNEL, prot);
PTE_SYNC(ptep);
cpu_tlb_flushD_SE(vector_page);
- cpu_cpwait();
}
/*
cpu_idcache_wbinv_all();
cpu_sdcache_wbinv_all();
cpu_tlb_flushID();
- cpu_cpwait();
/*
* now we allocate the "special" VAs which are used for tmp mappings