/macosx-10.5.8/xnu-1228.15.4/osfmk/vm/ |
H A D | pmap.h | 59 * File: vm/pmap.h 64 * section. [For machine-dependent section, see "machine/pmap.h".] 115 #include <machine/pmap.h> 125 * kernel pmap - and therefore use the "local" 156 * If machine/pmap.h defines MACHINE_PAGES, it must implement 157 * the above functions. The pmap module has complete control. 195 extern pmap_t (pmap_kernel)(void); /* Return the kernel's pmap */ 196 extern void pmap_reference(pmap_t pmap); /* Gain a reference. */ 197 extern void pmap_destroy(pmap_t pmap); /* Release a reference. */ 202 pmap_t pmap, [all...] |
H A D | vm_debug.h | 39 #include <vm/pmap.h>
|
H A D | vm_fault.h | 95 pmap_t pmap, 137 pmap_t pmap, 144 pmap_t pmap, 159 pmap_t pmap,
|
H A D | Makefile | 13 pmap.h \
|
/macosx-10.5.8/xnu-1228.15.4/osfmk/ppc/ |
H A D | pmap.c | 64 * Utah $Hdr: pmap.c 1.28 92/06/23$ 111 #include <vm/pmap.h> 115 #include <ppc/pmap.h> 139 pmapTransTab *pmapTrans; /* Point to the hash to pmap translations */ 145 void pmap_activate(pmap_t pmap, thread_t th, int which_cpu); 146 void pmap_deactivate(pmap_t pmap, thread_t th, int which_cpu); 152 extern struct pmap kernel_pmap_store; 153 pmap_t kernel_pmap; /* Pointer to kernel pmap and anchor for in-use pmaps */ 154 addr64_t kernel_pmap_phys; /* Pointer to kernel pmap and anchor for in-use pmaps, physical address */ 155 pmap_t cursor_pmap; /* Pointer to last pmap allocate 667 pmap_t pmap, ckpmap, fore; local 762 pmap_destroy(pmap_t pmap) argument 826 pmap_reference(pmap_t pmap) argument 838 pmap_remove_some_phys( pmap_t pmap, vm_offset_t pa) argument 906 pmap_remove( pmap_t pmap, addr64_t sva, addr64_t eva) argument 1059 pmap_protect( pmap_t pmap, vm_map_offset_t sva, vm_map_offset_t eva, vm_prot_t prot) argument 1101 pmap_enter(pmap_t pmap, vm_map_offset_t va, ppnum_t pa, vm_prot_t prot, unsigned int flags, __unused boolean_t wired) argument 1148 pmap_map_block(pmap_t pmap, addr64_t va, ppnum_t pa, uint32_t size, vm_prot_t prot, int attr, unsigned int flags) argument 1173 pmap_map_block_rc(pmap_t pmap, addr64_t va, ppnum_t pa, uint32_t size, vm_prot_t prot, int attr, unsigned int flags) argument 1202 pmap_extract(pmap_t pmap, vm_map_offset_t va) argument 1250 pmap_find_phys(pmap_t pmap, addr64_t va) argument 1293 pmap_attribute( __unused pmap_t pmap, __unused vm_map_offset_t address, __unused vm_map_size_t size, __unused vm_machine_attribute_t attribute, __unused vm_machine_attribute_val_t* value) argument 1384 pmap_collect(__unused pmap_t pmap) argument 1398 pmap_activate( __unused pmap_t pmap, __unused thread_t th, __unused int which_cpu) argument 1410 pmap_deactivate( __unused pmap_t pmap, __unused thread_t th, __unused int which_cpu) argument 1435 pmap_pageable( __unused pmap_t pmap, __unused vm_map_offset_t start, __unused vm_map_offset_t end, __unused boolean_t pageable) argument 1450 pmap_change_wiring( __unused pmap_t pmap, __unused vm_map_offset_t va, __unused boolean_t wired) argument 1552 pmap_list_resident_pages( __unused pmap_t pmap, __unused vm_offset_t *listp, __unused int space) argument 2015 pmap_map_sharedpage(task_t task, pmap_t pmap) argument 2038 pmap_unmap_sharedpage(pmap_t pmap) argument 2089 pmap_disable_NX(pmap_t pmap) argument [all...] |
H A D | pmap.h | 51 * Utah $Hdr: pmap.h 1.13 91/09/25$ 63 #include <vm/pmap.h> 141 addr64_t vmxHostPmapPhys; /* Host pmap physical address */ 142 struct pmap *vmxHostPmap; /* Host pmap effective address */ 157 struct pmap { struct 161 unsigned int space; /* space for this pmap */ 165 #define pmapKeys 0x00000007 /* Keys and no execute bit to use with this pmap */ 167 #define pmapVMhost 0x00000010 /* pmap with Virtual Machines attached to it */ 169 #define pmapNXdisabled 0x00000040 /* no-execute disabled for this pmap */ 327 pmap_set_4GB_pagezero(__unused pmap_t pmap) argument 328 pmap_clear_4GB_pagezero(__unused pmap_t pmap) argument [all...] |
H A D | db_low_trace.c | 65 #include <ppc/pmap.h> 278 pmap_t pmap; local 293 pmap = pmapTrans[dvspace].pmapVAddr; /* Find the pmap address */ 294 if(!pmap) { /* The pmap is not in use */ 295 db_printf("The space %X is not assigned to a pmap\n", dvspace); /* Say we are wrong */ 299 mp = hw_find_map(pmap, (addr64_t)addr, &lnextva); /* Try to find the mapping for this address */ 329 pmap_t pmap; local 345 pmap 375 pmap_t pmap; local 431 pmap_t pmap; local 475 pmap_t pmap; local 576 pmap_t pmap; local 866 pmap_t pmap; local [all...] |
H A D | vmachmon.c | 98 ** This function verifies and returns the pmap for an address space. 99 ** If there is none and the request is valid, a pmap will be created. 106 ** address of a pmap or 0 if not found or could no be created 107 ** Note that if there is no pmap for the address space it will be created. 112 pmap_t pmap; local 117 pmap = act->machine.vmmControl->vmmAdsp[index - 1]; /* Get the pmap */ 118 return (pmap); /* and return it. */ 129 static pmap_vmm_ext *vmm_build_shadow_hash(pmap_t pmap) argument 131 pmap_vmm_ext *ext; /* VMM pmap extensio 692 pmap_t pmap; local 982 pmap_t pmap; local 1240 pmap_t pmap; local 1291 pmap_t pmap; local 1336 pmap_t pmap; local 1406 pmap_t pmap; local 1451 pmap_t pmap; local 1507 pmap_t pmap; local [all...] |
H A D | PPCcalls.c | 32 #include <ppc/pmap.h>
|
H A D | mappings.h | 89 * provided to the pmap system at bootstrap by ppc_vm_init. 244 #define mpKKN 0x0000000000000007ULL /* Segment key and no execute flag (nested pmap) */ 262 #define mpNestReloc mpAlias /* 0x018 - Redefines mpAlias relocation value of vaddr to nested pmap value */ 295 unsigned int spacenum; /* Last space num to search pmap */ 377 extern addr64_t mapping_remove(pmap_t pmap, addr64_t va); /* Remove a single mapping for this VADDR */ 378 extern mapping_t *mapping_find(pmap_t pmap, addr64_t va, addr64_t *nextva, int full); /* Finds a mapping */ 394 extern void mapping_protect(pmap_t pmap, addr64_t va, vm_prot_t prot, addr64_t *nextva); /* Change protection of a single mapping to page */ 395 extern addr64_t mapping_make(pmap_t pmap, addr64_t va, ppnum_t pa, unsigned int flags, unsigned int size, vm_prot_t prot); /* Make a mapping */ 404 extern addr64_t mapping_p2v(pmap_t pmap, ppnum_t pa); /* Finds first virtual mapping of a physical page in a space */ 421 extern mapping_t *hw_rem_map(pmap_t pmap, addr64_ [all...] |
H A D | db_interface.c | 42 #include <vm/pmap.h> 48 #include <ppc/pmap.h> 253 db_vtophys(pmap_t pmap, vm_offset_t va) argument 258 pp = pmap_find_phys(pmap, (addr64_t)va); 280 pmap_t pmap; local 284 pmap = task->map->pmap; 286 pmap = kernel_pmap; 288 phys_src = db_vtophys(pmap, (vm_offset_t)addr); 337 pmap_t pmap; local [all...] |
H A D | mem.h | 39 #include <ppc/pmap.h>
|
H A D | mappings.c | 30 * The code herein is primarily used to bridge between the pmap layer and the hardware layer. 31 * Currently, some of the function of this module is contained within pmap.c. We may want to move 57 #include <vm/pmap.h> 62 #include <ppc/pmap.h> 123 * 4, so, we can have 2^20 (2M) unique IDs. Each pmap has a unique space ID, so we should be able 208 * mapping_remove(pmap_t pmap, addr64_t va); 209 * Given a pmap and virtual address, this routine finds the mapping and unmaps it. 221 addr64_t mapping_remove(pmap_t pmap, addr64_t va) { /* Remove a single mapping for this VADDR argument 231 mp = hw_rem_map(pmap, va, &nextva); /* Remove a mapping from this pmap */ 312 mapping_make(pmap_t pmap, addr64_t va, ppnum_t pa, unsigned int flags, unsigned int size, vm_prot_t prot) argument 445 mapping_find(pmap_t pmap, addr64_t va, addr64_t *nextva, int full) argument 499 mapping_protect(pmap_t pmap, addr64_t va, vm_prot_t prot, addr64_t *nextva) argument 1496 mapping_p2v(pmap_t pmap, ppnum_t pa) argument [all...] |
H A D | skiplists.s | 32 * resident mappings for each pmap. We used to use a much simpler hash-based scheme, 45 * efficient to purge a sparsely populated pmap of all the mappings in a large range, 51 * pages, which is 64GB of resident physical memory per pmap. Pmaps can be larger than 85 * Given a pmap and a virtual address (VA), find the mapping for that address. 88 * the pmap is locked (shared or exclusive) 92 * r3 = pmap ptr 106 la r8,pmapSkipLists+4(r3) ; point to lists in pmap, assuming 32-bit machine 108 mr r6,r3 ; save pmap ptr here so we can accumulate statistics 127 ; r6 = pmap ptr 129 ; r8 = ptr to skip list vector of mapping pointed to by r9 (or pmap, i [all...] |
/macosx-10.5.8/xnu-1228.15.4/osfmk/mach/ |
H A D | vm_types.h | 85 struct pmap ; 93 typedef struct pmap *pmap_t;
|
/macosx-10.5.8/xnu-1228.15.4/osfmk/i386/ |
H A D | pmap.h | 60 * File: pmap.h 318 #define pdenum(pmap, a) (((vm_offset_t)(a) >> PDESHIFT) & PDEMASK) 320 #define pdeidx(pmap, a) (((a) >> PDSHIFT) & ((1ULL<<(48 - PDSHIFT)) -1)) 321 #define pdptidx(pmap, a) (((a) >> PDPTSHIFT) & ((1ULL<<(48 - PDPTSHIFT)) -1)) 322 #define pml4idx(pmap, a) (((a) >> PML4SHIFT) & ((1ULL<<(48 - PML4SHIFT)) -1)) 423 struct pmap { struct 505 pmap_t pmap, 509 struct pmap *pmap, 513 struct pmap *pma [all...] |
H A D | pmap.c | 60 * File: pmap.c 109 #include <vm/pmap.h> 149 /* #define DEBUGINTERRUPTS 1 uncomment to ensure pmap callers have interrupts enabled */ 151 #define pmap_intr_assert() {if (processor_avail_count > 1 && !ml_get_interrupts_enabled()) panic("pmap interrupt assert %s, %d",__FILE__, __LINE__);} 186 pmap_t pmap, 274 pmap_t pmap; 285 pmap we cannot block and still panic, so, we keep a separate hot pool for use only on 296 if (this pv is for this pmap/vaddr) { 316 hash list via a hash of [pmap, vaddr]. These have been designed with the two goals of 331 pmap_t pmap; 354 pmap_t pmap; /* pmap where mapping lies */ member in struct:pv_rooted_entry 364 pmap_t pmap; member in struct:pv_hashed_entry 706 pmap64_pml4(pmap_t pmap, vm_map_offset_t vaddr) argument 716 pmap64_pdpt(pmap_t pmap, vm_map_offset_t vaddr) argument 761 pmap64_pde(pmap_t pmap, vm_map_offset_t vaddr) argument 825 pmap_pte(pmap_t pmap, vm_map_offset_t vaddr) argument 1519 pmap_is_empty( pmap_t pmap, vm_map_offset_t vstart, vm_map_offset_t vend) argument 1920 pmap_remove_range( pmap_t pmap, vm_map_offset_t start_vaddr, pt_entry_t *spte, pt_entry_t *epte) argument 2270 register pmap_t pmap; local 2532 pmap_map_block( pmap_t pmap, addr64_t va, ppnum_t pa, uint32_t size, vm_prot_t prot, int attr, __unused unsigned int flags) argument 2564 pmap_enter( register pmap_t pmap, vm_map_offset_t vaddr, ppnum_t pn, vm_prot_t prot, unsigned int flags, boolean_t wired) argument 3018 pmap_find_phys(pmap_t pmap, addr64_t va) argument 3047 pmap_extract( register pmap_t pmap, vm_map_offset_t vaddr) argument 3519 pmap_pageable( __unused pmap_t pmap, __unused vm_map_offset_t start_addr, __unused vm_map_offset_t end_addr, __unused boolean_t pageable) argument 3542 register pmap_t pmap; local 3625 register pmap_t pmap; local 3986 pmap_list_resident_pages( __unused pmap_t pmap, __unused vm_offset_t *listp, __unused int space) argument 4450 pmap_disable_NX(pmap_t pmap) argument 4521 pmap_flush_tlbs(pmap_t pmap) argument [all...] |
H A D | io_map.c | 62 #include <i386/pmap.h>
|
H A D | ldt.c | 64 #include <i386/pmap.h>
|
H A D | Makefile | 30 pmap.h \
|
/macosx-10.5.8/xnu-1228.15.4/osfmk/i386/vmx/ |
H A D | vmx_shims.c | 34 #include <i386/pmap.h>
|
/macosx-10.5.8/xnu-1228.15.4/osfmk/device/ |
H A D | iokit_rpc.c | 56 #include <vm/pmap.h> 70 #include <i386/pmap.h> 436 /* need to create a pmap function to generalize */ 447 pmap_t pmap = map->pmap; local 477 pmap_map_block(pmap, va, (ppnum_t)atop_64(pa), (uint32_t) atop_64(round_page_64(length)), prot, flags, 0); 484 pmap_t pmap = map->pmap; local 486 pmap_remove(pmap, trunc_page_64(va), round_page_64(va + length)); 501 pmap_t pmap [all...] |
/macosx-10.5.8/xnu-1228.15.4/iokit/IOKit/ |
H A D | system.h | 63 #include <vm/pmap.h>
|
/macosx-10.5.8/xnu-1228.15.4/osfmk/mach/i386/ |
H A D | vm_param.h | 195 #define PMAP_ENTER(pmap, virtual_address, page, protection, flags, wired) \ 197 pmap_t __pmap = (pmap); \
|
/macosx-10.5.8/xnu-1228.15.4/osfmk/kdp/ml/ppc/ |
H A D | kdp_vm.c | 32 #include <vm/pmap.h> 37 #include <ppc/pmap.h> 69 static addr64_t kdp_vtophys(pmap_t pmap, addr64_t va); 100 pmap_t pmap, 106 pp = pmap_find_phys(pmap, va); /* Get the page number */ 114 * (kdp_trans_off is 0), a non-zero kdp_pmap specifies the pmap to use 127 pmap_t pmap; local 164 if(kdp_pmap) pmap = kdp_pmap; /* If special pmap, use it */ 165 else pmap 99 kdp_vtophys( pmap_t pmap, addr64_t va) argument [all...] |