/linux/arch/riscv/include/asm/ |
H A D | pgtable.h | 156 pmd_t *(*get_pmd_virt)(phys_addr_t pa); 210 static inline int pmd_present(pmd_t pmd) in pmd_present() 221 static inline int pmd_present(pmd_t pmd) in pmd_present() 227 static inline int pmd_none(pmd_t pmd) in pmd_none() 232 static inline int pmd_bad(pmd_t pmd) in pmd_bad() 238 static inline bool pmd_leaf(pmd_t pmd) in pmd_leaf() 243 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) in set_pmd() 248 static inline void pmd_clear(pmd_t *pmdp) in pmd_clear() 267 static inline struct page *pmd_page(pmd_t pmd) in pmd_page() 272 static inline unsigned long pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() [all …]
|
/linux/mm/ |
H A D | pgtable-generic.c | 52 void pmd_clear_bad(pmd_t *pmd) in pmd_clear_bad() 110 unsigned long address, pmd_t *pmdp, in pmdp_set_access_flags() 111 pmd_t entry, int dirty) in pmdp_set_access_flags() 125 unsigned long address, pmd_t *pmdp) in pmdp_clear_flush_young() 137 pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, unsigned long address, in pmdp_huge_clear_flush() 138 pmd_t *pmdp) in pmdp_huge_clear_flush() 140 pmd_t pmd; in pmdp_huge_clear_flush() 165 void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, in pgtable_trans_huge_deposit() 181 pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) in pgtable_trans_huge_withdraw() 198 pmd_t pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, in pmdp_invalidate() [all …]
|
/linux/arch/powerpc/include/asm/book3s/64/ |
H A D | hash-4k.h | 37 #define H_PMD_TABLE_SIZE (sizeof(pmd_t) << H_PMD_INDEX_SIZE) 114 static inline char *get_hpte_slot_array(pmd_t *pmdp) in get_hpte_slot_array() 139 static inline int hash__pmd_trans_huge(pmd_t pmd) in hash__pmd_trans_huge() 144 static inline pmd_t hash__pmd_mkhuge(pmd_t pmd) in hash__pmd_mkhuge() 151 unsigned long addr, pmd_t *pmdp, 153 extern pmd_t hash__pmdp_collapse_flush(struct vm_area_struct *vma, 154 unsigned long address, pmd_t *pmdp); 155 extern void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, 157 extern pgtable_t hash__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp); 158 extern pmd_t hash__pmdp_huge_get_and_clear(struct mm_struct *mm, [all …]
|
H A 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 pmd_t hash__pmd_mkhuge(pmd_t pmd) in hash__pmd_mkhuge() 272 unsigned long addr, pmd_t *pmdp, 274 extern pmd_t hash__pmdp_collapse_flush(struct vm_area_struct *vma, 275 unsigned long address, pmd_t *pmdp); 276 extern void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, 278 extern pgtable_t hash__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp); [all …]
|
H A D | radix.h | 137 #define RADIX_PMD_TABLE_SIZE (sizeof(pmd_t) << RADIX_PMD_INDEX_SIZE) 238 static inline int radix__pmd_bad(pmd_t pmd) in radix__pmd_bad() 243 static inline int radix__pmd_same(pmd_t pmd_a, pmd_t pmd_b) in radix__pmd_same() 265 static inline int radix__pmd_trans_huge(pmd_t pmd) in radix__pmd_trans_huge() 270 static inline pmd_t radix__pmd_mkhuge(pmd_t pmd) in radix__pmd_mkhuge() 286 pmd_t *pmdp, unsigned long clr, 291 extern pmd_t radix__pmdp_collapse_flush(struct vm_area_struct *vma, 292 unsigned long address, pmd_t *pmdp); 293 extern void radix__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, 295 extern pgtable_t radix__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp); [all …]
|
H A D | pgtable.h | 267 static inline bool pmd_leaf(pmd_t pmd) in pmd_leaf() 279 static inline unsigned long pmd_leaf_size(pmd_t pmd) in pmd_leaf_size() 807 static inline void pmd_clear(pmd_t *pmdp) in pmd_clear() 819 static inline int pmd_none(pmd_t pmd) in pmd_none() 824 static inline int pmd_present(pmd_t pmd) in pmd_present() 838 static inline int pmd_is_serializing(pmd_t pmd) in pmd_is_serializing() 855 static inline int pmd_bad(pmd_t pmd) in pmd_bad() 885 extern struct page *pmd_page(pmd_t pmd); 987 static inline pmd_t *pud_pgtable(pud_t pud) in pud_pgtable() 989 return (pmd_t *)__va(pud_val(pud) & ~PUD_MASKED_BITS); in pud_pgtable() [all …]
|
H A D | pgalloc.h | 19 extern pmd_t *pmd_fragment_alloc(struct mm_struct *, unsigned long); 131 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() 142 static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long addr) in pmd_alloc_one() 147 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() 152 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() 158 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() 164 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate()
|
/linux/include/asm-generic/ |
H A 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()
|
H A D | pgtable-nopmd.h | 18 typedef struct { pud_t pud; } pmd_t; typedef 44 #define set_pud(pudptr, pudval) set_pmd((pmd_t *)(pudptr), (pmd_t) { pudval }) 46 static inline pmd_t * pmd_offset(pud_t * pud, unsigned long address) in pmd_offset() 48 return (pmd_t *)pud; in pmd_offset() 53 #define __pmd(x) ((pmd_t) { __pud(x) } ) 55 #define pud_page(pud) (pmd_page((pmd_t){ pud })) 56 #define pud_pgtable(pud) ((pmd_t *)(pmd_page_vaddr((pmd_t){ pud }))) 63 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free()
|
/linux/arch/mips/include/asm/ |
H A D | pgtable.h | 67 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() 247 #define PMD_T_LOG2 (__builtin_ffs(sizeof(pmd_t)) - 1) 413 static inline int pmd_write(pmd_t pmd) 418 static inline struct page *pmd_page(pmd_t pmd) 601 unsigned long address, pmd_t *pmdp) 628 static inline int pmd_trans_huge(pmd_t pmd) 633 static inline pmd_t pmd_mkhuge(pmd_t pmd) 641 pmd_t *pmdp, pmd_t pmd); 643 static inline pmd_t pmd_wrprotect(pmd_t pmd) 649 static inline pmd_t pmd_mkwrite_novma(pmd_t pmd) [all …]
|
/linux/include/linux/ |
H A D | page_table_check.h | 18 void __page_table_check_pmd_clear(struct mm_struct *mm, pmd_t pmd); 22 void __page_table_check_pmd_set(struct mm_struct *mm, pmd_t *pmdp, pmd_t pmd); 26 pmd_t pmd); 52 static inline void page_table_check_pmd_clear(struct mm_struct *mm, pmd_t pmd) in page_table_check_pmd_clear() 77 static inline void page_table_check_pmd_set(struct mm_struct *mm, pmd_t *pmdp, in page_table_check_pmd_set() 78 pmd_t pmd) in page_table_check_pmd_set() 97 pmd_t pmd) in page_table_check_pte_clear_range() 119 static inline void page_table_check_pmd_clear(struct mm_struct *mm, pmd_t pmd) in page_table_check_pmd_clear() 132 static inline void page_table_check_pmd_set(struct mm_struct *mm, pmd_t *pmdp, in page_table_check_pmd_set() 133 pmd_t pmd) in page_table_check_pmd_set() [all …]
|
H A D | huge_mm.h | 12 pmd_t *dst_pmd, pmd_t *src_pmd, unsigned long addr, 29 pmd_t *pmd, unsigned long addr, unsigned long next); 30 int zap_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, pmd_t *pmd, 35 unsigned long new_addr, pmd_t *old_pmd, pmd_t *new_pmd); 37 pmd_t *pmd, unsigned long addr, pgprot_t newprot, 361 void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, 366 pmd_t *____pmd = (__pmd); \ 406 spinlock_t *__pmd_trans_huge_lock(pmd_t *pmd, struct vm_area_struct *vma); 409 static inline int is_swap_pmd(pmd_t pmd) in is_swap_pmd() 415 static inline spinlock_t *pmd_trans_huge_lock(pmd_t *pmd, in pmd_trans_huge_lock() [all …]
|
/linux/arch/x86/mm/ |
H A D | pgtable.c | 61 void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd) in ___pmd_free_tlb() 191 void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) in pud_populate() 216 static void free_pmds(struct mm_struct *mm, pmd_t *pmds[], int count) in free_pmds() 231 static int preallocate_pmds(struct mm_struct *mm, pmd_t *pmds[], int count) in preallocate_pmds() 242 pmd_t *pmd = NULL; in preallocate_pmds() 279 pmd_t *pmd = (pmd_t *)pgd_page_vaddr(pgd); in mop_up_one_pmd() 308 static void pgd_prepopulate_pmd(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmds[]) in pgd_prepopulate_pmd() 318 pmd_t *pmd = pmds[i]; in pgd_prepopulate_pmd() 321 memcpy(pmd, (pmd_t *)pgd_page_vaddr(swapper_pg_dir[i]), in pgd_prepopulate_pmd() 322 sizeof(pmd_t) * PTRS_PER_PMD); in pgd_prepopulate_pmd() [all …]
|
/linux/arch/sparc/include/asm/ |
H A D | pgtable_64.h | 231 static inline pmd_t pfn_pmd(unsigned long page_nr, pgprot_t pgprot) in pfn_pmd() 321 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() 430 static inline bool is_hugetlb_pmd(pmd_t pmd) in is_hugetlb_pmd() 441 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() 684 static inline bool pmd_leaf(pmd_t pmd) in pmd_leaf() 691 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() 699 static inline unsigned long pmd_write(pmd_t pmd) in pmd_write() 710 static inline unsigned long pmd_dirty(pmd_t pmd) in pmd_dirty() 718 static inline unsigned long pmd_young(pmd_t pmd) in pmd_young() 725 static inline unsigned long pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() [all …]
|
/linux/arch/powerpc/include/asm/ |
H A 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/arch/riscv/mm/ |
H A D | pgtable.c | 90 pmd_t *pmd = pud_pgtable(pudp_get(pud)); in pud_free_pmd_page() 110 int pmd_set_huge(pmd_t *pmd, phys_addr_t phys, pgprot_t prot) in pmd_set_huge() 112 pmd_t new_pmd = pfn_pmd(__phys_to_pfn(phys), prot); in pmd_set_huge() 118 int pmd_clear_huge(pmd_t *pmd) in pmd_clear_huge() 126 int pmd_free_pte_page(pmd_t *pmd, unsigned long addr) in pmd_free_pte_page() 139 pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, in pmdp_collapse_flush() 140 unsigned long address, pmd_t *pmdp) in pmdp_collapse_flush() 142 pmd_t pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); in pmdp_collapse_flush()
|
/linux/arch/arc/include/asm/ |
H A D | hugepage.h | 20 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() 25 static inline pmd_t pte_pmd(pte_t pte) in pte_pmd() 49 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() 59 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() 65 pmd_t *pmd);
|
/linux/arch/alpha/include/asm/ |
H A D | pgtable.h | 136 extern pmd_t * __bad_pagetable(void); 209 extern inline void pmd_set(pmd_t * pmdp, pte_t * ptep) in pmd_set() 212 extern inline void pud_set(pud_t * pudp, pmd_t * pmdp) in pud_set() 217 pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() 226 extern inline pmd_t *pud_pgtable(pud_t pgd) in pud_pgtable() 228 return (pmd_t *)(PAGE_OFFSET + ((pud_val(pgd) & _PFN_MASK) >> (32-PAGE_SHIFT))); in pud_pgtable() 238 extern inline int pmd_none(pmd_t pmd) { return !pmd_val(pmd); } in pmd_none() 239 extern inline int pmd_bad(pmd_t pmd) { return (pmd_val(pmd) & ~_PFN_MASK) != _PAGE_TABLE; } in pmd_bad() 240 extern inline int pmd_present(pmd_t pmd) { return pmd_val(pmd) & _PAGE_VALID; } in pmd_present() 241 extern inline void pmd_clear(pmd_t * pmdp) { pmd_val(*pmdp) = 0; } in pmd_clear() [all …]
|
/linux/arch/parisc/include/asm/ |
H A D | pgalloc.h | 41 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() 47 static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address) in pmd_alloc_one() 49 pmd_t *pmd; in pmd_alloc_one() 51 pmd = (pmd_t *)__get_free_pages(GFP_PGTABLE_KERNEL, PMD_TABLE_ORDER); in pmd_alloc_one() 57 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() 64 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel()
|
/linux/arch/x86/include/asm/ |
H A D | pgtable-3level.h | 48 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) in native_set_pmd() 74 static inline void native_pmd_clear(pmd_t *pmdp) in native_pmd_clear() 108 static inline pmd_t native_pmdp_get_and_clear(pmd_t *pmdp) in native_pmdp_get_and_clear() 125 static inline pmd_t pmdp_establish(struct vm_area_struct *vma, in pmdp_establish() 126 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish() 128 pmd_t old; in pmdp_establish()
|
H A 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()
|
H A D | pgalloc.h | 65 pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() 72 pmd_t *pmd, pte_t *pte) in pmd_populate_kernel_safe() 78 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() 88 extern void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd); 90 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() 97 extern void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd); 99 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() 105 static inline void pud_populate_safe(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate_safe()
|
/linux/arch/m68k/include/asm/ |
H A 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() 92 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate()
|
/linux/arch/sh/include/asm/ |
H A D | pgalloc.h | 17 extern void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd); 18 extern pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address); 19 extern void pmd_free(struct mm_struct *mm, pmd_t *pmd); 23 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() 29 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate()
|
/linux/mm/kasan/ |
H A D | init.c | 56 pmd_t kasan_early_shadow_pmd[MAX_PTRS_PER_PMD] __page_aligned_bss; 70 static inline bool kasan_pte_table(pmd_t pmd) in kasan_pte_table() 92 static void __ref zero_pte_populate(pmd_t *pmd, unsigned long addr, in zero_pte_populate() 112 pmd_t *pmd = pmd_offset(pud, addr); 153 pmd_t *pmd; in zero_pud_populate() 164 pmd_t *p; in zero_pud_populate() 192 pmd_t *pmd; in pud_init() 244 pmd_t *pmd; in kasan_populate_early_shadow() 286 static void kasan_free_pte(pte_t *pte_start, pmd_t *pmd) in kasan_populate_early_shadow() 301 static void kasan_free_pmd(pmd_t *pmd_star in kasan_free_pte() [all...] |