| /linux-6.15/arch/mips/include/asm/ |
| H A D | pgtable.h | 113 # define pte_none(pte) (!(((pte).pte_low | (pte).pte_high) & ~_PAGE_GLOBAL)) argument 116 #define pte_present(pte) ((pte).pte_low & _PAGE_PRESENT) argument 117 #define pte_no_exec(pte) ((pte).pte_low & _PAGE_NO_EXEC) argument 162 #define pte_none(pte) (!(pte_val(pte) & ~_PAGE_GLOBAL)) argument 163 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument 164 #define pte_no_exec(pte) (pte_val(pte) & _PAGE_NO_EXEC) argument 227 pte = __pte(pte_val(pte) + (1UL << PFN_PTE_SHIFT)); 270 return pte; 281 return pte; 301 return pte; [all …]
|
| /linux-6.15/arch/m68k/include/asm/ |
| H A D | mcf_pgtable.h | 108 return pte; in pte_modify() 137 #define pte_page(pte) virt_to_page(__pte_page(pte)) argument 186 return pte; in pte_wrprotect() 192 return pte; in pte_rdprotect() 198 return pte; in pte_exprotect() 204 return pte; in pte_mkclean() 210 return pte; in pte_mkold() 216 return pte; in pte_mkwrite_novma() 222 return pte; in pte_mkread() 245 pte_val(pte) |= 0x80 | (pte_val(pte) & ~0x40); in pte_mknocache() [all …]
|
| H A D | sun3_pgtable.h | 88 return pte; in pte_modify() 113 #define pte_page(pte) virt_to_page(__pte_page(pte)) argument 144 static inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) &= ~SUN3_PAGE_WRITEABLE; return pte; } in pte_wrprotect() argument 145 static inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~SUN3_PAGE_MODIFIED; return pte; } in pte_mkclean() argument 146 static inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~SUN3_PAGE_ACCESSED; return pte; } in pte_mkold() argument 147 static inline pte_t pte_mkwrite_novma(pte_t pte){ pte_val(pte) |= SUN3_PAGE_WRITEABLE; return pte; } in pte_mkwrite_novma() argument 148 static inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= SUN3_PAGE_MODIFIED; return pte; } in pte_mkdirty() argument 149 static inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= SUN3_PAGE_ACCESSED; return pte; } in pte_mkyoung() argument 150 static inline pte_t pte_mknocache(pte_t pte) { pte_val(pte) |= SUN3_PAGE_NOCACHE; return pte; } in pte_mknocache() argument 186 return pte; in pte_swp_mkexclusive() [all …]
|
| H A D | motorola_pgtable.h | 93 return pte; in pte_modify() 111 #define pte_none(pte) (!pte_val(pte)) argument 116 #define pte_page(pte) virt_to_page(__va(pte_val(pte))) argument 117 #define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT) argument 156 static inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) |= _PAGE_RONLY; return pte; } in pte_wrprotect() argument 157 static inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~_PAGE_DIRTY; return pte; } in pte_mkclean() argument 158 static inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; } in pte_mkold() argument 159 static inline pte_t pte_mkwrite_novma(pte_t pte){ pte_val(pte) &= ~_PAGE_RONLY; return pte; } in pte_mkwrite_novma() argument 160 static inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= _PAGE_DIRTY; return pte; } in pte_mkdirty() argument 161 static inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= _PAGE_ACCESSED; return pte; } in pte_mkyoung() argument [all …]
|
| /linux-6.15/arch/hexagon/include/asm/ |
| H A D | pgtable.h | 251 return pte; in pte_mkold() 258 return pte; in pte_mkyoung() 265 return pte; in pte_mkclean() 272 return pte; in pte_mkdirty() 292 return pte; in pte_modify() 299 return pte; in pte_wrprotect() 306 return pte; in pte_mkwrite_novma() 313 return pte; in pte_mkexec() 346 #define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT) argument 401 return pte; in pte_swp_mkexclusive() [all …]
|
| /linux-6.15/arch/um/include/asm/ |
| H A D | pgtable.h | 161 return(pte); in pte_mkclean() 167 return(pte); in pte_mkold() 173 return pte; in pte_wrprotect() 179 return pte; in pte_mkread() 197 return pte; in pte_mkwrite_novma() 203 return pte; in pte_mkuptodate() 251 pte = __pte(pte_val(pte) + (nr << PFN_PTE_SHIFT)); in set_ptes() 275 pte;}) 280 return pte; in pte_modify() 327 return pte; in pte_swp_mkexclusive() [all …]
|
| /linux-6.15/arch/microblaze/include/asm/ |
| H A D | pgtable.h | 222 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument 255 { pte_val(pte) &= ~_PAGE_USER; return pte; } in pte_rdprotect() 259 { pte_val(pte) &= ~_PAGE_EXEC; return pte; } in pte_exprotect() 263 { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; } in pte_mkold() 266 { pte_val(pte) |= _PAGE_USER; return pte; } in pte_mkread() 270 { pte_val(pte) |= _PAGE_RW; return pte; } in pte_mkwrite_novma() 272 { pte_val(pte) |= _PAGE_DIRTY; return pte; } in pte_mkdirty() 274 { pte_val(pte) |= _PAGE_ACCESSED; return pte; } in pte_mkyoung() 283 pte_t pte; in mk_pte_phys() local 285 return pte; in mk_pte_phys() [all …]
|
| /linux-6.15/arch/arm/include/asm/ |
| H A D | pgtable.h | 60 #define pte_ERROR(pte) __pte_error(__FILE__, __LINE__, pte) argument 170 #define pte_page(pte) pfn_to_page(pte_pfn(pte)) argument 177 #define pte_isclear(pte, val) (!(pte_val(pte) & (val))) argument 179 #define pte_none(pte) (!pte_val(pte)) argument 181 #define pte_valid(pte) (pte_isset((pte), L_PTE_VALID)) argument 182 #define pte_accessible(mm, pte) (mm_tlb_flush_pending(mm) ? pte_present(pte) : pte_valid(pte)) argument 186 #define pte_exec(pte) (pte_isclear((pte), L_PTE_XN)) argument 189 (pte_valid(pte) && pte_isset((pte), L_PTE_USER) && pte_young(pte)) 220 return pte; in clear_pte_bit() 226 return pte; in set_pte_bit() [all …]
|
| /linux-6.15/arch/powerpc/kvm/ |
| H A D | book3s_mmu_hpte.c | 66 index = kvmppc_mmu_hash_pte(pte->pte.eaddr); in kvmppc_mmu_hpte_cache_map() 70 index = kvmppc_mmu_hash_pte_long(pte->pte.eaddr); in kvmppc_mmu_hpte_cache_map() 75 index = kvmppc_mmu_hash_vpte(pte->pte.vpage); in kvmppc_mmu_hpte_cache_map() 79 index = kvmppc_mmu_hash_vpte_long(pte->pte.vpage); in kvmppc_mmu_hpte_cache_map() 85 index = kvmppc_mmu_hash_vpte_64k(pte->pte.vpage); in kvmppc_mmu_hpte_cache_map() 157 if ((pte->pte.eaddr & ~0xfffUL) == guest_ea) in kvmppc_mmu_pte_flush_page() 219 if ((pte->pte.vpage & vp_mask) == guest_vp) in kvmppc_mmu_pte_vflush_short() 241 if ((pte->pte.vpage & vp_mask) == guest_vp) in kvmppc_mmu_pte_vflush_64k() 263 if ((pte->pte.vpage & vp_mask) == guest_vp) in kvmppc_mmu_pte_vflush_long() 306 if ((pte->pte.raddr >= pa_start) && in kvmppc_mmu_pte_pflush() [all …]
|
| /linux-6.15/arch/openrisc/include/asm/ |
| H A D | pgtable.h | 226 return pte; in pte_wrprotect() 232 return pte; in pte_rdprotect() 238 return pte; in pte_exprotect() 244 return pte; in pte_mkclean() 250 return pte; in pte_mkold() 256 return pte; in pte_mkwrite_novma() 262 return pte; in pte_mkread() 268 return pte; in pte_mkexec() 274 return pte; in pte_mkdirty() 296 pte_t pte; in __mk_pte() local [all …]
|
| /linux-6.15/arch/nios2/include/asm/ |
| H A D | pgtable.h | 120 return pte; in pte_wrprotect() 126 return pte; in pte_mkclean() 132 return pte; in pte_mkold() 138 return pte; in pte_mkwrite_novma() 144 return pte; in pte_mkdirty() 150 return pte; in pte_mkyoung() 158 return pte; in pte_modify() 172 #define pte_pfn(pte) (pte_val(pte) & 0xfffff) argument 174 #define pte_page(pte) (pfn_to_page(pte_pfn(pte))) argument 276 return pte; in pte_swp_mkexclusive() [all …]
|
| /linux-6.15/arch/arm64/include/asm/ |
| H A D | pgtable.h | 128 #define pte_hw_dirty(pte) (pte_write(pte) && !pte_rdonly(pte)) argument 130 #define pte_dirty(pte) (pte_sw_dirty(pte) || pte_hw_dirty(pte)) argument 144 #define pte_valid_cont(pte) (pte_valid(pte) && pte_cont(pte)) argument 1201 pte = pte_mkdirty(pte); in pte_modify() 1264 pte = pte_mkold(pte); in __ptep_test_and_clear_young() 1338 pte = pte_mkdirty(pte); in __get_and_clear_full_ptes() 1340 pte = pte_mkyoung(pte); in __get_and_clear_full_ptes() 1366 pte = pte_wrprotect(pte); in ___ptep_set_wrprotect() 1401 pte = pte_mkold(pte); in __clear_young_dirty_pte() 1403 pte = pte_mkclean(pte); in __clear_young_dirty_pte() [all …]
|
| /linux-6.15/arch/powerpc/include/asm/nohash/ |
| H A D | pgtable.h | 192 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty() argument 193 static inline int pte_special(pte_t pte) { return pte_val(pte) & _PAGE_SPECIAL; } in pte_special() argument 194 static inline int pte_none(pte_t pte) { return (pte_val(pte) & ~_PTE_NONE_MASK) == 0; } in pte_none() argument 196 static inline bool pte_ci(pte_t pte) { return pte_val(pte) & _PAGE_NO_CACHE; } in pte_ci() argument 197 static inline bool pte_exec(pte_t pte) { return pte_val(pte) & _PAGE_EXEC; } in pte_exec() argument 237 if (!pte_present(pte) || !pte_read(pte)) in pte_access_permitted() 240 if (write && !pte_write(pte)) in pte_access_permitted() 280 return __pte(pte_val(pte)); in pte_mkhuge() 323 : "r" (pte) : "memory"); in __set_pte_at() 330 ptep->pte3 = ptep->pte2 = ptep->pte1 = ptep->pte = pte_val(pte); in __set_pte_at() [all …]
|
| /linux-6.15/arch/csky/include/asm/ |
| H A D | pgtable.h | 36 #define pte_none(pte) (!(pte_val(pte) & ~_PAGE_GLOBAL)) argument 37 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument 87 *p = pte; in set_pte() 164 return pte; in pte_wrprotect() 170 return pte; in pte_mkclean() 176 return pte; in pte_mkold() 184 return pte; in pte_mkwrite_novma() 192 return pte; in pte_mkdirty() 200 return pte; in pte_mkyoung() 211 return pte; in pte_swp_mkexclusive() [all …]
|
| /linux-6.15/arch/alpha/include/asm/ |
| H A D | pgtable.h | 192 #define pte_pfn(pte) (pte_val(pte) >> PFN_PTE_SHIFT) argument 194 #define pte_page(pte) pfn_to_page(pte_pfn(pte)) argument 204 { pte_t pte; pte_val(pte) = (PHYS_TWIDDLE(physpfn) << 32) | pgprot_val(pgprot); return pte; } in pfn_pte() local 207 { pte_val(pte) = (pte_val(pte) & _PAGE_CHG_MASK) | pgprot_val(newprot); return pte; } in pte_modify() 256 extern inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) |= _PAGE_FOW; return pte; } in pte_wrprotect() argument 257 extern inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~(__DIRTY_BITS); return pte; } in pte_mkclean() argument 258 extern inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~(__ACCESS_BITS); return pte; } in pte_mkold() argument 259 extern inline pte_t pte_mkwrite_novma(pte_t pte){ pte_val(pte) &= ~_PAGE_FOW; return pte; } in pte_mkwrite_novma() argument 260 extern inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= __DIRTY_BITS; return pte; } in pte_mkdirty() argument 261 extern inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= __ACCESS_BITS; return pte; } in pte_mkyoung() argument [all …]
|
| /linux-6.15/arch/sparc/include/asm/ |
| H A D | pgtable_64.h | 325 pte = pte_modify(pte, newprot); in pmd_modify() 445 pte = pte_mkhuge(pte); in pmd_mkhuge() 494 return pte_write(pte) ? __pte_mkhwwrite(pte) : pte; in pte_mkdirty() 537 return pte_dirty(pte) ? __pte_mkhwwrite(pte) : pte; in pte_mkwrite_novma() 736 pte = pte_mkold(pte); in pmd_mkold() 745 pte = pte_wrprotect(pte); in pmd_wrprotect() 754 pte = pte_mkdirty(pte); in pmd_mkdirty() 763 pte = pte_mkclean(pte); in pmd_mkclean() 772 pte = pte_mkyoung(pte); in pmd_mkyoung() 781 pte = pte_mkwrite_novma(pte); in pmd_mkwrite_novma() [all …]
|
| /linux-6.15/arch/xtensa/include/asm/ |
| H A D | pgtable.h | 256 { pte_val(pte) &= ~(_PAGE_WRITABLE | _PAGE_HW_WRITE); return pte; } in pte_wrprotect() 258 { pte_val(pte) &= ~(_PAGE_DIRTY | _PAGE_HW_WRITE); return pte; } in pte_mkclean() 260 { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; } in pte_mkold() 262 { pte_val(pte) |= _PAGE_DIRTY; return pte; } in pte_mkdirty() 264 { pte_val(pte) |= _PAGE_ACCESSED; return pte; } in pte_mkyoung() 266 { pte_val(pte) |= _PAGE_WRITABLE; return pte; } in pte_mkwrite_novma() 278 #define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT) argument 334 return pte; in ptep_get_and_clear() 355 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument 366 return pte; in pte_swp_mkexclusive() [all …]
|
| /linux-6.15/arch/powerpc/include/asm/book3s/32/ |
| H A D | pgtable.h | 365 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) >> 3 }) argument 394 static inline int pte_dirty(pte_t pte) { return !!(pte_val(pte) & _PAGE_DIRTY); } in pte_dirty() argument 395 static inline int pte_young(pte_t pte) { return !!(pte_val(pte) & _PAGE_ACCESSED); } in pte_young() argument 396 static inline int pte_special(pte_t pte) { return !!(pte_val(pte) & _PAGE_SPECIAL); } in pte_special() argument 397 static inline int pte_none(pte_t pte) { return (pte_val(pte) & ~_PTE_NONE_MASK) == 0; } in pte_none() argument 398 static inline bool pte_exec(pte_t pte) { return pte_val(pte) & _PAGE_EXEC; } in pte_exec() argument 431 if (!pte_present(pte) || !pte_read(pte)) in pte_access_permitted() 434 if (write && !pte_write(pte)) in pte_access_permitted() 480 return pte; in pte_mkpte() 508 return pte; in pte_mkhuge() [all …]
|
| /linux-6.15/arch/powerpc/mm/ |
| H A D | pgtable.c | 52 if (pte_present(pte) && !pte_special(pte)) { in pte_looks_normal() 84 pte = __pte(pte_val(pte) & ~_PAGE_HPTEFLAGS); in set_pte_filter_hash() 95 return pte; in set_pte_filter_hash() 115 return pte; in set_pte_filter() 121 if (!pte_exec(pte) || !pte_looks_normal(pte, addr)) in set_pte_filter() 122 return pte; in set_pte_filter() 201 pte = set_pte_filter(pte, addr); in set_ptes() 223 pte = pte_next_pfn(pte); in set_ptes() 273 pte = set_access_flags_filter(pte, vma, dirty); in huge_ptep_set_access_flags() 328 pte = set_pte_filter(pte, addr); in set_huge_pte_at() [all …]
|
| /linux-6.15/drivers/iommu/intel/ |
| H A D | pasid.c | 278 clflush_cache_range(pte, sizeof(*pte)); in intel_pasid_tear_down_entry() 301 clflush_cache_range(pte, sizeof(*pte)); in pasid_flush_caches() 325 clflush_cache_range(pte, sizeof(*pte)); in intel_pasid_flush_present() 394 if (!pte) { in intel_pasid_setup_first_level() 436 if (!pte) { in intel_pasid_replace_first_level() 505 if (!pte) { in intel_pasid_setup_second_level() 554 if (!pte) { in intel_pasid_replace_second_level() 588 if (!pte) { in intel_pasid_setup_dirty_tracking() 619 clflush_cache_range(pte, sizeof(*pte)); in intel_pasid_setup_dirty_tracking() 669 if (!pte) { in intel_pasid_setup_pass_through() [all …]
|
| /linux-6.15/include/asm-generic/ |
| H A D | hugetlb.h | 15 return pte_write(pte); in huge_pte_write() 20 return pte_dirty(pte); in huge_pte_dirty() 25 return pte_mkwrite_novma(pte); in huge_pte_mkwrite() 31 return pte_wrprotect(pte); in huge_pte_wrprotect() 37 return pte_mkdirty(pte); in huge_pte_mkdirty() 42 return pte_modify(pte, newprot); in huge_pte_modify() 55 return pte_clear_uffd_wp(pte); in huge_pte_clear_uffd_wp() 62 return pte_uffd_wp(pte); in huge_pte_uffd_wp() 110 return pte_none(pte); in huge_pte_none() 118 return huge_pte_none(pte) || is_pte_marker(pte); in huge_pte_none_mostly() [all …]
|
| /linux-6.15/arch/parisc/include/asm/ |
| H A D | pgtable.h | 320 static inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~_PAGE_DIRTY; return pte; } in pte_mkclean() argument 321 static inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; } in pte_mkold() argument 322 static inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) &= ~_PAGE_WRITE; return pte; } in pte_wrprotect() argument 323 static inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= _PAGE_DIRTY; return pte; } in pte_mkdirty() argument 324 static inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= _PAGE_ACCESSED; return pte; } in pte_mkyoung() argument 325 static inline pte_t pte_mkwrite_novma(pte_t pte) { pte_val(pte) |= _PAGE_WRITE; return pte; } in pte_mkwrite_novma() argument 326 static inline pte_t pte_mkspecial(pte_t pte) { pte_val(pte) |= _PAGE_SPECIAL; return pte; } in pte_mkspecial() argument 337 #define pte_mkhuge(pte) (pte) argument 364 { pte_val(pte) = (pte_val(pte) & _PAGE_CHG_MASK) | pgprot_val(newprot); return pte; } in pte_modify() 370 #define pte_page(pte) (pfn_to_page(pte_pfn(pte))) argument [all …]
|
| /linux-6.15/drivers/iommu/amd/ |
| H A D | io_pgtable_v2.c | 66 u64 pte; in set_pte_attr() local 79 return pte; in set_pte_attr() 149 cmpxchg64(pte, *pte, 0ULL); in v2_alloc_pte() 171 pte = &pte[PM_LEVEL_INDEX(level, iova)]; in v2_alloc_pte() 180 cmpxchg64(pte, *pte, 0ULL); in v2_alloc_pte() 197 u64 *pte; in fetch_pte() local 211 pte = get_pgtable_pte(*pte); in fetch_pte() 212 pte = &pte[PM_LEVEL_INDEX(level - 1, iova)]; in fetch_pte() 238 u64 *pte; in iommu_v2_map_pages() local 294 u64 *pte; in iommu_v2_unmap_pages() local [all …]
|
| H A D | io_pgtable.c | 122 u64 *pte; in increase_address_space() local 125 if (!pte) in increase_address_space() 144 pte = NULL; in increase_address_space() 243 pte = &pte[PM_LEVEL_INDEX(level, address)]; in alloc_pte() 258 u64 *pte; in fetch_pte() local 287 pte = IOMMU_PTE_PAGE(*pte); in fetch_pte() 288 pte = &pte[PM_LEVEL_INDEX(level, address)]; in fetch_pte() 297 pte = first_pte_l7(pte, page_size, NULL); in fetch_pte() 354 free_clear_pte(&pte[i], pte[i], &freelist); in iommu_v1_map_pages() 411 u64 *pte; in iommu_v1_unmap_pages() local [all …]
|
| /linux-6.15/arch/loongarch/include/asm/ |
| H A D | pgtable.h | 295 { pte_t pte; pte_val(pte) = ((type & 0x7f) << 16) | (offset << 24); return pte; } in mk_swap_pte() local 313 return pte; in pte_swp_mkexclusive() 319 return pte; in pte_swp_clear_exclusive() 363 return pte; in pte_mkold() 369 return pte; in pte_mkyoung() 375 return pte; in pte_mkclean() 383 return pte; in pte_mkdirty() 391 return pte; in pte_mkwrite_novma() 397 return pte; in pte_wrprotect() 410 static inline pte_t pte_mkspecial(pte_t pte) { pte_val(pte) |= _PAGE_SPECIAL; return pte; } in pte_mkspecial() argument [all …]
|