/linux-master/include/asm-generic/ |
H A D | pgtable-nopmd.h | 14 * Having the pmd type consist of a pud gets the size right, and allows 15 * us to conceptually access the pud entry that this pmd is folded into 18 typedef struct { pud_t pud; } pmd_t; member in struct:__anon268 28 * into the pud entry) 30 static inline int pud_none(pud_t pud) { return 0; } argument 31 static inline int pud_bad(pud_t pud) { return 0; } argument 32 static inline int pud_present(pud_t pud) { return 1; } argument 33 static inline int pud_user(pud_t pud) { return 0; } argument 34 static inline int pud_leaf(pud_t pud) { return 0; } argument 35 static inline void pud_clear(pud_t *pud) { } argument 46 pmd_offset(pud_t * pud, unsigned long address) argument [all...] |
/linux-master/arch/mips/mm/ |
H A D | hugetlbpage.c | 29 pud_t *pud; local 34 pud = pud_alloc(mm, p4d, addr); 35 if (pud) 36 pte = (pte_t *)pmd_alloc(mm, pud, addr); 46 pud_t *pud; local 53 pud = pud_offset(p4d, addr); 54 if (pud_present(*pud)) 55 pmd = pmd_offset(pud, addr); 66 int pud_huge(pud_t pud) argument 68 return (pud_val(pud) [all...] |
/linux-master/arch/sh/mm/ |
H A D | hugetlbpage.c | 29 pud_t *pud; local 37 pud = pud_alloc(mm, p4d, addr); 38 if (pud) { 39 pmd = pmd_alloc(mm, pud, addr); 54 pud_t *pud; local 62 pud = pud_offset(p4d, addr); 63 if (pud) { 64 pmd = pmd_offset(pud, addr); 79 int pud_huge(pud_t pud) argument
|
H A D | tlbex_32.c | 27 pud_t *pud; local 49 pud = pud_offset(p4d, address); 50 if (pud_none_or_clear_bad(pud)) 52 pmd = pmd_offset(pud, address);
|
/linux-master/arch/powerpc/include/asm/nohash/64/ |
H A D | pgalloc.h | 18 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) argument 20 p4d_set(p4d, (unsigned long)pud); 29 static inline void pud_free(struct mm_struct *mm, pud_t *pud) argument 31 kmem_cache_free(PGT_CACHE(PUD_INDEX_SIZE), pud); local 34 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument 36 pud_set(pud, (unsigned long)pmd); 64 #define __pud_free_tlb(tlb, pud, addr) \ 65 pgtable_free_tlb(tlb, pud, PUD_INDEX_SIZE)
|
H A D | pgtable.h | 119 #define pud_none(pud) (!pud_val(pud)) 120 #define pud_bad(pud) (!is_kernel_addr(pud_val(pud)) \ 121 || (pud_val(pud) & PUD_BAD_BITS)) 122 #define pud_present(pud) (pud_val(pud) != 0) 124 static inline pmd_t *pud_pgtable(pud_t pud) argument 126 return (pmd_t *)(pud_val(pud) & ~PUD_MASKED_BITS); 129 extern struct page *pud_page(pud_t pud); 131 pud_pte(pud_t pud) argument [all...] |
/linux-master/arch/loongarch/mm/ |
H A D | hugetlbpage.c | 21 pud_t *pud; local 26 pud = pud_alloc(mm, p4d, addr); 27 if (pud) 28 pte = (pte_t *)pmd_alloc(mm, pud, addr); 38 pud_t *pud; local 45 pud = pud_offset(p4d, addr); 46 if (pud_present(*pud)) 47 pmd = pmd_offset(pud, addr); 58 int pud_huge(pud_t pud) argument 60 return (pud_val(pud) [all...] |
/linux-master/arch/arm/mm/ |
H A D | idmap.c | 24 static void idmap_add_pmd(pud_t *pud, unsigned long addr, unsigned long end, argument 30 if (pud_none_or_clear_bad(pud) || (pud_val(*pud) & L_PGD_SWAPPER)) { 40 if (!pud_none(*pud)) 41 memcpy(pmd, pmd_offset(pud, 0), 43 pud_populate(&init_mm, pud, pmd); 46 pmd = pmd_offset(pud, addr); 55 static void idmap_add_pmd(pud_t *pud, unsigned long addr, unsigned long end, argument 58 pmd_t *pmd = pmd_offset(pud, addr); 72 pud_t *pud local [all...] |
H A D | pgd.c | 146 pud_t *pud; local 161 pud = pud_offset(p4d, 0); 162 if (pud_none_or_clear_bad(pud)) 165 pmd = pmd_offset(pud, 0); 174 pud_clear(pud); 179 pud_free(mm, pud); 196 pud = pud_offset(p4d, 0); 197 if (pud_none_or_clear_bad(pud)) 199 pmd = pmd_offset(pud, 0); 200 pud_clear(pud); [all...] |
/linux-master/arch/um/include/asm/ |
H A D | pgtable-3level.h | 58 #define pud_populate(mm, pud, pmd) \ 59 set_pud(pud, __pud(_PAGE_TABLE + __pa(pmd))) 72 static inline void pud_clear (pud_t *pud) argument 74 set_pud(pud, __pud(_PAGE_NEWPAGE)); 77 #define pud_page(pud) phys_to_page(pud_val(pud) & PAGE_MASK) 78 #define pud_pgtable(pud) ((pmd_t *) __va(pud_val(pud) & PAGE_MASK))
|
/linux-master/arch/mips/include/asm/ |
H A D | pgalloc.h | 40 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument 42 set_pud(pud, __pud((unsigned long)pmd)); 92 pud_t *pud; local 99 pud = ptdesc_address(ptdesc); 101 pud_init(pud); 102 return pud; 105 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) argument 107 set_p4d(p4d, __p4d((unsigned long)pud));
|
/linux-master/arch/loongarch/include/asm/ |
H A D | pgalloc.h | 28 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument 30 set_pud(pud, __pud((unsigned long)pmd)); 36 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) argument 38 set_p4d(p4d, __p4d((unsigned long)pud)); 82 pud_t *pud; local 88 pud = ptdesc_address(ptdesc); 90 pud_init(pud); 91 return pud;
|
/linux-master/arch/powerpc/include/asm/book3s/64/ |
H A D | pgtable-64k.h | 25 static inline int pud_huge(pud_t pud) argument 30 return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE));
|
H A D | pgalloc.h | 69 * If we share the same slab cache with the pmd or pud level table, 88 static inline void p4d_populate(struct mm_struct *mm, p4d_t *pgd, pud_t *pud) argument 90 *pgd = __p4d(__pgtable_ptr_val(pud) | PGD_VAL_BITS); 95 pud_t *pud; local 97 pud = kmem_cache_alloc(PGT_CACHE(PUD_CACHE_INDEX), 105 kmemleak_ignore(pud); 107 return pud; 110 static inline void __pud_free(pud_t *pud) argument 112 struct page *page = virt_to_page(pud); 115 * Early pud page 123 kmem_cache_free(PGT_CACHE(PUD_CACHE_INDEX), pud); local 126 pud_free(struct mm_struct *mm, pud_t *pud) argument 131 pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument 136 __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud, unsigned long address) argument [all...] |
H A D | pgtable-4k.h | 19 static inline int pud_huge(pud_t pud) argument 25 return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE)); 30 * With radix , we have hugepage ptes in the pud and pmd entries. We don't
|
/linux-master/arch/x86/mm/ |
H A D | ident_map.c | 27 pud_t *pud = pud_page + pud_index(addr); local 37 if (pud_present(*pud)) 42 set_pud(pud, pudval); 46 if (pud_present(*pud)) { 47 pmd = pmd_offset(pud, 0); 55 set_pud(pud, __pud(__pa(pmd) | info->kernpg_flag)); 69 pud_t *pud; local 76 pud = pud_offset(p4d, 0); 77 result = ident_pud_init(info, pud, addr, next); 83 pud 141 pud_t *pud = pud_offset(p4d, 0); local [all...] |
/linux-master/mm/kasan/ |
H A D | init.c | 57 static inline bool kasan_pmd_table(pud_t pud) argument 59 return pud_page(pud) == virt_to_page(lm_alias(kasan_early_shadow_pmd)); 62 static inline bool kasan_pmd_table(pud_t pud) argument 109 static int __ref zero_pmd_populate(pud_t *pud, unsigned long addr, argument 112 pmd_t *pmd = pmd_offset(pud, addr); 149 pud_t *pud = pud_offset(p4d, addr); local 157 pud_populate(&init_mm, pud, 159 pmd = pmd_offset(pud, addr); 165 if (pud_none(*pud)) { 169 p = pmd_alloc(&init_mm, pud, add 197 pud_t *pud; local 249 pud_t *pud; local 307 kasan_free_pmd(pmd_t *pmd_start, pud_t *pud) argument 324 pud_t *pud; local 400 kasan_remove_pud_table(pud_t *pud, unsigned long addr, unsigned long end) argument 433 pud_t *pud; local [all...] |
/linux-master/arch/csky/mm/ |
H A D | highmem.c | 25 pud_t *pud; local 32 pud = (pud_t *)pgd; 33 pmd = pmd_offset(pud, vaddr);
|
/linux-master/arch/sh/include/asm/ |
H A D | pgtable-3level.h | 41 static inline pmd_t *pud_pgtable(pud_t pud) argument 43 return (pmd_t *)(unsigned long)pud_val(pud); 47 #define pud_page(pud) NULL
|
/linux-master/arch/alpha/include/asm/ |
H A D | pgalloc.h | 29 pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument 31 pud_set(pud, pmd);
|
/linux-master/arch/sparc/include/asm/ |
H A D | pgalloc_64.h | 19 static inline void __p4d_populate(p4d_t *p4d, pud_t *pud) argument 21 p4d_set(p4d, pud); 36 static inline void __pud_populate(pud_t *pud, pmd_t *pmd) argument 38 pud_set(pud, pmd); 48 static inline void pud_free(struct mm_struct *mm, pud_t *pud) argument 50 kmem_cache_free(pgtable_cache, pud); 115 #define __pud_free_tlb(tlb, pud, addr) \ 116 pgtable_free_tlb(tlb, pud, false)
|
/linux-master/include/linux/ |
H A D | page_table_check.h | 19 void __page_table_check_pud_clear(struct mm_struct *mm, pud_t pud); 23 void __page_table_check_pud_set(struct mm_struct *mm, pud_t *pudp, pud_t pud); 60 static inline void page_table_check_pud_clear(struct mm_struct *mm, pud_t pud) argument 65 __page_table_check_pud_clear(mm, pud); 87 pud_t pud) 92 __page_table_check_pud_set(mm, pudp, pud); 123 static inline void page_table_check_pud_clear(struct mm_struct *mm, pud_t pud) argument 138 pud_t pud) 86 page_table_check_pud_set(struct mm_struct *mm, pud_t *pudp, pud_t pud) argument 137 page_table_check_pud_set(struct mm_struct *mm, pud_t *pudp, pud_t pud) argument
|
/linux-master/arch/riscv/mm/ |
H A D | pgtable.c | 59 int pud_set_huge(pud_t *pud, phys_addr_t phys, pgprot_t prot) argument 63 set_pud(pud, new_pud); 67 int pud_clear_huge(pud_t *pud) argument 69 if (!pud_leaf(pudp_get(pud))) 71 pud_clear(pud); 75 int pud_free_pmd_page(pud_t *pud, unsigned long addr) argument 77 pmd_t *pmd = pud_pgtable(pudp_get(pud)); 80 pud_clear(pud);
|
/linux-master/arch/sparc/mm/ |
H A D | hugetlbpage.c | 277 unsigned long pud_leaf_size(pud_t pud) { return 1UL << tte_to_shift(*(pte_t *)&pud); } argument 286 pud_t *pud; local 291 pud = pud_alloc(mm, p4d, addr); 292 if (!pud) 295 return (pte_t *)pud; 296 pmd = pmd_alloc(mm, pud, addr); 309 pud_t *pud; local 318 pud = pud_offset(p4d, addr); 319 if (pud_none(*pud)) 416 pud_huge(pud_t pud) argument 432 hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud, unsigned long addr, unsigned long end, unsigned long floor, unsigned long ceiling) argument 473 pud_t *pud; local [all...] |
/linux-master/arch/riscv/include/asm/ |
H A D | pgtable-64.h | 36 /* pud is folded into pgd in case of 3-level page table */ 57 unsigned long pud; member in struct:__anon26 60 #define pud_val(x) ((x).pud) 177 static inline int pud_present(pud_t pud) argument 179 return (pud_val(pud) & _PAGE_PRESENT); 182 static inline int pud_none(pud_t pud) argument 184 return (pud_val(pud) == 0); 187 static inline int pud_bad(pud_t pud) argument 189 return !pud_present(pud); 193 static inline bool pud_leaf(pud_t pud) argument 198 pud_user(pud_t pud) argument 203 set_pud(pud_t *pudp, pud_t pud) argument 218 _pud_pfn(pud_t pud) argument 223 pud_pgtable(pud_t pud) argument 228 pud_page(pud_t pud) argument [all...] |