• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/xnu-2782.1.97/osfmk/x86_64/

Lines Matching defs:pmap

60  *	File:	pmap.c
108 #include <vm/pmap.h>
190 * for. Initialized to zero so that pmap operations done before
223 struct pmap kernel_pmap_store;
226 struct zone *pmap_zone; /* zone of pmap structures */
363 * The kernel's pmap is statically allocated so we don't
497 kprintf("Kernel traces for pmap operations enabled\n");
568 if (pv_head_table[i].pmap == PMAP_NULL) {
570 if (pv_head_table[compact_target_indx].pmap != PMAP_NULL)
575 if (pv_head_table[compact_target_indx].pmap == PMAP_NULL) {
581 pv_head_table[i].pmap = PMAP_NULL;
637 * Initialize the pmap module.
638 * Called by vm_init, to initialize any structures that the pmap
743 s = (vm_size_t) sizeof(struct pmap);
744 pmap_zone = zinit(s, 400*s, 4096, "pmap"); /* XXX */
773 pv_e->pmap = kernel_pmap;
879 * Free pages in pmap regions below the base:
895 DBG("pmap region %d [%p..[%p\n",
1027 /* Change variable read by sysctl machdep.pmap */
1153 result = (pv_h->pmap == PMAP_NULL);
1159 pmap_t pmap,
1166 if (pmap == PMAP_NULL) {
1172 * - if it's zero, the pmap is completely empty.
1178 if (pmap->stats.resident_count == 0)
1184 phys_page = pmap_find_phys(pmap, offset);
1188 pmap, va_start, va_end, phys_page, offset);
1313 pmap_assert((current_thread() && (current_thread()->map)) ? (current_thread()->map->pmap != p) : TRUE);
1317 * If some cpu is not using the physical pmap pointer that it
1319 * pmap that is being destroyed! Make sure we are
1320 * physically on the right pmap:
1338 * pmap structure.
1363 * Add a reference to the specified pmap.
1495 pmap_t pmap,
1512 pmap_enter(pmap, va, pa, prot, VM_PROT_NONE, attr, TRUE);
1541 * put the page into the pmap's obj list so it
1581 panic("pmap_expand_pml4: obj not empty, pmap %p pm_obj %p vaddr 0x%llx i 0x%llx\n",
1630 * put the page into the pmap's obj list so it
1670 panic("pmap_expand_pdpt: obj not empty, pmap %p pm_obj %p vaddr 0x%llx i 0x%llx\n",
1698 * Expands a pmap to be able to map the specified virtual address.
1701 * pmap, then re-maps the physical pages that were in the old
1702 * pmap to be in the new pmap.
1704 * Must be called with the pmap system and the pmap unlocked,
1730 panic("pmap_expand: bad vaddr 0x%llx for kernel pmap", vaddr);
1749 * put the page into the pmap's obj list so it
1790 panic("pmap_expand: obj not empty, pmap 0x%x pm_obj 0x%x vaddr 0x%llx i 0x%llx\n",
1817 pmap_pre_expand(pmap_t pmap, vm_map_offset_t vaddr)
1822 PMAP_LOCK(pmap);
1824 if(pmap64_pdpt(pmap, vaddr) == PDPT_ENTRY_NULL) {
1830 pte = pmap64_pml4(pmap, vaddr);
1838 if(pmap64_pde(pmap, vaddr) == PD_ENTRY_NULL) {
1844 pte = pmap64_pdpt(pmap, vaddr);
1852 if(pmap_pte(pmap, vaddr) == PT_ENTRY_NULL) {
1858 pte = pmap64_pde(pmap, vaddr);
1866 PMAP_UNLOCK(pmap);
2019 * Make the specified pages (by pmap, offset)
2032 __unused pmap_t pmap,
2038 pmap++; start_addr++; end_addr++; pageable++;
2071 else if (((ccr3 = get_cr3_base()) != thread->map->pmap->pm_cr3) && (no_shared_cr3 == FALSE))
2091 __unused pmap_t pmap,
2108 ptep = pmap_pte(map->pmap, va);
2150 * the specified pmap
2153 pmap_disable_NX(pmap_t pmap)
2155 pmap->nx_enabled = 0;
2311 * Called with pmap locked, we:
2316 * - flush the local tlb if active for this pmap
2317 * - return ... the caller will unlock the pmap
2321 pmap_flush_tlbs(pmap_t pmap, vm_map_offset_t startv, vm_map_offset_t endv, int options, pmap_flush_context *pfc)
2327 pmap_paddr_t pmap_cr3 = pmap->pm_cr3;
2330 boolean_t pmap_is_shared = (pmap->pm_shared || (pmap == kernel_pmap));
2337 event_code = (pmap == kernel_pmap) ? PMAP_CODE(PMAP__FLUSH_KERN_TLBS)
2340 pmap, options, startv, endv, 0);
2352 pmap_pcid_invalidate_all_cpus(pmap);
2385 * For example, if we're invalidating the kernel pmap,
2398 pmap->pm_shared ||
2414 pmap_pcid_validate_cpu(pmap, my_cpu);
2461 pmap, cpus_to_signal, cpus_to_respond, 0, 0);
2476 if (__improbable((pmap == kernel_pmap) && (flush_self != TRUE))) {
2477 panic("pmap_flush_tlbs: pmap == kernel_pmap && flush_self != TRUE; kernel CR3: 0x%llX, pmap_cr3: 0x%llx, CPU active CR3: 0x%llX, CPU Task Map: %d", kernel_pmap->pm_cr3, pmap_cr3, current_cpu_datap()->cpu_active_cr3, current_cpu_datap()->cpu_task_map);
2482 pmap, cpus_to_signal, startv, endv, 0);
2524 /* Scan kernel pmap for W+X PTEs, scan kernel VM map for W+X map entries
2540 /* Potential inconsistencies from not holding pmap lock
2571 kprintf("Completed pmap scan\n");