Lines Matching refs:pte

172 static void pmap_update_page(pmap_t pmap, vm_offset_t va, pt_entry_t pte);
221 pt_entry_t *pte, npte;
232 pte = pmap_pte(kernel_pmap, va);
233 *pte = npte;
242 pt_entry_t *pte, npte;
254 pte = pmap_pte(kernel_pmap, va1);
255 *pte = npte;
257 pte = pmap_pte(kernel_pmap, va2);
258 *pte = npte;
268 pt_entry_t *pte;
273 pte = pmap_pte(kernel_pmap, sysm->base);
274 *pte = PTE_G;
278 pte = pmap_pte(kernel_pmap, sysm->base + PAGE_SIZE);
279 *pte = PTE_G;
373 pt_entry_t *pte;
375 pte = (pt_entry_t *)*pde;
376 return (&pte[pmap_pte_index(va)]);
431 pt_entry_t *pte;
460 for (i = 0, pte = (pt_entry_t *)ptaddr; i < (nkpt * NPTEPG); i++, pte++)
461 *pte = PTE_G;
736 pt_entry_t pte;
744 tlb_update(p->pmap, p->va, p->pte);
748 pmap_update_page(pmap_t pmap, vm_offset_t va, pt_entry_t pte)
754 arg.pte = pte;
767 pt_entry_t *pte;
771 pte = pmap_pte(pmap, va);
772 if (pte) {
773 retval = TLBLO_PTE_TO_PA(*pte) | (va & PAGE_MASK);
789 pt_entry_t pte, *ptep;
799 pte = *ptep;
800 if (pte_test(&pte, PTE_V) && (!pte_test(&pte, PTE_RO) ||
802 pte_pa = TLBLO_PTE_TO_PA(pte);
824 pt_entry_t *pte;
831 pte = pmap_pte(kernel_pmap, va);
832 opte = *pte;
834 *pte = npte;
855 pt_entry_t *pte;
862 pte = pmap_pte(kernel_pmap, va);
863 *pte = PTE_G;
929 pt_entry_t *pte;
937 pte = pmap_pte(kernel_pmap, va);
938 *pte = PTE_G;
1200 * Here if the pte page isn't mapped, or if it has been
1246 pt_entry_t *pte;
1297 pte = (pt_entry_t *)*pde;
1299 pte[i] = PTE_G;
1390 pt_entry_t *pte, oldpte;
1434 pte = pmap_pde_to_pte(pde, va);
1435 oldpte = *pte;
1439 *pte = PTE_G;
1441 *pte = 0;
1711 ("%s: modified page not writable: va: %p, pte: %#jx",
1741 * If there is no pte for this address, just skip it!
1760 pt_entry_t *pte;
1807 for (pte = pmap_pde_to_pte(pde, sva); sva != va_next; pte++,
1809 if (!pte_test(pte, PTE_V)) {
1818 if (pmap_remove_pte(pmap, pte, sva, *pde)) {
1850 pt_entry_t *pte, tpte;
1874 pte = pmap_pde_to_pte(pde, pv->pv_va);
1876 tpte = *pte;
1878 *pte = PTE_G;
1880 *pte = 0;
1890 ("%s: modified page not writable: va: %p, pte: %#jx",
1914 pt_entry_t pbits, *pte;
1955 for (pte = pmap_pde_to_pte(pde, sva); sva != va_next; pte++,
1957 pbits = *pte;
1987 *pte = pbits;
2001 * that the related pte can not be reclaimed.
2012 pt_entry_t *pte;
2054 pte = pmap_pte(pmap, va);
2059 if (pte == NULL) {
2064 origpte = *pte;
2084 ("%s: modified page not writable: va: %p, pte: %#jx",
2088 * Remove extra pte reference
2155 * update the pte.
2158 *pte = newpte;
2168 " va: %p, pte: %#jx", (void *)va, (uintmax_t)origpte));
2218 pt_entry_t *pte;
2266 pte = pmap_pte(pmap, va);
2267 if (pte_test(pte, PTE_V)) {
2297 *pte = PTE_RO | TLBLO_PA_TO_PFN(pa) | PTE_V;
2299 *pte |= PTE_MANAGED;
2302 *pte |= PTE_C_CACHE;
2304 *pte |= PTE_C_UNCACHED;
2307 *pte |= PTE_G;
2344 pt_entry_t *pte, npte;
2357 pte = pmap_pte(kernel_pmap, sysm->base);
2358 *pte = npte;
2385 pt_entry_t *pte;
2388 pte = pmap_pte(kernel_pmap, sysm->base);
2389 *pte = PTE_G;
2459 pt_entry_t *pte;
2481 for (pte = pmap_pde_to_pte(pde, sva); sva != va_next; pte++,
2483 if (!pte_test(pte, PTE_V))
2485 if (!pte_test(pte, PTE_W))
2486 panic("pmap_unwire: pte %#jx is missing PG_W",
2487 (uintmax_t)*pte);
2488 pte_clear(pte, PTE_W);
2667 pt_entry_t *pte;
2682 pte = pmap_pte(kernel_pmap, sysm->base);
2683 *pte = TLBLO_PA_TO_PFN(pa) | PTE_D | PTE_V | PTE_G |
2698 pt_entry_t *pte;
2710 pte = pmap_pte(kernel_pmap, addr);
2711 *pte = PTE_G;
2761 pt_entry_t *pte, tpte;
2788 pte = pmap_pde_to_pte(pde, pv->pv_va);
2789 if (!pte_test(pte, PTE_V))
2790 panic("pmap_remove_pages: bad pte");
2791 tpte = *pte;
2800 *pte = is_kernel_pmap(pmap) ? PTE_G : 0;
2836 * pmap_testbit tests bits in pte's
2843 pt_entry_t *pte;
2853 pte = pmap_pte(pmap, pv->pv_va);
2854 rv = pte_test(pte, bit);
2873 pt_entry_t *pte;
2883 pte = pmap_pte(pmap, pv->pv_va);
2884 if (pte_test(pte, PTE_W))
2899 pt_entry_t pbits, *pte;
2917 pte = pmap_pte(pmap, pv->pv_va);
2918 KASSERT(pte != NULL && pte_test(pte, PTE_V),
2919 ("page on pv_list has no pte"));
2920 pbits = *pte;
2926 if (pbits != *pte) {
2927 *pte = pbits;
2996 pt_entry_t *pte;
3003 pte = pmap_pde_to_pte(pde, addr);
3004 rv = (*pte == 0);
3019 pt_entry_t *pte;
3055 for (pte = pmap_pde_to_pte(pde, sva); sva != va_next; pte++,
3057 if (!pte_test(pte, PTE_MANAGED | PTE_V)) {
3064 pa = TLBLO_PTE_TO_PA(*pte);
3067 if (pte_test(pte, PTE_D)) {
3076 pte_clear(pte, PTE_D);
3106 pt_entry_t *pte;
3126 pte = pmap_pte(pmap, pv->pv_va);
3127 if (pte_test(pte, PTE_D)) {
3128 pte_clear(pte, PTE_D);
3129 pmap_update_page(pmap, pv->pv_va, *pte);
3216 pt_entry_t *ptep, pte;
3224 pte = (ptep != NULL) ? *ptep : 0;
3225 if (!pte_test(&pte, PTE_V)) {
3230 if (pte_test(&pte, PTE_D))
3232 pa = TLBLO_PTE_TO_PA(pte);
3233 if (pte_test(&pte, PTE_MANAGED)) {
3246 pte_test(&pte, PTE_MANAGED)) {
3353 pt_entry_t pte;
3371 pte = pde[k];
3372 if (pte == 0 || !pte_test(&pte, PTE_V))
3374 pa = TLBLO_PTE_TO_PA(pte);
3376 db_printf("\t\t[%04d] va: %p pte: %8jx pa:%jx\n",
3377 k, (void *)va, (uintmax_t)pte, (uintmax_t)pa);
3443 pt_entry_t *pte;
3446 pte = pmap_pte(pmap, va);
3447 if (pte == NULL)
3451 if (!pte_test(pte, PTE_V) || pte_test(pte, PTE_D)) {
3452 tlb_update(pmap, va, *pte);
3457 if (!pte_test(pte, PTE_V) || pte_test(pte, PTE_D))
3458 panic("pmap_emulate_modified: invalid pte");
3460 if (pte_test(pte, PTE_RO)) {
3464 pte_set(pte, PTE_D);
3465 tlb_update(pmap, va, *pte);
3466 if (!pte_test(pte, PTE_MANAGED))