/Linux-v5.10/include/linux/ |
D | pgtable.h | 70 static inline pte_t *pte_offset_kernel(pmd_t *pmd, unsigned long address) in pte_offset_kernel() 89 static inline pmd_t *pmd_offset(pud_t *pud, unsigned long address) in pmd_offset() 91 return (pmd_t *)pud_page_vaddr(*pud) + pmd_index(address); in pmd_offset() 131 static inline pmd_t *pmd_off(struct mm_struct *mm, unsigned long va) in pmd_off() 136 static inline pmd_t *pmd_off_k(unsigned long va) in pmd_off_k() 143 pmd_t *pmd = pmd_off_k(vaddr); in virt_to_kpte() 157 unsigned long address, pmd_t *pmdp, 158 pmd_t entry, int dirty); 164 unsigned long address, pmd_t *pmdp, in pmdp_set_access_flags() 165 pmd_t entry, int dirty) in pmdp_set_access_flags() [all …]
|
D | huge_mm.h | 12 pmd_t *dst_pmd, pmd_t *src_pmd, unsigned long addr, 14 extern void huge_pmd_set_accessed(struct vm_fault *vmf, pmd_t orig_pmd); 27 extern vm_fault_t do_huge_pmd_wp_page(struct vm_fault *vmf, pmd_t orig_pmd); 30 pmd_t *pmd, 34 pmd_t *pmd, unsigned long addr, unsigned long next); 37 pmd_t *pmd, unsigned long addr); 43 pmd_t *old_pmd, pmd_t *new_pmd); 44 extern int change_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, 198 void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, 203 pmd_t *____pmd = (__pmd); \ [all …]
|
/Linux-v5.10/arch/powerpc/include/asm/book3s/64/ |
D | hash-4k.h | 37 #define H_PMD_TABLE_SIZE (sizeof(pmd_t) << H_PMD_INDEX_SIZE) 109 static inline char *get_hpte_slot_array(pmd_t *pmdp) in get_hpte_slot_array() 134 static inline int hash__pmd_trans_huge(pmd_t pmd) in hash__pmd_trans_huge() 139 static inline int hash__pmd_same(pmd_t pmd_a, pmd_t pmd_b) in hash__pmd_same() 145 static inline pmd_t hash__pmd_mkhuge(pmd_t pmd) in hash__pmd_mkhuge() 152 unsigned long addr, pmd_t *pmdp, 154 extern pmd_t hash__pmdp_collapse_flush(struct vm_area_struct *vma, 155 unsigned long address, pmd_t *pmdp); 156 extern void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, 158 extern pgtable_t hash__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp); [all …]
|
D | radix.h | 131 #define RADIX_PMD_TABLE_SIZE (sizeof(pmd_t) << RADIX_PMD_INDEX_SIZE) 230 static inline int radix__pmd_bad(pmd_t pmd) in radix__pmd_bad() 235 static inline int radix__pmd_same(pmd_t pmd_a, pmd_t pmd_b) in radix__pmd_same() 253 static inline int radix__pmd_trans_huge(pmd_t pmd) in radix__pmd_trans_huge() 258 static inline pmd_t radix__pmd_mkhuge(pmd_t pmd) in radix__pmd_mkhuge() 264 pmd_t *pmdp, unsigned long clr, 266 extern pmd_t radix__pmdp_collapse_flush(struct vm_area_struct *vma, 267 unsigned long address, pmd_t *pmdp); 268 extern void radix__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, 270 extern pgtable_t radix__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp); [all …]
|
D | hash-64k.h | 188 #define H_PMD_TABLE_SIZE ((sizeof(pmd_t) << PMD_INDEX_SIZE) + \ 191 #define H_PMD_TABLE_SIZE (sizeof(pmd_t) << PMD_INDEX_SIZE) 202 static inline char *get_hpte_slot_array(pmd_t *pmdp) in get_hpte_slot_array() 260 static inline int hash__pmd_trans_huge(pmd_t pmd) in hash__pmd_trans_huge() 266 static inline int hash__pmd_same(pmd_t pmd_a, pmd_t pmd_b) in hash__pmd_same() 271 static inline pmd_t hash__pmd_mkhuge(pmd_t pmd) in hash__pmd_mkhuge() 277 unsigned long addr, pmd_t *pmdp, 279 extern pmd_t hash__pmdp_collapse_flush(struct vm_area_struct *vma, 280 unsigned long address, pmd_t *pmdp); 281 extern void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, [all …]
|
D | pgtable.h | 877 static inline void pmd_clear(pmd_t *pmdp) in pmd_clear() 889 static inline int pmd_none(pmd_t pmd) in pmd_none() 894 static inline int pmd_present(pmd_t pmd) in pmd_present() 908 static inline int pmd_is_serializing(pmd_t pmd) in pmd_is_serializing() 925 static inline int pmd_bad(pmd_t pmd) in pmd_bad() 955 extern struct page *pmd_page(pmd_t pmd); 1074 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() 1079 static inline pmd_t pte_pmd(pte_t pte) in pte_pmd() 1084 static inline pte_t *pmdp_ptep(pmd_t *pmd) in pmdp_ptep() 1113 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() [all …]
|
/Linux-v5.10/arch/x86/include/asm/ |
D | pgtable.h | 163 static inline int pmd_dirty(pmd_t pmd) in pmd_dirty() 168 static inline int pmd_young(pmd_t pmd) in pmd_young() 219 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() 253 static inline int pmd_large(pmd_t pte) in pmd_large() 260 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() 279 static inline int pmd_devmap(pmd_t pmd) in pmd_devmap() 399 static inline pmd_t pmd_set_flags(pmd_t pmd, pmdval_t set) in pmd_set_flags() 406 static inline pmd_t pmd_clear_flags(pmd_t pmd, pmdval_t clear) in pmd_clear_flags() 414 static inline int pmd_uffd_wp(pmd_t pmd) in pmd_uffd_wp() 419 static inline pmd_t pmd_mkuffd_wp(pmd_t pmd) in pmd_mkuffd_wp() [all …]
|
D | pgtable-3level.h | 75 static inline pmd_t pmd_read_atomic(pmd_t *pmdp) in pmd_read_atomic() 90 return (pmd_t) { ret }; in pmd_read_atomic() 98 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) in native_set_pmd() 124 static inline void native_pmd_clear(pmd_t *pmd) in native_pmd_clear() 170 pmd_t pmd; 174 static inline pmd_t native_pmdp_get_and_clear(pmd_t *pmdp) in native_pmdp_get_and_clear() 191 static inline pmd_t pmdp_establish(struct vm_area_struct *vma, in pmdp_establish() 192 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish() 194 pmd_t old; in pmdp_establish()
|
D | pgtable_64.h | 23 extern pmd_t level2_kernel_pgt[512]; 24 extern pmd_t level2_fixmap_pgt[512]; 25 extern pmd_t level2_ident_pgt[512]; 81 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) in native_set_pmd() 86 static inline void native_pmd_clear(pmd_t *pmd) in native_pmd_clear() 104 static inline pmd_t native_pmdp_get_and_clear(pmd_t *xp) in native_pmdp_get_and_clear() 111 pmd_t ret = *xp; in native_pmdp_get_and_clear() 239 #define __swp_entry_to_pmd(x) ((pmd_t) { .pmd = (x).val })
|
/Linux-v5.10/include/asm-generic/ |
D | pgtable_uffd.h | 10 static __always_inline int pmd_uffd_wp(pmd_t pmd) in pmd_uffd_wp() 20 static __always_inline pmd_t pmd_mkuffd_wp(pmd_t pmd) in pmd_mkuffd_wp() 30 static __always_inline pmd_t pmd_clear_uffd_wp(pmd_t pmd) in pmd_clear_uffd_wp() 50 static inline pmd_t pmd_swp_mkuffd_wp(pmd_t pmd) in pmd_swp_mkuffd_wp() 55 static inline int pmd_swp_uffd_wp(pmd_t pmd) in pmd_swp_uffd_wp() 60 static inline pmd_t pmd_swp_clear_uffd_wp(pmd_t pmd) in pmd_swp_clear_uffd_wp()
|
D | pgtable-nopmd.h | 18 typedef struct { pud_t pud; } pmd_t; typedef 42 #define set_pud(pudptr, pudval) set_pmd((pmd_t *)(pudptr), (pmd_t) { pudval }) 44 static inline pmd_t * pmd_offset(pud_t * pud, unsigned long address) in pmd_offset() 46 return (pmd_t *)pud; in pmd_offset() 51 #define __pmd(x) ((pmd_t) { __pud(x) } ) 53 #define pud_page(pud) (pmd_page((pmd_t){ pud })) 54 #define pud_page_vaddr(pud) (pmd_page_vaddr((pmd_t){ pud })) 61 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free()
|
/Linux-v5.10/arch/mips/include/asm/ |
D | pgtable.h | 261 #define PMD_T_LOG2 (__builtin_ffs(sizeof(pmd_t)) - 1) 556 unsigned long address, pmd_t *pmdp) 585 static inline int pmd_trans_huge(pmd_t pmd) 590 static inline pmd_t pmd_mkhuge(pmd_t pmd) 598 pmd_t *pmdp, pmd_t pmd); 601 static inline int pmd_write(pmd_t pmd) 606 static inline pmd_t pmd_wrprotect(pmd_t pmd) 612 static inline pmd_t pmd_mkwrite(pmd_t pmd) 621 static inline int pmd_dirty(pmd_t pmd) 626 static inline pmd_t pmd_mkclean(pmd_t pmd) [all …]
|
D | pgalloc.h | 20 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() 26 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() 40 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() 60 static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address) in pmd_alloc_one() 62 pmd_t *pmd; in pmd_alloc_one() 64 pmd = (pmd_t *) __get_free_pages(GFP_KERNEL, PMD_ORDER); in pmd_alloc_one()
|
/Linux-v5.10/mm/ |
D | pgtable-generic.c | 48 void pmd_clear_bad(pmd_t *pmd) in pmd_clear_bad() 106 unsigned long address, pmd_t *pmdp, in pmdp_set_access_flags() 107 pmd_t entry, int dirty) in pmdp_set_access_flags() 121 unsigned long address, pmd_t *pmdp) in pmdp_clear_flush_young() 133 pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, unsigned long address, in pmdp_huge_clear_flush() 134 pmd_t *pmdp) in pmdp_huge_clear_flush() 136 pmd_t pmd; in pmdp_huge_clear_flush() 161 void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, in pgtable_trans_huge_deposit() 177 pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) in pgtable_trans_huge_withdraw() 194 pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, in pmdp_invalidate() [all …]
|
/Linux-v5.10/arch/s390/include/asm/ |
D | pgtable.h | 696 static inline int pmd_large(pmd_t pmd) in pmd_large() 701 static inline int pmd_bad(pmd_t pmd) in pmd_bad() 730 static inline int pmd_present(pmd_t pmd) in pmd_present() 735 static inline int pmd_none(pmd_t pmd) in pmd_none() 741 static inline int pmd_write(pmd_t pmd) in pmd_write() 752 static inline int pmd_dirty(pmd_t pmd) in pmd_dirty() 757 static inline int pmd_young(pmd_t pmd) in pmd_young() 798 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() 825 static inline int pmd_soft_dirty(pmd_t pmd) in pmd_soft_dirty() 830 static inline pmd_t pmd_mksoft_dirty(pmd_t pmd) in pmd_mksoft_dirty() [all …]
|
/Linux-v5.10/arch/powerpc/mm/book3s64/ |
D | pgtable.c | 37 pmd_t *pmdp, pmd_t entry, int dirty) in pmdp_set_access_flags() 57 unsigned long address, pmd_t *pmdp) in pmdp_test_and_clear_young() 66 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() 106 pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, in pmdp_invalidate() 107 pmd_t *pmdp) in pmdp_invalidate() 116 pmd_t pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, in pmdp_huge_get_and_clear_full() 117 unsigned long addr, pmd_t *pmdp, int full) in pmdp_huge_get_and_clear_full() 119 pmd_t pmd; in pmdp_huge_get_and_clear_full() 134 static pmd_t pmd_set_protbits(pmd_t pmd, pgprot_t pgprot) in pmd_set_protbits() 139 pmd_t pfn_pmd(unsigned long pfn, pgprot_t pgprot) in pfn_pmd() [all …]
|
D | hash_pgtable.c | 151 pmd_t *pmdp; in hash__map_kernel_page() 190 pmd_t *pmdp, unsigned long clr, in hash__pmd_hugepage_update() 222 pmd_t hash__pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, in hash__pmdp_collapse_flush() 223 pmd_t *pmdp) in hash__pmdp_collapse_flush() 225 pmd_t pmd; in hash__pmdp_collapse_flush() 266 void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, in hash__pgtable_trans_huge_deposit() 286 pgtable_t hash__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) in hash__pgtable_trans_huge_withdraw() 312 pmd_t *pmdp, unsigned long old_pmd) in hpte_do_hugepage_flush() 344 pmd_t hash__pmdp_huge_get_and_clear(struct mm_struct *mm, in hash__pmdp_huge_get_and_clear() 345 unsigned long addr, pmd_t *pmdp) in hash__pmdp_huge_get_and_clear() [all …]
|
/Linux-v5.10/arch/x86/mm/ |
D | pgtable.c | 61 void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd) in ___pmd_free_tlb() 188 void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) in pud_populate() 213 static void free_pmds(struct mm_struct *mm, pmd_t *pmds[], int count) in free_pmds() 225 static int preallocate_pmds(struct mm_struct *mm, pmd_t *pmds[], int count) in preallocate_pmds() 235 pmd_t *pmd = (pmd_t *)__get_free_page(gfp); in preallocate_pmds() 267 pmd_t *pmd = (pmd_t *)pgd_page_vaddr(pgd); in mop_up_one_pmd() 296 static void pgd_prepopulate_pmd(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmds[]) in pgd_prepopulate_pmd() 309 pmd_t *pmd = pmds[i]; in pgd_prepopulate_pmd() 312 memcpy(pmd, (pmd_t *)pgd_page_vaddr(swapper_pg_dir[i]), in pgd_prepopulate_pmd() 313 sizeof(pmd_t) * PTRS_PER_PMD); in pgd_prepopulate_pmd() [all …]
|
/Linux-v5.10/arch/arc/include/asm/ |
D | hugepage.h | 13 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() 18 static inline pmd_t pte_pmd(pte_t pte) in pte_pmd() 43 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() 53 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() 59 pmd_t *pmd); 63 extern void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, 67 extern pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp);
|
/Linux-v5.10/arch/sparc/include/asm/ |
D | pgtable_64.h | 249 static inline pmd_t pfn_pmd(unsigned long page_nr, pgprot_t pgprot) in pfn_pmd() 339 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() 413 static inline bool is_hugetlb_pmd(pmd_t pmd) in is_hugetlb_pmd() 424 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() 687 static inline unsigned long pmd_large(pmd_t pmd) in pmd_large() 694 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() 702 static inline unsigned long pmd_write(pmd_t pmd) in pmd_write() 712 static inline unsigned long pmd_dirty(pmd_t pmd) in pmd_dirty() 719 static inline unsigned long pmd_young(pmd_t pmd) in pmd_young() 726 static inline unsigned long pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() [all …]
|
/Linux-v5.10/arch/sparc/mm/ |
D | tlb.c | 145 pmd_t pmd) in tlb_batch_pmd_scan() 166 pmd_t orig, pmd_t pmd) in __set_pmd_acct() 218 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() 220 pmd_t orig = *pmdp; in set_pmd_at() 226 static inline pmd_t pmdp_establish(struct vm_area_struct *vma, in pmdp_establish() 227 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish() 229 pmd_t old; in pmdp_establish() 242 pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, in pmdp_invalidate() 243 pmd_t *pmdp) in pmdp_invalidate() 245 pmd_t old, entry; in pmdp_invalidate() [all …]
|
/Linux-v5.10/arch/powerpc/include/asm/ |
D | pgtable-be-types.h | 23 typedef struct { __be64 pmd; } pmd_t; typedef 24 #define __pmd(x) ((pmd_t) { cpu_to_be64(x) }) 25 #define __pmd_raw(x) ((pmd_t) { (x) }) 26 static inline unsigned long pmd_val(pmd_t x) in pmd_val() 31 static inline __be64 pmd_raw(pmd_t x) in pmd_raw() 93 static inline bool pmd_xchg(pmd_t *pmdp, pmd_t old, pmd_t new) in pmd_xchg()
|
/Linux-v5.10/arch/arm64/include/asm/ |
D | pgtable.h | 156 static inline pmd_t clear_pmd_bit(pmd_t pmd, pgprot_t prot) in clear_pmd_bit() 162 static inline pmd_t set_pmd_bit(pmd_t pmd, pgprot_t prot) in set_pmd_bit() 238 static inline pmd_t pmd_mkcont(pmd_t pmd) in pmd_mkcont() 357 static inline pmd_t pud_pmd(pud_t pud) in pud_pmd() 362 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() 367 static inline pmd_t pte_pmd(pte_t pte) in pte_pmd() 391 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() 399 static inline int pmd_present(pmd_t pmd) in pmd_present() 409 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() 425 static inline pmd_t pmd_mkinvalid(pmd_t pmd) in pmd_mkinvalid() [all …]
|
/Linux-v5.10/arch/m68k/include/asm/ |
D | motorola_pgalloc.h | 54 static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address) in pmd_alloc_one() 59 static inline int pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() 64 static inline int __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() 82 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() 87 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t page) in pmd_populate() 93 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate()
|
/Linux-v5.10/arch/sh/include/asm/ |
D | pgalloc.h | 16 extern void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd); 17 extern pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address); 18 extern void pmd_free(struct mm_struct *mm, pmd_t *pmd); 22 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() 28 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate()
|