| /netbsd-src/sys/arch/x86/x86/ |
| H A D | pmap.c | 1 /* $NetBSD: pmap.c,v 1.427 2024/10/08 21:09:08 riastradh Exp $ */ 133 __KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.427 2024/10/08 21:09:08 riastradh Exp $"); 161 #include <uvm/pmap/pmap_pvt.h> 196 * this pmap (including the recursive mapping), see the comments 197 * in <machine/pmap.h>. 199 * this file contains the code for the "pmap module." the module's 210 * [2] the lower layer of the VM system (the pmap) maintains the mappings 214 * of the /bin/ls file and then ask the pmap layer to establish 223 * - struct pmap: describes the address space of one thread 244 * before calling into the pmap modul 533 pmap_resident_count(struct pmap * pmap) pmap_resident_count() argument 540 pmap_wired_count(struct pmap * pmap) pmap_wired_count() argument 551 pmap_stats_update(struct pmap * pmap,int resid_diff,int wired_diff) pmap_stats_update() argument 560 pmap_stats_update_bypte(struct pmap * pmap,pt_entry_t npte,pt_entry_t opte) pmap_stats_update_bypte() argument 577 struct pmap *pmap; ptp_to_pmap() local 675 pmap_is_curpmap(struct pmap * pmap) pmap_is_curpmap() argument 681 pmap_reference(struct pmap * pmap) pmap_reference() argument 780 pmap_map_ptes(struct pmap * pmap,struct pmap ** pmap2,pd_entry_t ** ptepp,pd_entry_t * const ** pdeppp) pmap_map_ptes() argument 846 pmap_unmap_ptes(struct pmap * pmap,struct pmap * pmap2) pmap_unmap_ptes() argument 2088 pmap_alloc_pv(struct pmap * pmap) global() argument 2132 pmap_free_pv(struct pmap * pmap,struct pv_entry * pve) global() argument 2158 pmap_drain_pv(struct pmap * pmap) global() argument 2177 pmap_check_pv(struct pmap * pmap,struct vm_page * ptp,struct pmap_page * pp,vaddr_t va,bool tracked) global() argument 2207 pmap_treelookup_pv(const struct pmap * pmap,const struct vm_page * ptp,const rb_tree_t * tree,const vaddr_t va) global() argument 2238 pmap_lookup_pv(const struct pmap * pmap,const struct vm_page * ptp,const struct pmap_page * const old_pp,const vaddr_t va) global() argument 2293 pmap_enter_pv(struct pmap * pmap,struct pmap_page * pp,struct vm_page * ptp,vaddr_t va,struct pv_entry ** new_pve,struct pv_entry ** old_pve,bool * samepage,bool * new_embedded,rb_tree_t * tree) global() argument 2382 pmap_remove_pv(struct pmap * pmap,struct pmap_page * pp,struct vm_page * ptp,vaddr_t va,struct pv_entry * pve,uint8_t oattrs) global() argument 2432 pmap_find_ptp(struct pmap * pmap,vaddr_t va,int level) global() argument 2461 pmap_freepage(struct pmap * pmap,struct vm_page * ptp,int level) global() argument 2487 pmap_free_ptp(struct pmap * pmap,struct vm_page * ptp,vaddr_t va,pt_entry_t * ptes,pd_entry_t * const * pdes) global() argument 2547 pmap_get_ptp(struct pmap * pmap,struct pmap_ptparray * pt,vaddr_t va,int flags,struct vm_page ** resultp) global() argument 2607 pmap_install_ptp(struct pmap * pmap,struct pmap_ptparray * pt,vaddr_t va,pd_entry_t * const * pdes) global() argument 2676 pmap_unget_ptp(struct pmap * pmap,struct pmap_ptparray * pt) global() argument 2865 struct pmap *pmap = obj; global() local 2913 struct pmap *pmap = obj; global() local 2936 struct pmap *pmap; global() local 2977 pmap_check_ptps(struct pmap * pmap) global() argument 2989 pmap_check_inuse(struct pmap * pmap) global() argument 3026 pmap_destroy(struct pmap * pmap) global() argument 3108 pmap_zap_ptp(struct pmap * pmap,struct vm_page * ptp,pt_entry_t * pte,vaddr_t startva,vaddr_t blkendva) global() argument 3245 pmap_remove_all(struct pmap * pmap) global() argument 3446 pmap_t pmap = l->l_proc->p_vmspace->vm_map.pmap; global() local 3480 struct pmap *pmap = vm_map_pmap(&l->l_proc->p_vmspace->vm_map); global() local 3506 KASSERT_PDIRPA(pmap) global() argument 3510 KASSERT_PDIRPA(pmap) global() argument 3513 KASSERT_PDIRPA(pmap) global() argument 3516 KASSERT_PDIRPA(pmap) global() argument 3525 pmap_reactivate(struct pmap * pmap) global() argument 3574 struct pmap *pmap, *oldpmap; global() local 3640 pmap_load1(struct lwp * l,struct pmap * pmap,struct pmap * oldpmap) global() argument 3704 struct pmap *pmap; global() local 3770 pmap_is_user(struct pmap * pmap) global() argument 3784 pmap_activate_sync(struct pmap * pmap) global() argument 3827 pmap_deactivate_sync(struct pmap * pmap,void * cookie) global() argument 3898 pmap_extract(struct pmap * pmap,vaddr_t va,paddr_t * pap) global() argument 4138 pmap_map_pte(struct pmap * pmap,struct vm_page * ptp,vaddr_t va) global() argument 4174 pmap_remove_ptes(struct pmap * pmap,struct vm_page * ptp,vaddr_t ptpva,vaddr_t startva,vaddr_t endva) global() argument 4213 pmap_remove_pte(struct pmap * pmap,struct vm_page * ptp,pt_entry_t * pte,vaddr_t va) global() argument 4283 pmap_remove_locked(struct pmap * pmap,vaddr_t sva,vaddr_t eva) global() argument 4368 pmap_remove(struct pmap * pmap,vaddr_t sva,vaddr_t eva) global() argument 4391 struct pmap *pmap; global() local 4476 pmap_pp_remove_ent(struct pmap * pmap,struct vm_page * ptp,pt_entry_t opte,vaddr_t va) global() argument 4519 struct pmap *pmap; global() local 4660 struct pmap *pmap; global() local 4709 struct pmap *pmap; global() local 4827 pmap_write_protect(struct pmap * pmap,vaddr_t sva,vaddr_t eva,vm_prot_t prot) global() argument 4912 pmap_unwire(struct pmap * pmap,vaddr_t va) global() argument 4969 pmap_enter_default(pmap_t pmap,vaddr_t va,paddr_t pa,vm_prot_t prot,u_int flags) global() argument 4985 pmap_enter_ma(struct pmap * pmap,vaddr_t va,paddr_t ma,paddr_t pa,vm_prot_t prot,u_int flags,int domid) global() argument 5274 pmap_find_gnt(struct pmap * pmap,vaddr_t sva,vaddr_t eva) global() argument 5292 pmap_alloc_gnt(struct pmap * pmap,vaddr_t sva,int nentries,const struct gnttab_map_grant_ref * ops) global() argument 5331 pmap_free_gnt(struct pmap * pmap,struct pmap_data_gnt * pgnt) global() argument 5354 pmap_enter_gnt(struct pmap * pmap,vaddr_t va,vaddr_t sva,int nentries,const struct gnttab_map_grant_ref * oops) global() argument 5529 pmap_remove_gnt(struct pmap * pmap,vaddr_t sva,vaddr_t eva) global() argument 5862 pmap_dump(struct pmap * pmap,vaddr_t sva,vaddr_t eva) global() argument 5915 pmap_update(struct pmap * pmap) global() argument 6105 pmap_ept_stats_update_bypte(struct pmap * pmap,pt_entry_t npte,pt_entry_t opte) global() argument 6192 pmap_ept_get_tree(struct pmap * pmap,vaddr_t va,pd_entry_t ** tree) global() argument 6209 pmap_ept_free_ptp(struct pmap * pmap,struct vm_page * ptp,vaddr_t va) global() argument 6237 pmap_ept_install_ptp(struct pmap * pmap,struct pmap_ptparray * pt,vaddr_t va) global() argument 6285 pmap_ept_enter(struct pmap * pmap,vaddr_t va,paddr_t pa,vm_prot_t prot,u_int flags) global() argument 6502 pmap_ept_pdes_invalid(struct pmap * pmap,vaddr_t va,pd_entry_t * lastpde) global() argument 6526 pmap_ept_extract(struct pmap * pmap,vaddr_t va,paddr_t * pap) global() argument 6568 pmap_ept_remove_pte(struct pmap * pmap,struct vm_page * ptp,pt_entry_t * pte,vaddr_t va) global() argument 6642 pmap_ept_remove_ptes(struct pmap * pmap,struct vm_page * ptp,vaddr_t ptpva,vaddr_t startva,vaddr_t endva) global() argument 6673 pmap_ept_remove(struct pmap * pmap,vaddr_t sva,vaddr_t eva) global() argument 6726 struct pmap *pmap; global() local 6802 pmap_ept_pp_remove_ent(struct pmap * pmap,struct vm_page * ptp,pt_entry_t opte,vaddr_t va) global() argument 6816 pmap_ept_write_protect(struct pmap * pmap,vaddr_t sva,vaddr_t eva,vm_prot_t prot) global() argument 6872 pmap_ept_unwire(struct pmap * pmap,vaddr_t va) global() argument 6910 pmap_ept_transform(struct pmap * pmap) global() argument [all...] |
| /netbsd-src/sys/arch/sh3/sh3/ |
| H A D | pmap.c | 60 struct pmap __pmap_kernel; 61 struct pmap *const kernel_pmap_ptr = &__pmap_kernel; 74 struct pmap *pv_pmap; 212 pool_init(&__pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0, "pmappl", in pmap_init() 239 pmap_t pmap; in pmap_create() local 241 pmap = pool_get(&__pmap_pmap_pool, PR_WAITOK); in pmap_create() 242 memset(pmap, 0, sizeof(struct pmap)); in pmap_create() 243 pmap->pm_asid = -1; in pmap_create() 244 pmap->pm_refcnt = 1; in pmap_create() 246 pmap->pm_ptp = (pt_entry_t **) in pmap_create() [all …]
|
| /netbsd-src/sys/uvm/pmap/ |
| H A D | pmap_segtab.c | 277 pmap_ptpage(struct pmap *pmap, vaddr_t va) in pmap_ptpage() argument 281 pmap_pdetab_t *ptb = pmap->pm_pdetab; in pmap_ptpage() 285 KASSERTMSG(pmap != pmap_kernel() || !pmap_md_direct_mapped_vaddr_p(va), in pmap_ptpage() 287 pmap == pmap_kernel() ? "true" : "false", in pmap_ptpage() 288 pmap == pmap_kernel() ? va : 0); in pmap_ptpage() 302 pmap_segtab_t *stb = pmap->pm_segtab; in pmap_ptpage() 304 KASSERTMSG(pmap != pmap_kernel() || !pmap_md_direct_mapped_vaddr_p(va), in pmap_ptpage() 305 "pmap %p va %#" PRIxVADDR, pmap, va); in pmap_ptpage() 321 pmap_pdetab_fixup(struct pmap *pmap, vaddr_t va) in pmap_pdetab_fixup() argument 323 struct pmap * const kpm = pmap_kernel(); in pmap_pdetab_fixup() [all …]
|
| H A D | pmap.c | 240 struct pmap * const kernel_pmap_ptr = &kernel_pmap_store.kernel_pmap; 243 static struct pmap efirt_pmap; 295 (pm) == curlwp->l_proc->p_vmspace->vm_map.pmap) 394 pmap_addr_range_check(pmap_t pmap, vaddr_t sva, vaddr_t eva, const char *func) in pmap_addr_range_check() argument 397 if (pmap == pmap_kernel()) { in pmap_addr_range_check() 408 pmap_asid_check(pmap, func); in pmap_addr_range_check() 456 struct pmap * const curpmap = curlwp->l_proc->p_vmspace->vm_map.pmap; in pmap_page_syncicache() 755 pmap_t pmap = pool_get(&pmap_pmap_pool, PR_WAITOK); in pmap_create() local 756 memset(pmap, 0, PMAP_SIZE); in pmap_create() 758 KASSERT(pmap->pm_pai[0].pai_link.le_prev == NULL); in pmap_create() [all …]
|
| H A D | pmap.h | 1 /* $NetBSD: pmap.h,v 1.28 2024/11/25 22:03:44 skrll Exp $ */ 34 * @(#)pmap.h 8.1 (Berkeley) 6/10/93 71 * @(#)pmap.h 8.1 (Berkeley) 6/10/93 166 struct pmap; 167 typedef bool (*pte_callback_t)(struct pmap *, vaddr_t, vaddr_t, 176 pt_entry_t *pmap_pte_lookup(struct pmap *, vaddr_t); 177 pt_entry_t *pmap_pte_reserve(struct pmap *, vaddr_t, int); 178 void pmap_pte_process(struct pmap *, vaddr_t, vaddr_t, pte_callback_t, 180 void pmap_segtab_activate(struct pmap *, struct lwp *); 181 void pmap_segtab_deactivate(struct pmap *); 194 struct pmap { global() struct 196 pm_uobjectpmap global() argument 210 pm_activepmap global() argument 211 pm_onprocpmap global() argument 215 pm_pdetabpmap global() argument 218 pm_segtabpmap global() argument 223 pm_statspmap global() argument 227 pm_mdpmap global() argument 229 pm_paipmap global() argument 235 pm_maxaddrpmap pmap_lock() argument 294 pmap_wired_count(pmap) global() argument 295 pmap_resident_count(pmap) global() argument [all...] |
| /netbsd-src/sys/arch/alpha/alpha/ |
| H A D | pmap.c | 221 struct pmap k_pmap; 224 struct pmap *const kernel_pmap_ptr = &kernel_pmap_store.k_pmap; 258 static TAILQ_HEAD(, pmap) pmap_all_pmaps __cacheline_aligned; 272 CTASSERT(offsetof(struct pmap, pm_percpu[0]) == COHERENCY_UNIT); 414 pmap_pmap_lock(pmap_t const pmap) in pmap_pmap_lock() argument 416 return &pmap_pmap_locks[PMAP_LOCK_HASH(pmap)].locks.lock; in pmap_pmap_lock() 420 pmap_activation_lock(pmap_t const pmap) in pmap_activation_lock() argument 422 return &pmap_pmap_locks[PMAP_LOCK_HASH(pmap)].locks.activation_lock; in pmap_activation_lock() 425 #define PMAP_LOCK(pmap) mutex_enter(pmap_pmap_lock(pmap)) argument 426 #define PMAP_UNLOCK(pmap) mutex_exit(pmap_pmap_lock(pmap)) argument [all …]
|
| /netbsd-src/sys/arch/sun2/sun2/ |
| H A D | pmap.c | 222 static struct pmap kernel_pmap_store; 223 struct pmap *const kernel_pmap_ptr = &kernel_pmap_store; 295 struct pmap *context_upmap; 303 #define has_context(pmap) (((pmap)->pm_ctxnum != EMPTY_CONTEXT) == ((pmap) != kernel_pmap)) argument 391 static int pmap_fault_reload(struct pmap *, vaddr_t, int); 414 pmap_t pmap; in current_pmap() local 418 pmap = vm_map_pmap(map); in current_pmap() 420 return (pmap); in current_pmap() 518 context_allocate(pmap_t pmap) in context_allocate() argument 525 if (pmap == kernel_pmap) in context_allocate() [all …]
|
| /netbsd-src/sys/arch/sun3/sun3/ |
| H A D | pmap.c | 1 /* $NetBSD: pmap.c,v 1.179 2024/12/20 23:49:32 tsutsui Exp $ */ 35 * sun3s have contexts (8). In this pmap design, the kernel is mapped 49 * pmap's virtual space will be fought over by the other pmaps. 61 * pmegs that aren't needed by a pmap remain in the MMU. 79 * the MMU H/W (and this pmap) is fixed for all time. 83 __KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.179 2024/12/20 23:49:32 tsutsui Exp $"); 105 #include <machine/pmap.h> 126 /* Type bits in a "pseudo" physical address. (XXX: pmap.h?) */ 229 static struct pmap kernel_pmap_store; 230 struct pmap *cons 312 has_context(pmap) global() argument 423 pmap_t pmap; current_pmap() local 527 context_allocate(pmap_t pmap) context_allocate() argument 579 context_free(pmap_t pmap) context_free() argument 806 pmeg_allocate(pmap_t pmap,vaddr_t va) pmeg_allocate() argument 949 pmeg_cache(pmap_t pmap,vaddr_t va) pmeg_cache() argument 1097 pmap_t pmap; pv_changepte() local 1199 pmap_t pmap; pv_syncflags() local 1292 pmap_t pmap; pv_remove_all() local 1326 pv_link(pmap_t pmap,int pte,vaddr_t va) pv_link() argument 1406 pv_unlink(pmap_t pmap,int pte,vaddr_t va) pv_unlink() argument 1483 pmap_common_init(pmap_t pmap) pmap_common_init() argument 1755 pmap_kernel_init(pmap_t pmap) pmap_kernel_init() argument 1850 pmap_user_init(pmap_t pmap) pmap_user_init() argument 1874 pmap_t pmap; pmap_create() local 1887 pmap_release(struct pmap * pmap) pmap_release() argument 1917 pmap_destroy(pmap_t pmap) pmap_destroy() argument 1938 pmap_reference(pmap_t pmap) pmap_reference() argument 1962 pmap_enter(pmap_t pmap,vaddr_t va,paddr_t pa,vm_prot_t prot,u_int flags) pmap_enter() argument 2012 pmap_t pmap = kernel_pmap; pmap_enter_kernel() local 2153 pmap_enter_user(pmap_t pmap,vaddr_t pgva,int new_pte,bool wired) pmap_enter_user() argument 2331 pmap_t pmap = kernel_pmap; pmap_kenter_pa() local 2439 pmap_t pmap = kernel_pmap; pmap_kremove() local 2546 pmap_t pmap; _pmap_fault() local 2585 pmap_fault_reload(pmap_t pmap,vaddr_t pgva,vm_prot_t ftype) pmap_fault_reload() argument 2764 _pmap_switch(pmap_t pmap) _pmap_switch() argument 2779 pmap_t pmap = l->l_proc->p_vmspace->vm_map.pmap; pmap_activate() local 2803 pmap_unwire(pmap_t pmap,vaddr_t va) pmap_unwire() argument 2860 pmap_extract(pmap_t pmap,vaddr_t va,paddr_t * pap) pmap_extract() argument 2937 pmap_pinit(pmap_t pmap) pmap_pinit() argument 2949 pmap_protect(pmap_t pmap,vaddr_t sva,vaddr_t eva,vm_prot_t prot) pmap_protect() argument 2992 pmap_protect1(pmap_t pmap,vaddr_t sva,vaddr_t eva) pmap_protect1() argument 3044 pmap_protect_mmu(pmap_t pmap,vaddr_t sva,vaddr_t eva) pmap_protect_mmu() argument 3123 pmap_protect_noctx(pmap_t pmap,vaddr_t sva,vaddr_t eva) pmap_protect_noctx() argument 3179 pmap_remove(pmap_t pmap,vaddr_t sva,vaddr_t eva) pmap_remove() argument 3211 pmap_remove1(pmap_t pmap,vaddr_t sva,vaddr_t eva) pmap_remove1() argument 3264 pmap_remove_mmu(pmap_t pmap,vaddr_t sva,vaddr_t eva) pmap_remove_mmu() argument 3391 pmap_remove_noctx(pmap_t pmap,vaddr_t sva,vaddr_t eva) pmap_remove_noctx() argument 3476 pmap_resident_pages(pmap_t pmap) pmap_resident_pages() argument 3500 pmap_wired_pages(pmap_t pmap) pmap_wired_pages() argument 3754 pmap_print(pmap_t pmap) pmap_print() argument [all...] |
| /netbsd-src/sys/arch/xen/x86/ |
| H A D | xen_pmap.c | 147 pmap_enter(struct pmap *pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, u_int flags) in pmap_enter() argument 157 return pmap_enter_ma(pmap, va, ma, pa, prot, flags, DOMID_SELF); in pmap_enter() 209 pmap_extract_ma(struct pmap *pmap, vaddr_t va, paddr_t *pap) in pmap_extract_ma() argument 214 struct pmap *pmap2; in pmap_extract_ma() 217 if (pmap != pmap_kernel()) { in pmap_extract_ma() 218 mutex_enter(&pmap->pm_lock); in pmap_extract_ma() 220 pmap_map_ptes(pmap, &pmap2, &ptes, &pdes); in pmap_extract_ma() 222 pmap_unmap_ptes(pmap, pmap2); in pmap_extract_ma() 223 if (pmap != pmap_kernel()) { in pmap_extract_ma() 224 mutex_exit(&pmap->pm_lock); in pmap_extract_ma() [all …]
|
| /netbsd-src/sys/arch/usermode/usermode/ |
| H A D | pmap.c | 71 struct pmap { struct 91 static struct pmap pmap_kernel_store; argument 92 struct pmap * const kernel_pmap_ptr = &pmap_kernel_store; 116 bool pmap_fault(pmap_t pmap, vaddr_t va, vm_prot_t *atype); 118 static struct pv_entry *pv_get(pmap_t pmap, uintptr_t ppn, uintptr_t lpn); 141 struct pmap *pmap; in pmap_bootstrap() local 356 pmap = pmap_kernel(); in pmap_bootstrap() 357 memset(pmap, 0, sizeof(*pmap)); in pmap_bootstrap() 358 pmap->pm_count = 1; /* reference */ in pmap_bootstrap() 359 pmap->pm_flags = PM_ACTIVE; /* kernel pmap is always active */ in pmap_bootstrap() [all …]
|
| /netbsd-src/sys/arch/vax/vax/ |
| H A D | pmap.c | 88 static struct pmap kernel_pmap_store; 89 struct pmap *const kernel_pmap_ptr = &kernel_pmap_store; 117 pmap_decrement_stats(struct pmap *pm, bool wired) in pmap_decrement_stats() 263 struct pmap * const pmap = pmap_kernel(); in pmap_bootstrap() local 381 pmap->pm_p1br = (struct pte *)KERNBASE; in pmap_bootstrap() 382 pmap->pm_p0br = (struct pte *)KERNBASE; in pmap_bootstrap() 383 pmap->pm_p1lr = NPTEPERREG; in pmap_bootstrap() 384 pmap->pm_p0lr = 0; in pmap_bootstrap() 385 pmap->pm_stats.wired_count = pmap->pm_stats.resident_count = 0; in pmap_bootstrap() 388 pmap->pm_count = 1; in pmap_bootstrap() [all …]
|
| /netbsd-src/sys/arch/ia64/include/ |
| H A D | pmap.h | 111 struct pmap { struct 119 typedef struct pmap *pmap_t; 123 #define PMAP_LOCK(pmap) mutex_enter(&(pmap)->pm_mtx) argument 124 #define PMAP_LOCK_ASSERT(pmap) KASSERT(mutex_owned(&(pmap)->pm_mtx)) argument 125 #define PMAP_LOCK_DESTROY(pmap) mutex_destroy(&(pmap)->pm_mtx) argument 126 #define PMAP_LOCK_INIT(pmap) mutex_init(&(pmap)->pm_mtx, MUTEX_DEFAULT, IPL_NONE) argument 127 #define PMAP_LOCKED(pmap) mutex_owned(&(pmap)->pm_mtx) argument 128 #define PMAP_MTX(pmap) (&(pmap)->pm_mtx) argument 129 #define PMAP_TRYLOCK(pmap) mutex_tryenter(&(pmap)->pm_mtx) argument 130 #define PMAP_UNLOCK(pmap) mutex_exit(&(pmap)->pm_mtx) argument [all …]
|
| /netbsd-src/sys/arch/hppa/hppa/ |
| H A D | pmap.c | 102 static struct pmap kernel_pmap_store; 103 struct pmap *const kernel_pmap_ptr = &kernel_pmap_store; 153 static inline void pmap_lock(struct pmap *); 154 static inline void pmap_unlock(struct pmap *); 155 static inline bool pmap_trylock(struct pmap *); 187 static void pmap_resolve_alias(struct vm_page *, struct pmap *, vaddr_t, 217 pmap_lock(struct pmap *pm) in pmap_lock() 224 pmap_unlock(struct pmap *pm) in pmap_unlock() 231 pmap_trylock(struct pmap *pm) in pmap_trylock() 289 pmap_hash(pmap_t pmap, vaddr_t va) in pmap_hash() argument [all …]
|
| /netbsd-src/sys/arch/m68k/m68k/ |
| H A D | pmap_motorola.c | 248 static struct pmap kernel_pmap_store; 249 struct pmap *const kernel_pmap_ptr = &kernel_pmap_store; 334 ((pm) == pmap_kernel() || (pm) == curproc->p_vmspace->vm_map.pmap) 338 (pm) != pmap_kernel() && (pm) == curproc->p_vmspace->vm_map.pmap) 576 pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0, "pmappl", in pmap_init() 703 struct pmap *pmap; in pmap_create() local 708 pmap = pool_get(&pmap_pmap_pool, PR_WAITOK); in pmap_create() 709 memset(pmap, 0, sizeof(*pmap)); in pmap_create() 710 pmap_pinit(pmap); in pmap_create() 711 return pmap; in pmap_create() [all …]
|
| /netbsd-src/sys/arch/x86/include/ |
| H A D | pmap_private.h | 90 struct pmap; 148 LIST_HEAD(pmap_head, pmap); /* struct pmap_head: head of a pmap list */ 174 struct pmap { struct 176 LIST_ENTRY(pmap) pm_list; /* list of all pmaps */ argument 204 int (*pm_enter)(struct pmap *, vaddr_t, paddr_t, vm_prot_t, u_int); argument 205 bool (*pm_extract)(struct pmap *, vaddr_t, paddr_t *); argument 206 void (*pm_remove)(struct pmap *, vaddr_t, vaddr_t); argument 209 void (*pm_pp_remove_ent)(struct pmap *, struct vm_page *, pt_entry_t, argument 211 void (*pm_write_protect)(struct pmap *, vaddr_t, vaddr_t, vm_prot_t); argument 212 void (*pm_unwire)(struct pmap *, vaddr_t); argument [all …]
|
| /netbsd-src/sys/arch/ia64/ia64/ |
| H A D | pmap.c | 1 /* $NetBSD: pmap.c,v 1.44 2024/10/31 10:09:56 andvar Exp $ */ 75 * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 76 * from: i386 Id: pmap.c,v 1.193 1998/04/19 15:22:48 bde Exp 77 * with some ideas from NetBSD's alpha pmap 80 /* __FBSDID("$FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.172 2005/11/20 06:09:48 alc Exp $"); */ 84 __KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.44 2024/10/31 10:09:56 andvar Exp $"); 169 * Individual PV entries are stored in per-pmap chunks. This saves 170 * space by eliminating the need to record the pmap within every PV 204 * Statically allocated kernel pmap 206 static struct pmap kernel_pmap_stor 693 pmap_t pmap; pmap_pv_reclaim() local 805 free_pv_entry(pmap_t pmap,pv_entry_t pv) free_pv_entry() argument 865 get_pv_entry(pmap_t pmap,bool try) get_pv_entry() argument 1050 pmap_remove_entry(pmap_t pmap,struct vm_page * m,vaddr_t va,pv_entry_t pv) pmap_remove_entry() argument 1080 pmap_insert_entry(pmap_t pmap,vaddr_t va,struct vm_page * m) pmap_insert_entry() argument 1216 pmap_remove_pte(pmap_t pmap,struct ia64_lpte * pte,vaddr_t va,pv_entry_t pv,int freepte) pmap_remove_pte() argument 1480 pmap_t pmap; pmap_create() local 1513 pmap_destroy(pmap_t pmap) pmap_destroy() argument 1548 pmap_reference(pmap_t pmap) pmap_reference() argument 1559 pmap_resident_count(pmap_t pmap) pmap_resident_count() argument 1571 pmap_wired_count(pmap_t pmap) pmap_wired_count() argument 1660 pmap_enter(pmap_t pmap,vaddr_t va,paddr_t pa,vm_prot_t prot,u_int flags) pmap_enter() argument 1825 pmap_remove(pmap_t pmap,vaddr_t sva,vaddr_t eva) pmap_remove() argument 1862 pmap_remove_all(pmap_t pmap) pmap_remove_all() argument 1875 pmap_protect(pmap_t pmap,vaddr_t sva,vaddr_t eva,vm_prot_t prot) pmap_protect() argument 1947 pmap_unwire(pmap_t pmap,vaddr_t va) pmap_unwire() argument 1981 pmap_extract(pmap_t pmap,vaddr_t va,paddr_t * pap) pmap_extract() argument 2161 pmap_update(pmap_t pmap) pmap_update() argument 2186 struct pmap *pmap = l->l_proc->p_vmspace->vm_map.pmap; pmap_activate() local 2286 pmap_t pmap; pmap_page_protect() local 2329 pmap_t oldpmap, pmap; pmap_clear_modify() local 2391 pmap_t oldpmap, pmap; pmap_clear_reference() local 2431 pmap_t oldpmap, pmap; pmap_is_modified() local 2482 pmap_t oldpmap, pmap; pmap_is_referenced() local 2624 pmap_t pmap = PV_PMAP(pv); pmap_remove_all_phys() local [all...] |
| /netbsd-src/sys/arch/vax/include/ |
| H A D | pmap.h | 103 struct pmap { struct 122 struct pmap *pv_pmap; /* pmap this entry belongs to */ argument 152 pmap_extract(pmap_t pmap, vaddr_t va, paddr_t *pap) in pmap_extract() argument 169 if (sva >= (pmap->pm_p0lr & ~AST_MASK)) in pmap_extract() 171 pte = (int *)pmap->pm_p0br; in pmap_extract() 173 if (sva < pmap->pm_p1lr) in pmap_extract() 175 pte = (int *)pmap->pm_p1br; in pmap_extract() 219 pmap_protect(pmap_t pmap, vaddr_t start, vaddr_t end, vm_prot_t prot) in pmap_protect() argument 221 if (pmap->pm_p0lr != 0 || pmap->pm_p1lr != 0x200000 || in pmap_protect() 223 pmap_protect_long(pmap, start, end, prot); in pmap_protect() [all …]
|
| /netbsd-src/sys/arch/hppa/include/ |
| H A D | pmap.h | 53 struct pmap { struct 85 struct pmap *pv_pmap; /* the pmap */ 142 #define pmap_resident_count(pmap) ((pmap)->pm_stats.resident_count) argument 143 #define pmap_wired_count(pmap) ((pmap)->pm_stats.wired_count) argument 160 void pmap_write_protect(struct pmap *, vaddr_t, vaddr_t, vm_prot_t); 161 void pmap_remove(struct pmap *pmap, vaddr_t sva, vaddr_t eva); 173 pmap_remove_all(struct pmap *pmap) in pmap_remove_all() argument 180 pmap_prot(struct pmap *pmap, int prot) in pmap_prot() argument 183 return (hppa_prot[prot] | (pmap == pmap_kernel() ? 0 : TLB_USER)); in pmap_prot() 198 pmap_protect(struct pmap *pmap, vaddr_t sva, vaddr_t eva, vm_prot_t prot) in pmap_protect() argument [all …]
|
| /netbsd-src/sys/arch/m68k/include/ |
| H A D | pmap_motorola.h | 89 struct pmap { struct 201 struct pmap *pv_pmap; /* pmap where mapping lies */ 204 struct pmap *pv_ptpmap; /* if pv_ptste, pmap for PT page */ 209 #define pmap_resident_count(pmap) ((pmap)->pm_stats.resident_count) argument 210 #define pmap_wired_count(pmap) ((pmap)->pm_stats.wired_count) argument 212 #define pmap_update(pmap) __nothing /* nothing (yet) */ argument 215 pmap_remove_all(struct pmap *pmap) in pmap_remove_all() argument 253 void _pmap_set_page_cacheable(struct pmap *, vaddr_t); 254 void _pmap_set_page_cacheinhibit(struct pmap *, vaddr_t); 255 int _pmap_page_is_cacheable(struct pmap *, vaddr_t);
|
| /netbsd-src/sys/arch/sun3/sun3x/ |
| H A D | pmap.c | 244 static struct pmap kernel_pmap; 245 struct pmap *const kernel_pmap_ptr = &kernel_pmap; 523 pmap_t pmap; in current_pmap() local 527 pmap = vm_map_pmap(map); in current_pmap() 529 return pmap; in current_pmap() 1086 pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, 0, 0, "pmappl", in pmap_init() 1243 pmap_t pmap; in get_a_table() local 1277 pmap = tbl->at_parent; in get_a_table() 1279 pmap->pm_a_tmgr = NULL; in get_a_table() 1280 pmap->pm_a_phys = kernAphys; in get_a_table() [all …]
|
| /netbsd-src/sys/rump/librump/rumpkern/arch/x86/ |
| H A D | rump_x86_pmap.c | 52 pmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, u_int flags) in pmap_enter() argument 86 pmap_update(pmap_t pmap) in pmap_update() argument 92 pmap_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva) in pmap_remove() argument 99 pmap_extract(pmap_t pmap, vaddr_t va, paddr_t *pap) in pmap_extract() argument 107 pmap_write_protect(pmap_t pmap, vaddr_t sva, vaddr_t eva, vm_prot_t prot) in pmap_write_protect() argument 112 pmap_resident_count(struct pmap *pmap) in pmap_resident_count() argument 119 pmap_wired_count(struct pmap *pmap) in pmap_wired_count() argument
|
| /netbsd-src/sys/arch/alpha/include/ |
| H A D | pmap.h | 151 struct pmap { /* pmaps are aligned to COHERENCY_UNIT boundaries */ struct 159 TAILQ_ENTRY(pmap) pm_list; /* [48] list of all pmaps */ argument 166 (ALIGN(offsetof(struct pmap, pm_percpu[(x)]))) 180 struct pmap *pv_pmap; /* pmap where mapping lies */ 209 #define pmap_resident_count(pmap) ((pmap)->pm_stats.resident_count) argument 210 #define pmap_wired_count(pmap) ((pmap)->pm_stats.wired_count) argument 213 #define pmap_update(pmap) /* nothing (yet) */ argument 283 pmap_lev1map(pmap_t pmap) in pmap_lev1map() argument 285 if (__predict_false(pmap == pmap_kernel())) { in pmap_lev1map() 293 return pmap->pm_percpu[cpu_number()].pmc_lev1map; in pmap_lev1map() [all …]
|
| /netbsd-src/sys/arch/powerpc/include/ibm4xx/ |
| H A D | pmap.h | 145 struct pmap { struct 165 #define pmap_resident_count(pmap) ((pmap)->pm_stats.resident_count) argument 166 #define pmap_wired_count(pmap) ((pmap)->pm_stats.wired_count) argument 168 void pmap_unwire(struct pmap *pm, vaddr_t va); 170 bool pmap_extract(struct pmap *, vaddr_t, paddr_t *); 176 pmap_remove_all(struct pmap *pmap) in pmap_remove_all() argument 182 int ctx_alloc(struct pmap *); 183 void ctx_free(struct pmap *);
|
| /netbsd-src/sys/arch/sparc64/sparc64/ |
| H A D | pmap.c | 87 extern int64_t pseg_get_real(struct pmap *, vaddr_t); 88 extern int pseg_set_real(struct pmap *, vaddr_t, int64_t, paddr_t); 135 pv_entry_t pmap_remove_pv(struct pmap *, vaddr_t, struct vm_page *); 136 void pmap_enter_pv(struct pmap *, vaddr_t, paddr_t, struct vm_page *, 138 void pmap_page_cache(struct pmap *, paddr_t, int); 153 static struct pmap kernel_pmap_; 154 struct pmap *const kernel_pmap_ptr = &kernel_pmap_; 156 static int ctx_alloc(struct pmap *); 159 static void ctx_free(struct pmap *, struct cpu_info *); 184 pmap_has_ctx(struct pmap *p) in pmap_has_ctx() [all …]
|
| /netbsd-src/crypto/external/bsd/openssl.old/dist/crypto/x509v3/ |
| H A D | v3_pmaps.c | 51 POLICY_MAPPING *pmap; variable 57 pmap = sk_POLICY_MAPPING_value(pmaps, i); 58 i2t_ASN1_OBJECT(obj_tmp1, 80, pmap->issuerDomainPolicy); 59 i2t_ASN1_OBJECT(obj_tmp2, 80, pmap->subjectDomainPolicy); 68 POLICY_MAPPING *pmap = NULL; in v2i_POLICY_MAPPINGS() local 96 pmap = POLICY_MAPPING_new(); in v2i_POLICY_MAPPINGS() 97 if (pmap == NULL) { in v2i_POLICY_MAPPINGS() 101 pmap->issuerDomainPolicy = obj1; in v2i_POLICY_MAPPINGS() 102 pmap->subjectDomainPolicy = obj2; in v2i_POLICY_MAPPINGS() 104 sk_POLICY_MAPPING_push(pmaps, pmap); /* no failure as it was reserved */ in v2i_POLICY_MAPPINGS()
|