| /xnu-8019.80.24/osfmk/arm/pmap/ |
| H A D | pmap_data.h | 460 pvh_ptep_is_iommu(const pt_entry_t *ptep) in pvh_ptep_is_iommu() argument 463 return (vm_offset_t)ptep & PVH_FLAG_IOMMU; in pvh_ptep_is_iommu() 465 #pragma unused(ptep) in pvh_ptep_is_iommu() 480 pvh_strip_ptep(const pt_entry_t *ptep) in pvh_strip_ptep() argument 483 const vm_offset_t pte_va = (vm_offset_t)ptep; in pvh_strip_ptep() 486 return ptep; in pvh_strip_ptep() 638 pve_find_ptep_index(pv_entry_t *pvep, pt_entry_t *ptep) in pve_find_ptep_index() argument 641 if (pve_get_ptep(pvep, i) == ptep) { in pve_find_ptep_index() 893 ptep_get_ptd(const pt_entry_t *ptep) in ptep_get_ptd() argument 895 assert(ptep != NULL); in ptep_get_ptd() [all …]
|
| H A D | pmap_data.c | 809 pt_entry_t *ptep = PT_ENTRY_NULL; in ppr_remove_pt_page() local 849 ptep = (pt_entry_t *)ttetokv(*ttep); in ppr_remove_pt_page() 850 begin_pte = &ptep[pte_index(pt_attr, va)]; in ppr_remove_pt_page() 2166 pt_entry_t *ptep, in pmap_enter_pv() argument 2173 assert(ptep != PT_ENTRY_NULL); in pmap_enter_pv() 2234 pvh_update_head(pvh, ptep, PVH_TYPE_PTEP); in pmap_enter_pv() 2265 __func__, *pvh, ptep, pmap, pvh); in pmap_enter_pv() 2294 pve_set_ptep(pvep, pve_ptep_idx, ptep); in pmap_enter_pv() 2339 pt_entry_t *ptep, in pmap_remove_pv() argument 2358 if (__improbable((ptep != pvh_ptep(pvh)))) { in pmap_remove_pv() [all …]
|
| H A D | pmap_pt_geometry.h | 748 pt_entry_t *ptep = PT_ENTRY_NULL; in pmap_pte() local 771 ptep = (pt_entry_t *) ttetokv(tte) + pte_index(pt_attr, addr); in pmap_pte() 772 return ptep; in pmap_pte()
|
| /xnu-8019.80.24/osfmk/x86_64/ |
| H A D | pmap.c | 913 pt_entry_t *ptep = NULL; in pmap_mark_range() local 952 for (ptep = pmap_pte(npmap, cv); ptep != NULL && (cv < (pdev + NBPD)) && (cv < ev);) { in pmap_mark_range() 954 if ((NX ^ !!(*ptep & INTEL_PTE_NX)) || (ro ^ !!!(*ptep & INTEL_PTE_WRITE))) { in pmap_mark_range() 956 (*ptep & INTEL_PTE_VALID) ? "R" : "", in pmap_mark_range() 957 (*ptep & INTEL_PTE_WRITE) ? "W" : "", in pmap_mark_range() 958 (*ptep & INTEL_PTE_NX) ? "" : "X", in pmap_mark_range() 965 *ptep |= INTEL_PTE_NX; in pmap_mark_range() 967 *ptep &= ~INTEL_PTE_NX; in pmap_mark_range() 970 *ptep &= ~INTEL_PTE_WRITE; in pmap_mark_range() 972 *ptep |= INTEL_PTE_WRITE; in pmap_mark_range() [all …]
|
| /xnu-8019.80.24/tools/lldbmacros/ |
| H A D | pmap.py | 996 def PVDumpPTE(pvep, ptep, verbose_level = vHUMAN): argument 1014 if pvep is not None and (ptep & 0x1): 1028 ptep = ptep & ~0x3 1034 if ptep & iommu_flag: 1036 ptep = ptep & ~iommu_flag 1047 if ptep & iommu_table_flag: 1050 ptd = GetPtDesc(KVToPhysARM(ptep)) 1060 ptep = ptep | iommu_table_flag 1061 iommu = dereference(kern.GetValueFromAddress(ptep, 'ppl_iommu_state *')) 1071 ptd = GetPtDesc(KVToPhysARM(ptep)) [all …]
|
| /xnu-8019.80.24/osfmk/i386/ |
| H A D | pmap_internal.h | 701 pmap_pagetable_corruption_action_t action, pmap_t pmap, vm_map_offset_t vaddr, pt_entry_t *ptep, in pmap_pagetable_corruption_log() argument 720 pmap_pagetable_corruption_records[pmap_pagetable_corruption_log_index].pte = *ptep; in pmap_pagetable_corruption_log() 738 …corruption(pmap_t pmap, vm_map_offset_t vaddr, ppnum_t *ppnp, pt_entry_t *ptep, pmap_pv_assertion_… in pmap_classify_pagetable_corruption() argument 743 pt_entry_t cpte = *ptep; in pmap_classify_pagetable_corruption() 832 pmap_compressed_pte_corruption_repair(uint64_t pte, uint64_t *pte_addr, uint64_t *ptep, pmap_t pmap, in pmap_compressed_pte_corruption_repair() argument 836 int pteidx = ((uintptr_t)ptep & INTEL_OFFMASK) / sizeof(pt_entry_t); in pmap_compressed_pte_corruption_repair() 845 adj_pteps[0] = ptep + 1; in pmap_compressed_pte_corruption_repair() 846 adj_pteps[1] = ptep + 2; in pmap_compressed_pte_corruption_repair() 848 adj_pteps[0] = ptep - 2; in pmap_compressed_pte_corruption_repair() 849 adj_pteps[1] = ptep - 1; in pmap_compressed_pte_corruption_repair() [all …]
|
| H A D | pmap.h | 304 #define PTE_IS_COMPRESSED(x, ptep, pmap, vaddr) \ argument 308 pmap_compressed_pte_corruption_repair((x), &(x), (ptep), (pmap), (vaddr)))) 468 pmap_corrupted_pte_detected(pt_entry_t *ptep, uint64_t clear_bits, uint64_t set_bits) in pmap_corrupted_pte_detected() argument 470 …mic_compare_exchange_strong((_Atomic(pt_entry_t *)*) & PTE_corrupted_ptr, &PTE_corrupted_ptr, ptep, in pmap_corrupted_pte_detected() 475 …n detected: ptep 0x%llx pte value 0x%llx", (unsigned long long)(uintptr_t)ptep, *(uint64_t *)ptep); in pmap_corrupted_pte_detected() 478 (unsigned long long)(uintptr_t)ptep, *(uint64_t *)ptep, clear_bits, set_bits); in pmap_corrupted_pte_detected()
|
| H A D | pmap_x86_common.c | 493 pt_entry_t *ptep; in pmap_update_cache_attributes_locked() local 525 ptep = pmap_pte(pmap, vaddr); in pmap_update_cache_attributes_locked() 527 if (0 == ptep) { in pmap_update_cache_attributes_locked() 535 pmap_update_pte(is_ept, ptep, PHYS_CACHEABILITY_MASK, attributes, true); in pmap_update_cache_attributes_locked() 537 pmap_update_pte(is_ept, ptep, INTEL_EPT_CACHE_MASK, ept_attributes, true); in pmap_update_cache_attributes_locked() 2332 pt_entry_t *ptep; in pmap_map_bd() local 2359 ptep = pmap_pte(kernel_pmap, (vm_map_offset_t)virt); in pmap_map_bd() 2360 if (ptep == PT_ENTRY_NULL) { in pmap_map_bd() 2363 if (pte_to_pa(*ptep)) { in pmap_map_bd() 2366 pmap_store_pte(FALSE, ptep, template); in pmap_map_bd()
|
| /xnu-8019.80.24/osfmk/arm/ |
| H A D | pmap.c | 547 pte_set_wired(pmap_t pmap, pt_entry_t *ptep, boolean_t wired) in pte_set_wired() argument 550 *ptep |= ARM_PTE_WIRED; in pte_set_wired() 552 *ptep &= ~ARM_PTE_WIRED; in pte_set_wired() 563 ptd_wiredcnt_ptr = &(ptep_get_info(ptep)->wiredcnt); in pte_set_wired() 569 panic("pmap %p (pte %p): wired count underflow", pmap, ptep); in pte_set_wired() 620 write_pte_fast(pt_entry_t *ptep, pt_entry_t pte) in write_pte_fast() argument 630 if (((uintptr_t)ptep) & 0x1f) { in write_pte_fast() 632 __func__, ptep, (void*)pte); in write_pte_fast() 640 *ptep = pte; in write_pte_fast() 641 *(ptep + 1) = pte; in write_pte_fast() [all …]
|
| /xnu-8019.80.24/osfmk/arm64/ |
| H A D | arm_vm_init.c | 591 pt_entry_t * ptep = NULL; in arm_vm_map() local 628 ptep = ttp + ((vaddr & ARM_TT_L3_INDEX_MASK) >> ARM_TT_L3_SHIFT); in arm_vm_map() 629 cpte = *ptep; in arm_vm_map() 642 *ptep = pte; in arm_vm_map() 692 pt_entry_t * ptep = NULL; in arm_vm_kernel_pte() local 726 ptep = ttp + ((vaddr & ARM_TT_L3_INDEX_MASK) >> ARM_TT_L3_SHIFT); in arm_vm_kernel_pte() 727 pte = *ptep; in arm_vm_kernel_pte() 827 pt_entry_t *ptep = NULL; in arm_replace_identity_map() local 845 ptep = &l3_ptp_virt[L3_TABLE_INDEX(paddr)]; in arm_replace_identity_map() 858 *ptep = (paddr & ARM_PTE_MASK) | in arm_replace_identity_map()
|