Symbol: pud
arch/alpha/include/asm/pgalloc.h
29
pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/alpha/include/asm/pgalloc.h
31
pud_set(pud, pmd);
arch/alpha/include/asm/pgtable.h
198
#define pud_page(pud) (pfn_to_page(pud_val(pud) >> 32))
arch/alpha/include/asm/pgtable.h
217
extern inline int pud_none(pud_t pud) { return !pud_val(pud); }
arch/alpha/include/asm/pgtable.h
218
extern inline int pud_bad(pud_t pud) { return (pud_val(pud) & ~_PFN_MASK) != _PAGE_TABLE; }
arch/alpha/include/asm/pgtable.h
219
extern inline int pud_present(pud_t pud) { return pud_val(pud) & _PAGE_VALID; }
arch/alpha/mm/init.c
122
pud_t *pud;
arch/alpha/mm/init.c
162
pud = pud_offset(p4d, VMALLOC_START);
arch/alpha/mm/init.c
163
pud_set(pud, (pmd_t *)two_pages);
arch/alpha/mm/init.c
164
pmd = pmd_offset(pud, VMALLOC_START);
arch/alpha/mm/init.c
193
if (pmd != pmd_offset(pud, vaddr)) {
arch/alpha/mm/init.c
195
pmd = pmd_offset(pud, vaddr);
arch/arc/include/asm/page.h
49
unsigned long pud;
arch/arc/include/asm/page.h
52
#define pud_val(x) ((x).pud)
arch/arc/include/asm/pgtable-levels.h
133
#define pud_pgtable(pud) ((pmd_t *)(pud_val(pud) & PAGE_MASK))
arch/arc/include/asm/pgtable-levels.h
134
#define pud_page(pud) virt_to_page(pud_pgtable(pud))
arch/arc/include/asm/pgtable-levels.h
135
#define set_pud(pudp, pud) (*(pudp) = pud)
arch/arc/mm/fault.c
34
pud_t *pud, *pud_k;
arch/arc/mm/fault.c
52
pud = pud_offset(p4d, address);
arch/arc/mm/fault.c
56
if (!pud_present(*pud))
arch/arc/mm/fault.c
57
set_pud(pud, *pud_k);
arch/arc/mm/fault.c
59
pmd = pmd_offset(pud, address);
arch/arm/include/asm/pgalloc.h
26
static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/arm/include/asm/pgalloc.h
28
set_pud(pud, __pud(__pa(pmd) | PMD_TYPE_TABLE));
arch/arm/include/asm/pgtable-2level.h
185
static inline int pud_none(pud_t pud)
arch/arm/include/asm/pgtable-2level.h
190
static inline int pud_bad(pud_t pud)
arch/arm/include/asm/pgtable-2level.h
195
static inline int pud_present(pud_t pud)
arch/arm/include/asm/pgtable-2level.h
204
static inline void set_pud(pud_t *pudp, pud_t pud)
arch/arm/include/asm/pgtable-2level.h
208
static inline pmd_t *pmd_offset(pud_t *pud, unsigned long addr)
arch/arm/include/asm/pgtable-2level.h
210
return (pmd_t *)pud;
arch/arm/include/asm/pgtable-3level.h
114
#define pud_none(pud) (!pud_val(pud))
arch/arm/include/asm/pgtable-3level.h
115
#define pud_bad(pud) (!(pud_val(pud) & PUD_TABLE_BIT))
arch/arm/include/asm/pgtable-3level.h
116
#define pud_present(pud) (pud_val(pud))
arch/arm/include/asm/pgtable-3level.h
129
#define set_pud(pudp, pud) \
arch/arm/include/asm/pgtable-3level.h
131
*pudp = pud; \
arch/arm/include/asm/pgtable-3level.h
135
static inline pmd_t *pud_pgtable(pud_t pud)
arch/arm/include/asm/pgtable-3level.h
137
return __va(pud_val(pud) & PHYS_MASK & (s32)PAGE_MASK);
arch/arm/include/asm/pgtable.h
155
#define pud_page(pud) pmd_page(__pmd(pud_val(pud)))
arch/arm/include/asm/pgtable.h
156
#define pud_write(pud) pmd_write(__pmd(pud_val(pud)))
arch/arm/lib/uaccess_with_memcpy.c
30
pud_t *pud;
arch/arm/lib/uaccess_with_memcpy.c
41
pud = pud_offset(p4d, addr);
arch/arm/lib/uaccess_with_memcpy.c
42
if (unlikely(pud_none(*pud) || pud_bad(*pud)))
arch/arm/lib/uaccess_with_memcpy.c
45
pmd = pmd_offset(pud, addr);
arch/arm/mm/dump.c
342
static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)
arch/arm/mm/dump.c
344
pmd_t *pmd = pmd_offset(pud, 0);
arch/arm/mm/dump.c
368
pud_t *pud = pud_offset(p4d, 0);
arch/arm/mm/dump.c
372
for (i = 0; i < PTRS_PER_PUD; i++, pud++) {
arch/arm/mm/dump.c
374
if (!pud_none(*pud)) {
arch/arm/mm/dump.c
375
walk_pmd(st, pud, addr);
arch/arm/mm/dump.c
377
note_page(st, addr, 3, pud_val(*pud), NULL);
arch/arm/mm/fault-armv.c
70
pud_t *pud;
arch/arm/mm/fault-armv.c
84
pud = pud_offset(p4d, address);
arch/arm/mm/fault-armv.c
85
if (pud_none_or_clear_bad(pud))
arch/arm/mm/fault-armv.c
88
pmd = pmd_offset(pud, address);
arch/arm/mm/fault.c
510
pud_t *pud, *pud_k;
arch/arm/mm/fault.c
53
pud_t *pud;
arch/arm/mm/fault.c
532
pud = pud_offset(p4d, addr);
arch/arm/mm/fault.c
537
if (!pud_present(*pud))
arch/arm/mm/fault.c
538
set_pud(pud, *pud_k);
arch/arm/mm/fault.c
540
pmd = pmd_offset(pud, addr);
arch/arm/mm/fault.c
66
pud = pud_offset(p4d, addr);
arch/arm/mm/fault.c
68
pr_cont(", *pud=%08llx", (long long)pud_val(*pud));
arch/arm/mm/fault.c
70
if (pud_none(*pud))
arch/arm/mm/fault.c
73
if (pud_bad(*pud)) {
arch/arm/mm/fault.c
78
pmd = pmd_offset(pud, addr);
arch/arm/mm/idmap.c
24
static void idmap_add_pmd(pud_t *pud, unsigned long addr, unsigned long end,
arch/arm/mm/idmap.c
30
if (pud_none_or_clear_bad(pud) || (pud_val(*pud) & L_PGD_SWAPPER)) {
arch/arm/mm/idmap.c
40
if (!pud_none(*pud))
arch/arm/mm/idmap.c
41
memcpy(pmd, pmd_offset(pud, 0),
arch/arm/mm/idmap.c
43
pud_populate(&init_mm, pud, pmd);
arch/arm/mm/idmap.c
46
pmd = pmd_offset(pud, addr);
arch/arm/mm/idmap.c
55
static void idmap_add_pmd(pud_t *pud, unsigned long addr, unsigned long end,
arch/arm/mm/idmap.c
58
pmd_t *pmd = pmd_offset(pud, addr);
arch/arm/mm/idmap.c
72
pud_t *pud = pud_offset(p4d, addr);
arch/arm/mm/idmap.c
77
idmap_add_pmd(pud, addr, next, prot);
arch/arm/mm/idmap.c
78
} while (pud++, addr = next, addr != end);
arch/arm/mm/mmu.c
1000
pud_t *pud;
arch/arm/mm/mmu.c
1005
pud = pud_alloc(mm, p4d, md->virtual);
arch/arm/mm/mmu.c
1006
if (WARN_ON(!pud))
arch/arm/mm/mmu.c
1008
pmd_alloc(mm, pud, 0);
arch/arm/mm/mmu.c
802
static void __init alloc_init_pmd(pud_t *pud, unsigned long addr,
arch/arm/mm/mmu.c
807
pmd_t *pmd = pmd_offset(pud, addr);
arch/arm/mm/mmu.c
839
pud_t *pud = pud_offset(p4d, addr);
arch/arm/mm/mmu.c
844
alloc_init_pmd(pud, addr, next, phys, type, alloc, ng);
arch/arm/mm/mmu.c
846
} while (pud++, addr = next, addr != end);
arch/arm/mm/mmu.c
912
pud_t *pud = pud_offset(p4d, addr);
arch/arm/mm/mmu.c
913
pmd_t *pmd = pmd_offset(pud, addr);
arch/arm/mm/pgd.c
144
pud_t *pud;
arch/arm/mm/pgd.c
159
pud = pud_offset(p4d, 0);
arch/arm/mm/pgd.c
160
if (pud_none_or_clear_bad(pud))
arch/arm/mm/pgd.c
163
pmd = pmd_offset(pud, 0);
arch/arm/mm/pgd.c
172
pud_clear(pud);
arch/arm/mm/pgd.c
177
pud_free(mm, pud);
arch/arm/mm/pgd.c
194
pud = pud_offset(p4d, 0);
arch/arm/mm/pgd.c
195
if (pud_none_or_clear_bad(pud))
arch/arm/mm/pgd.c
197
pmd = pmd_offset(pud, 0);
arch/arm/mm/pgd.c
198
pud_clear(pud);
arch/arm/mm/pgd.c
202
pud_free(mm, pud);
arch/arm64/include/asm/pgalloc.h
59
static inline void pud_free(struct mm_struct *mm, pud_t *pud)
arch/arm64/include/asm/pgalloc.h
63
__pud_free(mm, pud);
arch/arm64/include/asm/pgtable-types.h
42
typedef struct { pudval_t pud; } pud_t;
arch/arm64/include/asm/pgtable-types.h
43
#define pud_val(x) ((x).pud)
arch/arm64/include/asm/pgtable.h
1276
static inline bool pud_user_accessible_page(pud_t pud, unsigned long addr)
arch/arm64/include/asm/pgtable.h
1278
return pud_valid(pud) && !pud_table(pud) && (pud_user(pud) || pud_user_exec(pud));
arch/arm64/include/asm/pgtable.h
233
#define pud_access_permitted(pud, write) \
arch/arm64/include/asm/pgtable.h
234
(pte_access_permitted(pud_pte(pud), (write)))
arch/arm64/include/asm/pgtable.h
493
static inline pte_t pud_pte(pud_t pud)
arch/arm64/include/asm/pgtable.h
495
return __pte(pud_val(pud));
arch/arm64/include/asm/pgtable.h
503
static inline pmd_t pud_pmd(pud_t pud)
arch/arm64/include/asm/pgtable.h
505
return __pmd(pud_val(pud));
arch/arm64/include/asm/pgtable.h
636
#define pud_young(pud) pte_young(pud_pte(pud))
arch/arm64/include/asm/pgtable.h
637
#define pud_mkyoung(pud) pte_pud(pte_mkyoung(pud_pte(pud)))
arch/arm64/include/asm/pgtable.h
638
#define pud_write(pud) pte_write(pud_pte(pud))
arch/arm64/include/asm/pgtable.h
640
static inline pud_t pud_mkhuge(pud_t pud)
arch/arm64/include/asm/pgtable.h
650
return __pud((pud_val(pud) & ~mask) | val);
arch/arm64/include/asm/pgtable.h
653
#define __pud_to_phys(pud) __pte_to_phys(pud_pte(pud))
arch/arm64/include/asm/pgtable.h
655
#define pud_pfn(pud) ((__pud_to_phys(pud) & PUD_MASK) >> PAGE_SHIFT)
arch/arm64/include/asm/pgtable.h
667
static inline pgprot_t pud_pgprot(pud_t pud)
arch/arm64/include/asm/pgtable.h
669
unsigned long pfn = pud_pfn(pud);
arch/arm64/include/asm/pgtable.h
671
return __pgprot(pud_val(pfn_pud(pfn, __pgprot(0))) ^ pud_val(pud));
arch/arm64/include/asm/pgtable.h
726
pud_t *pudp, pud_t pud, unsigned int nr)
arch/arm64/include/asm/pgtable.h
728
__set_ptes_anysz(mm, addr, (pte_t *)pudp, pud_pte(pud), nr, PUD_SIZE);
arch/arm64/include/asm/pgtable.h
730
#define set_pud_at(mm, addr, pudp, pud) __set_puds(mm, addr, pudp, pud, 1)
arch/arm64/include/asm/pgtable.h
802
static inline bool pud_sect(pud_t pud) { return false; }
arch/arm64/include/asm/pgtable.h
803
static inline bool pud_table(pud_t pud) { return true; }
arch/arm64/include/asm/pgtable.h
805
#define pud_sect(pud) ((pud_val(pud) & PUD_TYPE_MASK) == \
arch/arm64/include/asm/pgtable.h
807
#define pud_table(pud) ((pud_val(pud) & PUD_TYPE_MASK) == \
arch/arm64/include/asm/pgtable.h
871
#define pud_none(pud) (!pud_val(pud))
arch/arm64/include/asm/pgtable.h
872
#define pud_bad(pud) ((pud_val(pud) & PUD_TYPE_MASK) != \
arch/arm64/include/asm/pgtable.h
874
#define pud_present(pud) pte_present(pud_pte(pud))
arch/arm64/include/asm/pgtable.h
876
#define pud_leaf(pud) (pud_present(pud) && !pud_table(pud))
arch/arm64/include/asm/pgtable.h
878
#define pud_leaf(pud) false
arch/arm64/include/asm/pgtable.h
880
#define pud_valid(pud) pte_valid(pud_pte(pud))
arch/arm64/include/asm/pgtable.h
881
#define pud_user(pud) pte_user(pud_pte(pud))
arch/arm64/include/asm/pgtable.h
882
#define pud_user_exec(pud) pte_user_exec(pud_pte(pud))
arch/arm64/include/asm/pgtable.h
886
static inline void set_pud(pud_t *pudp, pud_t pud)
arch/arm64/include/asm/pgtable.h
889
set_swapper_pgd((pgd_t *)pudp, __pgd(pud_val(pud)));
arch/arm64/include/asm/pgtable.h
893
WRITE_ONCE(*pudp, pud);
arch/arm64/include/asm/pgtable.h
895
if (pud_valid(pud))
arch/arm64/include/asm/pgtable.h
904
static inline phys_addr_t pud_page_paddr(pud_t pud)
arch/arm64/include/asm/pgtable.h
906
return __pud_to_phys(pud);
arch/arm64/include/asm/pgtable.h
909
static inline pmd_t *pud_pgtable(pud_t pud)
arch/arm64/include/asm/pgtable.h
911
return (pmd_t *)__va(pud_page_paddr(pud));
arch/arm64/include/asm/pgtable.h
918
#define pmd_set_fixmap_offset(pud, addr) pmd_set_fixmap(pmd_offset_phys(pud, addr))
arch/arm64/include/asm/pgtable.h
921
#define pud_page(pud) phys_to_page(__pud_to_phys(pud))
arch/arm64/include/asm/pgtable.h
928
#define pud_valid(pud) false
arch/arm64/include/asm/pgtable.h
929
#define pud_page_paddr(pud) ({ BUILD_BUG(); 0; })
arch/arm64/include/asm/pgtable.h
930
#define pud_user_exec(pud) pud_user(pud) /* Always 0 with folding */
arch/arm64/include/asm/ptdump.h
67
void note_page_pud(struct ptdump_state *st, unsigned long addr, pud_t pud);
arch/arm64/include/asm/ptdump.h
83
static inline void note_page_pud(struct ptdump_state *st, unsigned long addr, pud_t pud) { }
arch/arm64/mm/fault.c
160
pud_t *pudp, pud;
arch/arm64/mm/fault.c
174
pud = READ_ONCE(*pudp);
arch/arm64/mm/fault.c
175
pr_cont(", pud=%016llx", pud_val(pud));
arch/arm64/mm/fault.c
176
if (pud_none(pud) || pud_bad(pud))
arch/arm64/mm/fixmap.c
59
pud_t pud = READ_ONCE(*pudp);
arch/arm64/mm/fixmap.c
62
if (pud_none(pud))
arch/arm64/mm/hugetlbpage.c
283
pud_t *pudp, pud;
arch/arm64/mm/hugetlbpage.c
295
pud = READ_ONCE(*pudp);
arch/arm64/mm/hugetlbpage.c
296
if (sz != PUD_SIZE && pud_none(pud))
arch/arm64/mm/hugetlbpage.c
299
if (pud_leaf(pud) || !pud_present(pud))
arch/arm64/mm/kasan_init.c
256
static void __init clone_next_level(u64 addr, pgd_t *tmp_pg_dir, pud_t *pud)
arch/arm64/mm/kasan_init.c
262
memcpy(pud, pudp, PAGE_SIZE);
arch/arm64/mm/kasan_init.c
263
tmp_pg_dir[idx] = __pgd(__phys_to_pgd_val(__pa_symbol(pud)) |
arch/arm64/mm/kasan_init.c
302
static pud_t pud[2][PTRS_PER_PUD] __initdata __aligned(PAGE_SIZE);
arch/arm64/mm/kasan_init.c
334
clone_next_level(KASAN_SHADOW_START, tmp_pg_dir, pud[0]);
arch/arm64/mm/kasan_init.c
336
clone_next_level(KASAN_SHADOW_END, tmp_pg_dir, pud[1]);
arch/arm64/mm/mmu.c
1506
pud_t *pudp, pud;
arch/arm64/mm/mmu.c
1511
pud = READ_ONCE(*pudp);
arch/arm64/mm/mmu.c
1512
if (pud_none(pud))
arch/arm64/mm/mmu.c
1515
WARN_ON(!pud_present(pud));
arch/arm64/mm/mmu.c
1516
if (pud_sect(pud)) {
arch/arm64/mm/mmu.c
1525
free_hotplug_page_range(pud_page(pud),
arch/arm64/mm/mmu.c
1529
WARN_ON(!pud_table(pud));
arch/arm64/mm/mmu.c
1660
pud_t *pudp, pud;
arch/arm64/mm/mmu.c
1666
pud = READ_ONCE(*pudp);
arch/arm64/mm/mmu.c
1667
if (pud_none(pud))
arch/arm64/mm/mmu.c
1670
WARN_ON(!pud_present(pud) || !pud_table(pud) || pud_sect(pud));
arch/arm64/mm/mmu.c
1880
pud_t pud;
arch/arm64/mm/mmu.c
1883
pud = READ_ONCE(*pudp);
arch/arm64/mm/mmu.c
1885
if (!pud_table(pud)) {
arch/arm64/mm/mmu.c
300
pud_t pud = READ_ONCE(*pudp);
arch/arm64/mm/mmu.c
306
BUG_ON(pud_sect(pud));
arch/arm64/mm/mmu.c
307
if (pud_none(pud)) {
arch/arm64/mm/mmu.c
322
BUG_ON(pud_bad(pud));
arch/arm64/mm/mmu.c
631
static int split_pud(pud_t *pudp, pud_t pud, gfp_t gfp, bool to_cont)
arch/arm64/mm/mmu.c
635
unsigned long pfn = pud_pfn(pud);
arch/arm64/mm/mmu.c
636
pgprot_t prot = pud_pgprot(pud);
arch/arm64/mm/mmu.c
671
pud_t *pudp, pud;
arch/arm64/mm/mmu.c
706
pud = pudp_get(pudp);
arch/arm64/mm/mmu.c
707
if (!pud_present(pud))
arch/arm64/mm/mmu.c
709
if (pud_leaf(pud)) {
arch/arm64/mm/mmu.c
710
ret = split_pud(pudp, pud, GFP_PGTABLE_KERNEL, true);
arch/arm64/mm/mmu.c
834
pud_t pud = pudp_get(pudp);
arch/arm64/mm/mmu.c
837
if (pud_leaf(pud))
arch/arm64/mm/mmu.c
838
ret = split_pud(pudp, pud, gfp, false);
arch/arm64/mm/pageattr.c
34
static int pageattr_pud_entry(pud_t *pud, unsigned long addr,
arch/arm64/mm/pageattr.c
37
pud_t val = pudp_get(pud);
arch/arm64/mm/pageattr.c
390
pud_t *pudp, pud;
arch/arm64/mm/pageattr.c
404
pud = READ_ONCE(*pudp);
arch/arm64/mm/pageattr.c
405
if (pud_none(pud))
arch/arm64/mm/pageattr.c
407
if (pud_sect(pud))
arch/arm64/mm/pageattr.c
43
set_pud(pud, val);
arch/arm64/mm/ptdump.c
264
void note_page_pud(struct ptdump_state *pt_st, unsigned long addr, pud_t pud)
arch/arm64/mm/ptdump.c
266
note_page(pt_st, addr, 2, pud_val(pud));
arch/arm64/mm/trans_pgd.c
139
pud_t pud = READ_ONCE(*src_pudp);
arch/arm64/mm/trans_pgd.c
142
if (pud_none(pud))
arch/arm64/mm/trans_pgd.c
144
if (pud_table(pud)) {
arch/arm64/mm/trans_pgd.c
149
__pud(pud_val(pud) & ~PUD_SECT_RDONLY));
arch/csky/mm/fault.c
118
pud_t *pud, *pud_k;
arch/csky/mm/fault.c
147
pud = (pud_t *)pgd;
arch/csky/mm/fault.c
154
pmd = pmd_offset(pud, addr);
arch/csky/mm/highmem.c
25
pud_t *pud;
arch/csky/mm/highmem.c
32
pud = (pud_t *)pgd;
arch/csky/mm/highmem.c
33
pmd = pmd_offset(pud, vaddr);
arch/csky/mm/init.c
104
pud = (pud_t *)pgd;
arch/csky/mm/init.c
105
for ( ; (j < PTRS_PER_PUD) && (vaddr != end); pud++, j++) {
arch/csky/mm/init.c
106
pmd = (pmd_t *)pud;
arch/csky/mm/init.c
91
pud_t *pud;
arch/loongarch/include/asm/pgalloc.h
29
static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/loongarch/include/asm/pgalloc.h
31
set_pud(pud, __pud((unsigned long)pmd));
arch/loongarch/include/asm/pgalloc.h
37
static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud)
arch/loongarch/include/asm/pgalloc.h
39
set_p4d(p4d, __p4d((unsigned long)pud));
arch/loongarch/include/asm/pgalloc.h
89
pud_t *pud;
arch/loongarch/include/asm/pgalloc.h
95
pud = ptdesc_address(ptdesc);
arch/loongarch/include/asm/pgalloc.h
97
pud_init(pud);
arch/loongarch/include/asm/pgalloc.h
98
return pud;
arch/loongarch/include/asm/pgtable.h
144
typedef struct { unsigned long pud; } pud_t;
arch/loongarch/include/asm/pgtable.h
145
#define pud_val(x) ((x).pud)
arch/loongarch/include/asm/pgtable.h
199
static inline int pud_none(pud_t pud)
arch/loongarch/include/asm/pgtable.h
201
return pud_val(pud) == (unsigned long)invalid_pmd_table;
arch/loongarch/include/asm/pgtable.h
204
static inline int pud_bad(pud_t pud)
arch/loongarch/include/asm/pgtable.h
206
return pud_val(pud) & ~PAGE_MASK;
arch/loongarch/include/asm/pgtable.h
209
static inline int pud_present(pud_t pud)
arch/loongarch/include/asm/pgtable.h
211
return pud_val(pud) != (unsigned long)invalid_pmd_table;
arch/loongarch/include/asm/pgtable.h
214
static inline pmd_t *pud_pgtable(pud_t pud)
arch/loongarch/include/asm/pgtable.h
216
return (pmd_t *)pud_val(pud);
arch/loongarch/include/asm/pgtable.h
219
static inline void set_pud(pud_t *pud, pud_t pudval)
arch/loongarch/include/asm/pgtable.h
221
WRITE_ONCE(*pud, pudval);
arch/loongarch/include/asm/pgtable.h
229
#define pud_phys(pud) PHYSADDR(pud_val(pud))
arch/loongarch/include/asm/pgtable.h
230
#define pud_page(pud) (pfn_to_page(pud_phys(pud) >> PAGE_SHIFT))
arch/loongarch/include/asm/pgtable.h
631
#define pud_leaf(pud) ((pud_val(pud) & _PAGE_HUGE) != 0)
arch/loongarch/kvm/mmu.c
674
pud_t pud;
arch/loongarch/kvm/mmu.c
709
pud = pudp_get(pud_offset(&p4d, hva));
arch/loongarch/kvm/mmu.c
710
if (pud_none(pud) || !pud_present(pud))
arch/loongarch/kvm/mmu.c
713
pmd = pmdp_get(pmd_offset(&pud, hva));
arch/loongarch/mm/fault.c
38
pud_t *pud;
arch/loongarch/mm/fault.c
53
pud = pud_offset(p4d, address);
arch/loongarch/mm/fault.c
54
if (!pud_present(pudp_get(pud)))
arch/loongarch/mm/fault.c
57
pmd = pmd_offset(pud, address);
arch/loongarch/mm/hugetlbpage.c
21
pud_t *pud;
arch/loongarch/mm/hugetlbpage.c
26
pud = pud_alloc(mm, p4d, addr);
arch/loongarch/mm/hugetlbpage.c
27
if (pud)
arch/loongarch/mm/hugetlbpage.c
28
pte = (pte_t *)pmd_alloc(mm, pud, addr);
arch/loongarch/mm/hugetlbpage.c
38
pud_t *pud;
arch/loongarch/mm/hugetlbpage.c
45
pud = pud_offset(p4d, addr);
arch/loongarch/mm/hugetlbpage.c
46
if (pud_present(pudp_get(pud)))
arch/loongarch/mm/hugetlbpage.c
47
pmd = pmd_offset(pud, addr);
arch/loongarch/mm/init.c
148
pud_t *pud;
arch/loongarch/mm/init.c
152
pud = memblock_alloc_or_panic(PAGE_SIZE, PAGE_SIZE);
arch/loongarch/mm/init.c
153
p4d_populate(&init_mm, p4d, pud);
arch/loongarch/mm/init.c
155
pud_init(pud);
arch/loongarch/mm/init.c
159
pud = pud_offset(p4d, addr);
arch/loongarch/mm/init.c
160
if (pud_none(pudp_get(pud))) {
arch/loongarch/mm/init.c
162
pud_populate(&init_mm, pud, pmd);
arch/loongarch/mm/init.c
168
pmd = pmd_offset(pud, addr);
arch/loongarch/mm/kasan_init.c
31
#define __pud_none(early, pud) (0)
arch/loongarch/mm/kasan_init.c
33
#define __pud_none(early, pud) (early ? (pud_val(pud) == 0) : \
arch/loongarch/mm/kasan_init.c
34
(__pa(pud_val(pud)) == (unsigned long)__pa(kasan_early_shadow_pmd)))
arch/loongarch/mm/pageattr.c
165
pud_t *pud;
arch/loongarch/mm/pageattr.c
185
pud = pud_offset(p4d, addr);
arch/loongarch/mm/pageattr.c
186
if (pud_none(pudp_get(pud)))
arch/loongarch/mm/pageattr.c
188
if (pud_leaf(pudp_get(pud)))
arch/loongarch/mm/pageattr.c
191
pmd = pmd_offset(pud, addr);
arch/loongarch/mm/pageattr.c
54
static int pageattr_pud_entry(pud_t *pud, unsigned long addr,
arch/loongarch/mm/pageattr.c
57
pud_t val = pudp_get(pud);
arch/loongarch/mm/pageattr.c
61
set_pud(pud, val);
arch/m68k/include/asm/mmu_context.h
100
pud_t *pud;
arch/m68k/include/asm/mmu_context.h
132
pud = pud_offset(p4d, mmuar);
arch/m68k/include/asm/mmu_context.h
133
if (pud_none(*pud))
arch/m68k/include/asm/mmu_context.h
136
pmd = pmd_offset(pud, mmuar);
arch/m68k/include/asm/motorola_pgalloc.h
92
static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/m68k/include/asm/motorola_pgalloc.h
94
pud_set(pud, pmd);
arch/m68k/include/asm/motorola_pgtable.h
102
#define pud_pgtable(pud) ((pmd_t *)__va(pud_val(pud) & _TABLE_MASK))
arch/m68k/include/asm/motorola_pgtable.h
128
#define pud_none(pud) (!pud_val(pud))
arch/m68k/include/asm/motorola_pgtable.h
129
#define pud_bad(pud) ((pud_val(pud) & _DESCTYPE_MASK) != _PAGE_TABLE)
arch/m68k/include/asm/motorola_pgtable.h
130
#define pud_present(pud) (pud_val(pud) & _PAGE_TABLE)
arch/m68k/include/asm/motorola_pgtable.h
132
#define pud_page(pud) (mem_map + ((unsigned long)(__va(pud_val(pud)) - PAGE_OFFSET) >> PAGE_SHIFT))
arch/m68k/kernel/sys_m68k.c
471
pud_t *pud;
arch/m68k/kernel/sys_m68k.c
484
pud = pud_offset(p4d, (unsigned long)mem);
arch/m68k/kernel/sys_m68k.c
485
if (!pud_present(*pud))
arch/m68k/kernel/sys_m68k.c
487
pmd = pmd_offset(pud, (unsigned long)mem);
arch/m68k/mm/init.c
101
pud_t *pud = (pud_t *)&kernel_pg_dir[i];
arch/m68k/mm/init.c
104
if (!pud_present(*pud))
arch/m68k/mm/mcfmmu.c
106
pud = pud_offset(p4d, mmuar);
arch/m68k/mm/mcfmmu.c
107
if (pud_none(*pud))
arch/m68k/mm/mcfmmu.c
110
pmd = pmd_offset(pud, mmuar);
arch/m68k/mm/mcfmmu.c
83
pud_t *pud;
arch/m68k/mm/motorola.c
272
pud_t *pud = (pud_t *)(&kernel_pg_dir[i]);
arch/m68k/mm/motorola.c
274
if (!pud_present(*pud))
arch/m68k/sun3x/dvma.c
101
if((pmd = pmd_alloc(&init_mm, pud, vaddr)) == NULL) {
arch/m68k/sun3x/dvma.c
83
pud_t *pud;
arch/m68k/sun3x/dvma.c
95
pud = pud_offset(p4d, vaddr);
arch/microblaze/mm/pgtable.c
140
pud_t *pud;
arch/microblaze/mm/pgtable.c
147
pud = pud_offset(p4d, va);
arch/microblaze/mm/pgtable.c
148
pd = pmd_offset(pud, va);
arch/microblaze/mm/pgtable.c
199
pud_t *pud;
arch/microblaze/mm/pgtable.c
207
pud = pud_offset(p4d, addr & PAGE_MASK);
arch/microblaze/mm/pgtable.c
208
pmd = pmd_offset(pud, addr & PAGE_MASK);
arch/mips/include/asm/pgalloc.h
39
static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/mips/include/asm/pgalloc.h
41
set_pud(pud, __pud((unsigned long)pmd));
arch/mips/include/asm/pgalloc.h
82
pud_t *pud;
arch/mips/include/asm/pgalloc.h
88
pud = ptdesc_address(ptdesc);
arch/mips/include/asm/pgalloc.h
90
pud_init(pud);
arch/mips/include/asm/pgalloc.h
91
return pud;
arch/mips/include/asm/pgalloc.h
94
static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud)
arch/mips/include/asm/pgalloc.h
96
set_p4d(p4d, __p4d((unsigned long)pud));
arch/mips/include/asm/pgtable-64.h
175
typedef struct { unsigned long pud; } pud_t;
arch/mips/include/asm/pgtable-64.h
176
#define pud_val(x) ((x).pud)
arch/mips/include/asm/pgtable-64.h
278
static inline int pud_none(pud_t pud)
arch/mips/include/asm/pgtable-64.h
280
return pud_val(pud) == (unsigned long) invalid_pmd_table;
arch/mips/include/asm/pgtable-64.h
283
static inline int pud_bad(pud_t pud)
arch/mips/include/asm/pgtable-64.h
285
return pud_val(pud) & ~PAGE_MASK;
arch/mips/include/asm/pgtable-64.h
288
static inline int pud_present(pud_t pud)
arch/mips/include/asm/pgtable-64.h
290
return pud_val(pud) != (unsigned long) invalid_pmd_table;
arch/mips/include/asm/pgtable-64.h
306
static inline pmd_t *pud_pgtable(pud_t pud)
arch/mips/include/asm/pgtable-64.h
308
return (pmd_t *)pud_val(pud);
arch/mips/include/asm/pgtable-64.h
310
#define pud_phys(pud) virt_to_phys((void *)pud_val(pud))
arch/mips/include/asm/pgtable-64.h
311
#define pud_page(pud) (pfn_to_page(pud_phys(pud) >> PAGE_SHIFT))
arch/mips/include/asm/pgtable.h
748
#define pud_leaf(pud) ((pud_val(pud) & _PAGE_HUGE) != 0)
arch/mips/kvm/mmu.c
108
pud_t *pud;
arch/mips/kvm/mmu.c
118
pud = pud_offset(p4d, addr);
arch/mips/kvm/mmu.c
119
if (pud_none(*pud)) {
arch/mips/kvm/mmu.c
126
pud_populate(NULL, pud, new_pmd);
arch/mips/kvm/mmu.c
128
pmd = pmd_offset(pud, addr);
arch/mips/kvm/mmu.c
199
static bool kvm_mips_flush_gpa_pud(pud_t *pud, unsigned long start_gpa,
arch/mips/kvm/mmu.c
210
if (!pud_present(pud[i]))
arch/mips/kvm/mmu.c
213
pmd = pmd_offset(pud + i, 0);
arch/mips/kvm/mmu.c
218
pud_clear(pud + i);
arch/mips/kvm/mmu.c
231
pud_t *pud;
arch/mips/kvm/mmu.c
243
pud = pud_offset(p4d + i, 0);
arch/mips/kvm/mmu.c
247
if (kvm_mips_flush_gpa_pud(pud, start_gpa, end)) {
arch/mips/kvm/mmu.c
249
pud_free(NULL, pud);
arch/mips/kvm/mmu.c
325
static int kvm_mips_##name##_pud(pud_t *pud, unsigned long start, \
arch/mips/kvm/mmu.c
336
if (!pud_present(pud[i])) \
arch/mips/kvm/mmu.c
339
pmd = pmd_offset(pud + i, 0); \
arch/mips/kvm/mmu.c
353
pud_t *pud; \
arch/mips/kvm/mmu.c
364
pud = pud_offset(p4d + i, 0); \
arch/mips/kvm/mmu.c
368
ret |= kvm_mips_##name##_pud(pud, start, cur_end); \
arch/mips/mm/fault.c
288
pud_t *pud, *pud_k;
arch/mips/mm/fault.c
304
pud = pud_offset(p4d, address);
arch/mips/mm/fault.c
309
pmd = pmd_offset(pud, address);
arch/mips/mm/hugetlbpage.c
29
pud_t *pud;
arch/mips/mm/hugetlbpage.c
34
pud = pud_alloc(mm, p4d, addr);
arch/mips/mm/hugetlbpage.c
35
if (pud)
arch/mips/mm/hugetlbpage.c
36
pte = (pte_t *)pmd_alloc(mm, pud, addr);
arch/mips/mm/hugetlbpage.c
46
pud_t *pud;
arch/mips/mm/hugetlbpage.c
53
pud = pud_offset(p4d, addr);
arch/mips/mm/hugetlbpage.c
54
if (pud_present(*pud))
arch/mips/mm/hugetlbpage.c
55
pmd = pmd_offset(pud, addr);
arch/mips/mm/init.c
232
pud_t *pud;
arch/mips/mm/init.c
245
pud = (pud_t *)pgd;
arch/mips/mm/init.c
246
for ( ; (j < PTRS_PER_PUD) && (vaddr < end); pud++, j++) {
arch/mips/mm/init.c
247
pmd = (pmd_t *)pud;
arch/mips/mm/pgtable-32.c
48
pud_t *pud;
arch/mips/mm/pgtable-32.c
74
pud = pud_offset(p4d, vaddr);
arch/mips/mm/pgtable-32.c
75
pmd = pmd_offset(pud, vaddr);
arch/nios2/mm/fault.c
232
pud_t *pud, *pud_k;
arch/nios2/mm/fault.c
247
pud = pud_offset(p4d, address);
arch/nios2/mm/fault.c
251
pmd = pmd_offset(pud, address);
arch/nios2/mm/ioremap.c
100
pmd = pmd_alloc(&init_mm, pud, address);
arch/nios2/mm/ioremap.c
90
pud_t *pud;
arch/nios2/mm/ioremap.c
97
pud = pud_alloc(&init_mm, p4d, address);
arch/nios2/mm/ioremap.c
98
if (!pud)
arch/openrisc/mm/fault.c
297
pud_t *pud, *pud_k;
arch/openrisc/mm/fault.c
328
pud = pud_offset(p4d, address);
arch/openrisc/mm/fault.c
333
pmd = pmd_offset(pud, address);
arch/openrisc/mm/init.c
202
pud_t *pud;
arch/openrisc/mm/init.c
207
pud = pud_offset(p4d, va);
arch/openrisc/mm/init.c
208
pmd = pmd_offset(pud, va);
arch/parisc/include/asm/pgalloc.h
26
static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/parisc/include/asm/pgalloc.h
28
set_pud(pud, __pud((PxD_FLAG_PRESENT | PxD_FLAG_VALID) +
arch/parisc/include/asm/pgtable.h
298
#define pud_pgtable(pud) ((pmd_t *) __va(pud_address(pud)))
arch/parisc/include/asm/pgtable.h
299
#define pud_page(pud) virt_to_page((void *)pud_pgtable(pud))
arch/parisc/include/asm/pgtable.h
306
static inline void pud_clear(pud_t *pud) {
arch/parisc/include/asm/pgtable.h
307
set_pud(pud, __pud(0));
arch/parisc/kernel/cache.c
415
pud_t *pud;
arch/parisc/kernel/cache.c
421
pud = pud_offset(p4d, addr);
arch/parisc/kernel/cache.c
422
if (!pud_none(*pud)) {
arch/parisc/kernel/cache.c
423
pmd = pmd_offset(pud, addr);
arch/parisc/kernel/pci-dma.c
136
pud_t *pud;
arch/parisc/kernel/pci-dma.c
140
pud = pud_offset(p4d, vaddr);
arch/parisc/kernel/pci-dma.c
141
pmd = pmd_alloc(NULL, pud, vaddr);
arch/parisc/mm/fixmap.c
18
pud_t *pud = pud_offset(p4d, vaddr);
arch/parisc/mm/fixmap.c
19
pmd_t *pmd = pmd_offset(pud, vaddr);
arch/parisc/mm/hugetlbpage.c
31
pud_t *pud;
arch/parisc/mm/hugetlbpage.c
44
pud = pud_alloc(mm, p4d, addr);
arch/parisc/mm/hugetlbpage.c
45
if (pud) {
arch/parisc/mm/hugetlbpage.c
46
pmd = pmd_alloc(mm, pud, addr);
arch/parisc/mm/hugetlbpage.c
58
pud_t *pud;
arch/parisc/mm/hugetlbpage.c
68
pud = pud_offset(p4d, addr);
arch/parisc/mm/hugetlbpage.c
69
if (!pud_none(*pud)) {
arch/parisc/mm/hugetlbpage.c
70
pmd = pmd_offset(pud, addr);
arch/parisc/mm/init.c
376
pud_t *pud = pud_offset(p4d, vaddr);
arch/parisc/mm/init.c
379
if (pud_none(*pud)) {
arch/parisc/mm/init.c
382
pud_populate(NULL, pud, pmd);
arch/parisc/mm/init.c
386
pmd = pmd_offset(pud, vaddr);
arch/parisc/mm/init.c
673
pud_t *pud = pud_offset(p4d, addr);
arch/parisc/mm/init.c
679
if (pud_none(*pud)) {
arch/parisc/mm/init.c
682
pud_populate(NULL, pud, pmd);
arch/parisc/mm/init.c
686
pmd = pmd_offset(pud, addr);
arch/powerpc/include/asm/book3s/64/hash.h
150
#define hash__pud_bad(pud) (pud_val(pud) & H_PUD_BAD_BITS)
arch/powerpc/include/asm/book3s/64/pgalloc.h
105
kmemleak_ignore(pud);
arch/powerpc/include/asm/book3s/64/pgalloc.h
107
return pud;
arch/powerpc/include/asm/book3s/64/pgalloc.h
110
static inline void __pud_free(pud_t *pud)
arch/powerpc/include/asm/book3s/64/pgalloc.h
112
struct page *page = virt_to_page(pud);
arch/powerpc/include/asm/book3s/64/pgalloc.h
123
kmem_cache_free(PGT_CACHE(PUD_CACHE_INDEX), pud);
arch/powerpc/include/asm/book3s/64/pgalloc.h
126
static inline void pud_free(struct mm_struct *mm, pud_t *pud)
arch/powerpc/include/asm/book3s/64/pgalloc.h
128
return __pud_free(pud);
arch/powerpc/include/asm/book3s/64/pgalloc.h
131
static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/powerpc/include/asm/book3s/64/pgalloc.h
133
*pud = __pud(__pgtable_ptr_val(pmd) | PUD_VAL_BITS);
arch/powerpc/include/asm/book3s/64/pgalloc.h
136
static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud,
arch/powerpc/include/asm/book3s/64/pgalloc.h
139
pgtable_free_tlb(tlb, pud, PUD_INDEX);
arch/powerpc/include/asm/book3s/64/pgalloc.h
88
static inline void p4d_populate(struct mm_struct *mm, p4d_t *pgd, pud_t *pud)
arch/powerpc/include/asm/book3s/64/pgalloc.h
90
*pgd = __p4d(__pgtable_ptr_val(pud) | PGD_VAL_BITS);
arch/powerpc/include/asm/book3s/64/pgalloc.h
95
pud_t *pud;
arch/powerpc/include/asm/book3s/64/pgalloc.h
97
pud = kmem_cache_alloc(PGT_CACHE(PUD_CACHE_INDEX),
arch/powerpc/include/asm/book3s/64/pgtable.h
1108
extern pud_t pud_modify(pud_t pud, pgprot_t newprot);
arch/powerpc/include/asm/book3s/64/pgtable.h
1112
pud_t *pudp, pud_t pud);
arch/powerpc/include/asm/book3s/64/pgtable.h
1120
unsigned long addr, pud_t *pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
1223
static inline int pud_trans_huge(pud_t pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
1225
if (!pud_present(pud))
arch/powerpc/include/asm/book3s/64/pgtable.h
1229
return radix__pud_trans_huge(pud);
arch/powerpc/include/asm/book3s/64/pgtable.h
1258
static inline pud_t __pud_mkhuge(pud_t pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
1261
return radix__pud_mkhuge(pud);
arch/powerpc/include/asm/book3s/64/pgtable.h
1263
return pud;
arch/powerpc/include/asm/book3s/64/pgtable.h
1281
static inline pud_t pud_mkhuge(pud_t pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
1285
WARN_ON((pud_raw(pud) & cpu_to_be64(_PAGE_PTE)) == 0);
arch/powerpc/include/asm/book3s/64/pgtable.h
1289
return pud;
arch/powerpc/include/asm/book3s/64/pgtable.h
274
static inline bool pud_leaf(pud_t pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
276
return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PTE));
arch/powerpc/include/asm/book3s/64/pgtable.h
289
static inline unsigned long pud_leaf_size(pud_t pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
870
static inline int pud_none(pud_t pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
872
return !pud_raw(pud);
arch/powerpc/include/asm/book3s/64/pgtable.h
875
static inline int pud_present(pud_t pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
877
return !!(pud_raw(pud) & cpu_to_be64(_PAGE_PRESENT));
arch/powerpc/include/asm/book3s/64/pgtable.h
880
extern struct page *pud_page(pud_t pud);
arch/powerpc/include/asm/book3s/64/pgtable.h
882
static inline pte_t pud_pte(pud_t pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
884
return __pte_raw(pud_raw(pud));
arch/powerpc/include/asm/book3s/64/pgtable.h
892
static inline pte_t *pudp_ptep(pud_t *pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
894
return (pte_t *)pud;
arch/powerpc/include/asm/book3s/64/pgtable.h
897
#define pud_pfn(pud) pte_pfn(pud_pte(pud))
arch/powerpc/include/asm/book3s/64/pgtable.h
898
#define pud_dirty(pud) pte_dirty(pud_pte(pud))
arch/powerpc/include/asm/book3s/64/pgtable.h
899
#define pud_young(pud) pte_young(pud_pte(pud))
arch/powerpc/include/asm/book3s/64/pgtable.h
900
#define pud_mkold(pud) pte_pud(pte_mkold(pud_pte(pud)))
arch/powerpc/include/asm/book3s/64/pgtable.h
901
#define pud_wrprotect(pud) pte_pud(pte_wrprotect(pud_pte(pud)))
arch/powerpc/include/asm/book3s/64/pgtable.h
902
#define pud_mkdirty(pud) pte_pud(pte_mkdirty(pud_pte(pud)))
arch/powerpc/include/asm/book3s/64/pgtable.h
903
#define pud_mkclean(pud) pte_pud(pte_mkclean(pud_pte(pud)))
arch/powerpc/include/asm/book3s/64/pgtable.h
904
#define pud_mkyoung(pud) pte_pud(pte_mkyoung(pud_pte(pud)))
arch/powerpc/include/asm/book3s/64/pgtable.h
905
#define pud_mkwrite(pud) pte_pud(pte_mkwrite_novma(pud_pte(pud)))
arch/powerpc/include/asm/book3s/64/pgtable.h
906
#define pud_write(pud) pte_write(pud_pte(pud))
arch/powerpc/include/asm/book3s/64/pgtable.h
909
#define pud_soft_dirty(pmd) pte_soft_dirty(pud_pte(pud))
arch/powerpc/include/asm/book3s/64/pgtable.h
910
#define pud_mksoft_dirty(pmd) pte_pud(pte_mksoft_dirty(pud_pte(pud)))
arch/powerpc/include/asm/book3s/64/pgtable.h
911
#define pud_clear_soft_dirty(pmd) pte_pud(pte_clear_soft_dirty(pud_pte(pud)))
arch/powerpc/include/asm/book3s/64/pgtable.h
914
static inline int pud_bad(pud_t pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
917
return radix__pud_bad(pud);
arch/powerpc/include/asm/book3s/64/pgtable.h
918
return hash__pud_bad(pud);
arch/powerpc/include/asm/book3s/64/pgtable.h
922
static inline bool pud_access_permitted(pud_t pud, bool write)
arch/powerpc/include/asm/book3s/64/pgtable.h
924
return pte_access_permitted(pud_pte(pud), write);
arch/powerpc/include/asm/book3s/64/pgtable.h
928
static inline bool pud_user_accessible_page(pud_t pud, unsigned long addr)
arch/powerpc/include/asm/book3s/64/pgtable.h
930
return pud_leaf(pud) && pte_user_accessible_page(pud_pte(pud), addr);
arch/powerpc/include/asm/book3s/64/pgtable.h
989
static inline pmd_t *pud_pgtable(pud_t pud)
arch/powerpc/include/asm/book3s/64/pgtable.h
991
return (pmd_t *)__va(pud_val(pud) & ~PUD_MASKED_BITS);
arch/powerpc/include/asm/book3s/64/radix.h
248
static inline int radix__pud_bad(pud_t pud)
arch/powerpc/include/asm/book3s/64/radix.h
250
return !!(pud_val(pud) & RADIX_PUD_BAD_BITS);
arch/powerpc/include/asm/book3s/64/radix.h
275
static inline int radix__pud_trans_huge(pud_t pud)
arch/powerpc/include/asm/book3s/64/radix.h
277
return (pud_val(pud) & _PAGE_PTE) == _PAGE_PTE;
arch/powerpc/include/asm/book3s/64/radix.h
280
static inline pud_t radix__pud_mkhuge(pud_t pud)
arch/powerpc/include/asm/book3s/64/radix.h
282
return __pud(pud_val(pud) | _PAGE_PTE);
arch/powerpc/include/asm/nohash/64/pgalloc.h
18
static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud)
arch/powerpc/include/asm/nohash/64/pgalloc.h
20
p4d_set(p4d, (unsigned long)pud);
arch/powerpc/include/asm/nohash/64/pgalloc.h
29
static inline void pud_free(struct mm_struct *mm, pud_t *pud)
arch/powerpc/include/asm/nohash/64/pgalloc.h
31
kmem_cache_free(PGT_CACHE(PUD_INDEX_SIZE), pud);
arch/powerpc/include/asm/nohash/64/pgalloc.h
34
static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/powerpc/include/asm/nohash/64/pgalloc.h
36
pud_set(pud, (unsigned long)pmd);
arch/powerpc/include/asm/nohash/64/pgalloc.h
64
#define __pud_free_tlb(tlb, pud, addr) \
arch/powerpc/include/asm/nohash/64/pgalloc.h
65
pgtable_free_tlb(tlb, pud, PUD_INDEX_SIZE)
arch/powerpc/include/asm/nohash/64/pgtable.h
119
#define pud_none(pud) (!pud_val(pud))
arch/powerpc/include/asm/nohash/64/pgtable.h
120
#define pud_bad(pud) (!is_kernel_addr(pud_val(pud)) \
arch/powerpc/include/asm/nohash/64/pgtable.h
121
|| (pud_val(pud) & PUD_BAD_BITS))
arch/powerpc/include/asm/nohash/64/pgtable.h
122
#define pud_present(pud) (pud_val(pud) != 0)
arch/powerpc/include/asm/nohash/64/pgtable.h
124
static inline pmd_t *pud_pgtable(pud_t pud)
arch/powerpc/include/asm/nohash/64/pgtable.h
126
return (pmd_t *)(pud_val(pud) & ~PUD_MASKED_BITS);
arch/powerpc/include/asm/nohash/64/pgtable.h
129
extern struct page *pud_page(pud_t pud);
arch/powerpc/include/asm/nohash/64/pgtable.h
131
static inline pte_t pud_pte(pud_t pud)
arch/powerpc/include/asm/nohash/64/pgtable.h
133
return __pte(pud_val(pud));
arch/powerpc/include/asm/nohash/64/pgtable.h
140
#define pud_write(pud) pte_write(pud_pte(pud))
arch/powerpc/include/asm/nohash/pte-e500.h
120
static inline int pud_leaf(pud_t pud)
arch/powerpc/include/asm/nohash/pte-e500.h
123
return (long)pud_val(pud) > 0;
arch/powerpc/include/asm/nohash/pte-e500.h
125
return pud_val(pud) & _PAGE_PSIZE_MSK;
arch/powerpc/include/asm/nohash/pte-e500.h
129
static inline unsigned long pud_leaf_size(pud_t pud)
arch/powerpc/include/asm/nohash/pte-e500.h
131
return pte_huge_size(__pte(pud_val(pud)));
arch/powerpc/include/asm/pgtable-be-types.h
37
typedef struct { __be64 pud; } pud_t;
arch/powerpc/include/asm/pgtable-be-types.h
42
return be64_to_cpu(x.pud);
arch/powerpc/include/asm/pgtable-be-types.h
47
return x.pud;
arch/powerpc/include/asm/pgtable-types.h
43
typedef struct { unsigned long pud; } pud_t;
arch/powerpc/include/asm/pgtable-types.h
47
return x.pud;
arch/powerpc/include/asm/pgtable.h
212
#define pud_user_accessible_page(pud, addr) false
arch/powerpc/kvm/book3s_64_mmu_radix.c
1292
pud_t pud, *pudp;
arch/powerpc/kvm/book3s_64_mmu_radix.c
1372
pud = READ_ONCE(*pudp);
arch/powerpc/kvm/book3s_64_mmu_radix.c
1373
if (!(pud_val(pud) & _PAGE_PRESENT)) {
arch/powerpc/kvm/book3s_64_mmu_radix.c
1377
if (pud_val(pud) & _PAGE_PTE) {
arch/powerpc/kvm/book3s_64_mmu_radix.c
1378
pte = pud_val(pud);
arch/powerpc/kvm/book3s_64_mmu_radix.c
1383
pmdp = pmd_offset(&pud, gpa);
arch/powerpc/kvm/book3s_64_mmu_radix.c
526
static void kvmppc_unmap_free_pud(struct kvm *kvm, pud_t *pud,
arch/powerpc/kvm/book3s_64_mmu_radix.c
530
pud_t *p = pud;
arch/powerpc/kvm/book3s_64_mmu_radix.c
545
pud_free(kvm->mm, pud);
arch/powerpc/kvm/book3s_64_mmu_radix.c
554
pud_t *pud;
arch/powerpc/kvm/book3s_64_mmu_radix.c
558
pud = pud_offset(p4d, 0);
arch/powerpc/kvm/book3s_64_mmu_radix.c
559
kvmppc_unmap_free_pud(kvm, pud, lpid);
arch/powerpc/kvm/book3s_64_mmu_radix.c
590
static void kvmppc_unmap_free_pud_entry_table(struct kvm *kvm, pud_t *pud,
arch/powerpc/kvm/book3s_64_mmu_radix.c
593
pmd_t *pmd = pmd_offset(pud, 0);
arch/powerpc/kvm/book3s_64_mmu_radix.c
600
pud_clear(pud);
arch/powerpc/kvm/book3s_64_mmu_radix.c
622
pud_t *pud, *new_pud = NULL;
arch/powerpc/kvm/book3s_64_mmu_radix.c
631
pud = NULL;
arch/powerpc/kvm/book3s_64_mmu_radix.c
633
pud = pud_offset(p4d, gpa);
arch/powerpc/kvm/book3s_64_mmu_radix.c
638
if (pud && pud_present(*pud) && !pud_leaf(*pud))
arch/powerpc/kvm/book3s_64_mmu_radix.c
639
pmd = pmd_offset(pud, gpa);
arch/powerpc/kvm/book3s_64_mmu_radix.c
660
pud = pud_offset(p4d, gpa);
arch/powerpc/kvm/book3s_64_mmu_radix.c
661
if (pud_leaf(*pud)) {
arch/powerpc/kvm/book3s_64_mmu_radix.c
666
if (pud_raw(*pud) == pte_raw(pte)) {
arch/powerpc/kvm/book3s_64_mmu_radix.c
671
WARN_ON_ONCE((pud_val(*pud) ^ pte_val(pte)) &
arch/powerpc/kvm/book3s_64_mmu_radix.c
673
kvmppc_radix_update_pte(kvm, (pte_t *)pud,
arch/powerpc/kvm/book3s_64_mmu_radix.c
687
kvmppc_unmap_pte(kvm, (pte_t *)pud, hgpa, PUD_SHIFT, NULL,
arch/powerpc/kvm/book3s_64_mmu_radix.c
691
if (!pud_none(*pud)) {
arch/powerpc/kvm/book3s_64_mmu_radix.c
697
kvmppc_unmap_free_pud_entry_table(kvm, pud, gpa, lpid);
arch/powerpc/kvm/book3s_64_mmu_radix.c
699
kvmppc_radix_set_pte_at(kvm, gpa, (pte_t *)pud, pte);
arch/powerpc/kvm/book3s_64_mmu_radix.c
705
if (pud_none(*pud)) {
arch/powerpc/kvm/book3s_64_mmu_radix.c
708
pud_populate(kvm->mm, pud, new_pmd);
arch/powerpc/kvm/book3s_64_mmu_radix.c
711
pmd = pmd_offset(pud, gpa);
arch/powerpc/mm/book3s64/pgtable.c
136
pud_t *pudp, pud_t pud)
arch/powerpc/mm/book3s64/pgtable.c
146
WARN_ON(!(pud_leaf(pud)));
arch/powerpc/mm/book3s64/pgtable.c
148
trace_hugepage_set_pud(addr, pud_val(pud));
arch/powerpc/mm/book3s64/pgtable.c
149
page_table_check_pud_set(mm, addr, pudp, pud);
arch/powerpc/mm/book3s64/pgtable.c
150
return set_pte_at_unchecked(mm, addr, pudp_ptep(pudp), pud_pte(pud));
arch/powerpc/mm/book3s64/pgtable.c
229
pud_t pud;
arch/powerpc/mm/book3s64/pgtable.c
233
pud = pudp_huge_get_and_clear(vma->vm_mm, addr, pudp);
arch/powerpc/mm/book3s64/pgtable.c
241
return pud;
arch/powerpc/mm/book3s64/pgtable.c
249
static pud_t pud_set_protbits(pud_t pud, pgprot_t pgprot)
arch/powerpc/mm/book3s64/pgtable.c
251
return __pud(pud_val(pud) | pgprot_val(pgprot));
arch/powerpc/mm/book3s64/pgtable.c
286
pud_t pud_modify(pud_t pud, pgprot_t newprot)
arch/powerpc/mm/book3s64/pgtable.c
290
pudv = pud_val(pud);
arch/powerpc/mm/book3s64/radix_pgtable.c
1066
pud_t *pud;
arch/powerpc/mm/book3s64/radix_pgtable.c
1071
pud = early_alloc_pgtable(PAGE_SIZE, node, 0, 0);
arch/powerpc/mm/book3s64/radix_pgtable.c
1072
p4d_populate(&init_mm, p4dp, pud);
arch/powerpc/mm/book3s64/radix_pgtable.c
1121
pud_t *pud;
arch/powerpc/mm/book3s64/radix_pgtable.c
1150
pud = vmemmap_pud_alloc(p4d, node, addr);
arch/powerpc/mm/book3s64/radix_pgtable.c
1151
if (!pud)
arch/powerpc/mm/book3s64/radix_pgtable.c
1153
pmd = vmemmap_pmd_alloc(pud, node, addr);
arch/powerpc/mm/book3s64/radix_pgtable.c
1226
pud_t *pud;
arch/powerpc/mm/book3s64/radix_pgtable.c
1232
pud = vmemmap_pud_alloc(p4d, node, addr);
arch/powerpc/mm/book3s64/radix_pgtable.c
1233
if (!pud)
arch/powerpc/mm/book3s64/radix_pgtable.c
1235
pmd = vmemmap_pmd_alloc(pud, node, addr);
arch/powerpc/mm/book3s64/radix_pgtable.c
1258
pud_t *pud;
arch/powerpc/mm/book3s64/radix_pgtable.c
1267
pud = vmemmap_pud_alloc(p4d, node, map_addr);
arch/powerpc/mm/book3s64/radix_pgtable.c
1268
if (!pud)
arch/powerpc/mm/book3s64/radix_pgtable.c
1270
pmd = vmemmap_pmd_alloc(pud, node, map_addr);
arch/powerpc/mm/book3s64/radix_pgtable.c
1321
pud_t *pud;
arch/powerpc/mm/book3s64/radix_pgtable.c
1329
pud = vmemmap_pud_alloc(p4d, node, addr);
arch/powerpc/mm/book3s64/radix_pgtable.c
1330
if (!pud)
arch/powerpc/mm/book3s64/radix_pgtable.c
1332
pmd = vmemmap_pmd_alloc(pud, node, addr);
arch/powerpc/mm/book3s64/radix_pgtable.c
1615
int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
arch/powerpc/mm/book3s64/radix_pgtable.c
1617
pte_t *ptep = (pte_t *)pud;
arch/powerpc/mm/book3s64/radix_pgtable.c
1628
int pud_clear_huge(pud_t *pud)
arch/powerpc/mm/book3s64/radix_pgtable.c
1630
if (pud_leaf(*pud)) {
arch/powerpc/mm/book3s64/radix_pgtable.c
1631
pud_clear(pud);
arch/powerpc/mm/book3s64/radix_pgtable.c
1638
int pud_free_pmd_page(pud_t *pud, unsigned long addr)
arch/powerpc/mm/book3s64/radix_pgtable.c
1643
pmd = pud_pgtable(*pud);
arch/powerpc/mm/book3s64/radix_pgtable.c
1644
pud_clear(pud);
arch/powerpc/mm/book3s64/radix_pgtable.c
708
static void free_pmd_table(pmd_t *pmd_start, pud_t *pud)
arch/powerpc/mm/book3s64/radix_pgtable.c
720
pud_clear(pud);
arch/powerpc/mm/book3s64/radix_pgtable.c
725
pud_t *pud;
arch/powerpc/mm/book3s64/radix_pgtable.c
729
pud = pud_start + i;
arch/powerpc/mm/book3s64/radix_pgtable.c
730
if (!pud_none(*pud))
arch/powerpc/mm/book3s64/radix_pgtable.c
866
pud_t *pud;
arch/powerpc/mm/book3s64/radix_pgtable.c
868
pud = pud_start + pud_index(addr);
arch/powerpc/mm/book3s64/radix_pgtable.c
869
for (; addr < end; addr = next, pud++) {
arch/powerpc/mm/book3s64/radix_pgtable.c
872
if (!pud_present(*pud))
arch/powerpc/mm/book3s64/radix_pgtable.c
875
if (pud_leaf(*pud)) {
arch/powerpc/mm/book3s64/radix_pgtable.c
881
pte_clear(&init_mm, addr, (pte_t *)pud);
arch/powerpc/mm/book3s64/radix_pgtable.c
886
pmd_base = pud_pgtable(*pud);
arch/powerpc/mm/book3s64/radix_pgtable.c
888
free_pmd_table(pmd_base, pud);
arch/powerpc/mm/book3s64/subpage_prot.c
58
pud_t *pud;
arch/powerpc/mm/book3s64/subpage_prot.c
67
pud = pud_offset(p4d, addr);
arch/powerpc/mm/book3s64/subpage_prot.c
68
if (pud_none(*pud))
arch/powerpc/mm/book3s64/subpage_prot.c
70
pmd = pmd_offset(pud, addr);
arch/powerpc/mm/hugetlbpage.c
47
pud_t *pud;
arch/powerpc/mm/hugetlbpage.c
56
pud = pud_alloc(mm, p4d, addr);
arch/powerpc/mm/hugetlbpage.c
57
if (!pud)
arch/powerpc/mm/hugetlbpage.c
60
return (pte_t *)pud;
arch/powerpc/mm/hugetlbpage.c
62
pmd = pmd_alloc(mm, pud, addr);
arch/powerpc/mm/kasan/init_book3e_64.c
22
static inline bool kasan_pmd_table(pud_t pud)
arch/powerpc/mm/kasan/init_book3e_64.c
24
return pud_page(pud) == virt_to_page(lm_alias(kasan_early_shadow_pmd));
arch/powerpc/mm/nohash/8xx.c
214
int pud_clear_huge(pud_t *pud)
arch/powerpc/mm/pgtable.c
391
pud_t *pud;
arch/powerpc/mm/pgtable.c
402
pud = pud_offset(p4d, addr);
arch/powerpc/mm/pgtable.c
403
BUG_ON(pud_none(*pud));
arch/powerpc/mm/pgtable.c
404
pmd = pmd_offset(pud, addr);
arch/powerpc/mm/pgtable.c
446
pud_t pud, *pudp;
arch/powerpc/mm/pgtable.c
489
pud = READ_ONCE(*pudp);
arch/powerpc/mm/pgtable.c
491
if (pud_none(pud))
arch/powerpc/mm/pgtable.c
494
if (pud_leaf(pud)) {
arch/powerpc/mm/pgtable.c
499
pmdp = pmd_offset(&pud, ea);
arch/powerpc/mm/pgtable_64.c
112
struct page *pud_page(pud_t pud)
arch/powerpc/mm/pgtable_64.c
114
if (pud_leaf(pud)) {
arch/powerpc/mm/pgtable_64.c
116
VM_WARN_ON(!pud_leaf(pud));
arch/powerpc/mm/pgtable_64.c
117
return pte_page(pud_pte(pud));
arch/powerpc/mm/pgtable_64.c
119
return virt_to_page(pud_pgtable(pud));
arch/powerpc/mm/ptdump/hashpagetable.c
414
static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)
arch/powerpc/mm/ptdump/hashpagetable.c
416
pmd_t *pmd = pmd_offset(pud, 0);
arch/powerpc/mm/ptdump/hashpagetable.c
430
pud_t *pud = pud_offset(p4d, 0);
arch/powerpc/mm/ptdump/hashpagetable.c
434
for (i = 0; i < PTRS_PER_PUD; i++, pud++) {
arch/powerpc/mm/ptdump/hashpagetable.c
436
if (!pud_none(*pud))
arch/powerpc/mm/ptdump/hashpagetable.c
438
walk_pmd(st, pud, addr);
arch/powerpc/mm/ptdump/ptdump.c
312
static void note_page_pud(struct ptdump_state *pt_st, unsigned long addr, pud_t pud)
arch/powerpc/mm/ptdump/ptdump.c
314
note_page(pt_st, addr, 2, pud_val(pud));
arch/riscv/include/asm/pgalloc.h
35
static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/riscv/include/asm/pgalloc.h
39
set_pud(pud, __pud((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE));
arch/riscv/include/asm/pgalloc.h
42
static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud)
arch/riscv/include/asm/pgalloc.h
45
unsigned long pfn = virt_to_pfn(pud);
arch/riscv/include/asm/pgalloc.h
52
pud_t *pud)
arch/riscv/include/asm/pgalloc.h
55
unsigned long pfn = virt_to_pfn(pud);
arch/riscv/include/asm/pgalloc.h
83
static inline void pud_free(struct mm_struct *mm, pud_t *pud)
arch/riscv/include/asm/pgalloc.h
86
__pud_free(mm, pud);
arch/riscv/include/asm/pgalloc.h
89
static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud,
arch/riscv/include/asm/pgalloc.h
93
tlb_remove_ptdesc(tlb, virt_to_ptdesc(pud));
arch/riscv/include/asm/pgtable-64.h
177
static inline int pud_present(pud_t pud)
arch/riscv/include/asm/pgtable-64.h
179
return (pud_val(pud) & _PAGE_PRESENT);
arch/riscv/include/asm/pgtable-64.h
182
static inline int pud_none(pud_t pud)
arch/riscv/include/asm/pgtable-64.h
184
return (pud_val(pud) == 0);
arch/riscv/include/asm/pgtable-64.h
187
static inline int pud_bad(pud_t pud)
arch/riscv/include/asm/pgtable-64.h
189
return !pud_present(pud) || (pud_val(pud) & _PAGE_LEAF);
arch/riscv/include/asm/pgtable-64.h
193
static inline bool pud_leaf(pud_t pud)
arch/riscv/include/asm/pgtable-64.h
195
return pud_present(pud) && (pud_val(pud) & _PAGE_LEAF);
arch/riscv/include/asm/pgtable-64.h
198
static inline int pud_user(pud_t pud)
arch/riscv/include/asm/pgtable-64.h
200
return pud_val(pud) & _PAGE_USER;
arch/riscv/include/asm/pgtable-64.h
203
static inline void set_pud(pud_t *pudp, pud_t pud)
arch/riscv/include/asm/pgtable-64.h
205
WRITE_ONCE(*pudp, pud);
arch/riscv/include/asm/pgtable-64.h
218
static inline unsigned long _pud_pfn(pud_t pud)
arch/riscv/include/asm/pgtable-64.h
220
return __page_val_to_pfn(pud_val(pud));
arch/riscv/include/asm/pgtable-64.h
223
static inline pmd_t *pud_pgtable(pud_t pud)
arch/riscv/include/asm/pgtable-64.h
225
return (pmd_t *)pfn_to_virt(__page_val_to_pfn(pud_val(pud)));
arch/riscv/include/asm/pgtable-64.h
228
static inline struct page *pud_page(pud_t pud)
arch/riscv/include/asm/pgtable-64.h
230
return pfn_to_page(__page_val_to_pfn(pud_val(pud)));
arch/riscv/include/asm/pgtable-64.h
403
static inline pte_t pud_pte(pud_t pud);
arch/riscv/include/asm/pgtable-64.h
55
unsigned long pud;
arch/riscv/include/asm/pgtable-64.h
58
#define pud_val(x) ((x).pud)
arch/riscv/include/asm/pgtable.h
1060
static inline pud_t pud_wrprotect(pud_t pud)
arch/riscv/include/asm/pgtable.h
1062
return pte_pud(pte_wrprotect(pud_pte(pud)));
arch/riscv/include/asm/pgtable.h
1065
static inline int pud_trans_huge(pud_t pud)
arch/riscv/include/asm/pgtable.h
1067
return pud_leaf(pud);
arch/riscv/include/asm/pgtable.h
1070
static inline int pud_dirty(pud_t pud)
arch/riscv/include/asm/pgtable.h
1072
return pte_dirty(pud_pte(pud));
arch/riscv/include/asm/pgtable.h
1075
static inline pud_t pud_mkyoung(pud_t pud)
arch/riscv/include/asm/pgtable.h
1077
return pte_pud(pte_mkyoung(pud_pte(pud)));
arch/riscv/include/asm/pgtable.h
1080
static inline pud_t pud_mkold(pud_t pud)
arch/riscv/include/asm/pgtable.h
1082
return pte_pud(pte_mkold(pud_pte(pud)));
arch/riscv/include/asm/pgtable.h
1085
static inline pud_t pud_mkdirty(pud_t pud)
arch/riscv/include/asm/pgtable.h
1087
return pte_pud(pte_mkdirty(pud_pte(pud)));
arch/riscv/include/asm/pgtable.h
1090
static inline pud_t pud_mkclean(pud_t pud)
arch/riscv/include/asm/pgtable.h
1092
return pte_pud(pte_mkclean(pud_pte(pud)));
arch/riscv/include/asm/pgtable.h
1095
static inline pud_t pud_mkwrite(pud_t pud)
arch/riscv/include/asm/pgtable.h
1097
return pte_pud(pte_mkwrite_novma(pud_pte(pud)));
arch/riscv/include/asm/pgtable.h
1100
static inline pud_t pud_mkhuge(pud_t pud)
arch/riscv/include/asm/pgtable.h
1102
return pud;
arch/riscv/include/asm/pgtable.h
1123
pud_t pud = __pud(xchg(&pudp->pud, 0));
arch/riscv/include/asm/pgtable.h
1125
pud_t pud = *pudp;
arch/riscv/include/asm/pgtable.h
1130
page_table_check_pud_clear(mm, address, pud);
arch/riscv/include/asm/pgtable.h
1132
return pud;
arch/riscv/include/asm/pgtable.h
1135
static inline int pud_young(pud_t pud)
arch/riscv/include/asm/pgtable.h
1137
return pte_young(pud_pte(pud));
arch/riscv/include/asm/pgtable.h
1149
unsigned long address, pud_t *pudp, pud_t pud)
arch/riscv/include/asm/pgtable.h
1151
page_table_check_pud_set(vma->vm_mm, address, pudp, pud);
arch/riscv/include/asm/pgtable.h
1152
return __pud(atomic_long_xchg((atomic_long_t *)pudp, pud_val(pud)));
arch/riscv/include/asm/pgtable.h
1155
static inline pud_t pud_mkinvalid(pud_t pud)
arch/riscv/include/asm/pgtable.h
1157
return __pud(pud_val(pud) & ~(_PAGE_PRESENT | _PAGE_PROT_NONE));
arch/riscv/include/asm/pgtable.h
1163
static inline pud_t pud_modify(pud_t pud, pgprot_t newprot)
arch/riscv/include/asm/pgtable.h
1165
return pte_pud(pte_modify(pud_pte(pud), newprot));
arch/riscv/include/asm/pgtable.h
284
static inline pte_t pud_pte(pud_t pud)
arch/riscv/include/asm/pgtable.h
286
return __pte(pud_val(pud));
arch/riscv/include/asm/pgtable.h
790
#define __pud_to_phys(pud) (__page_val_to_pfn(pud_val(pud)) << PAGE_SHIFT)
arch/riscv/include/asm/pgtable.h
793
static inline unsigned long pud_pfn(pud_t pud)
arch/riscv/include/asm/pgtable.h
795
return ((__pud_to_phys(pud) & PUD_MASK) >> PAGE_SHIFT);
arch/riscv/include/asm/pgtable.h
805
static inline pgprot_t pud_pgprot(pud_t pud)
arch/riscv/include/asm/pgtable.h
807
return pte_pgprot(pud_pte(pud));
arch/riscv/include/asm/pgtable.h
822
static inline int pud_write(pud_t pud)
arch/riscv/include/asm/pgtable.h
824
return pte_write(pud_pte(pud));
arch/riscv/include/asm/pgtable.h
895
static inline bool pud_special(pud_t pud)
arch/riscv/include/asm/pgtable.h
897
return pte_special(pud_pte(pud));
arch/riscv/include/asm/pgtable.h
900
static inline pud_t pud_mkspecial(pud_t pud)
arch/riscv/include/asm/pgtable.h
902
return pte_pud(pte_mkspecial(pud_pte(pud)));
arch/riscv/include/asm/pgtable.h
980
pud_t *pudp, pud_t pud)
arch/riscv/include/asm/pgtable.h
982
page_table_check_pud_set(mm, addr, pudp, pud);
arch/riscv/include/asm/pgtable.h
983
return __set_pte_at(mm, (pte_t *)pudp, pud_pte(pud));
arch/riscv/include/asm/pgtable.h
997
static inline bool pud_user_accessible_page(pud_t pud, unsigned long addr)
arch/riscv/include/asm/pgtable.h
999
return pud_leaf(pud) && pud_user(pud);
arch/riscv/kernel/hibernate.c
254
pud_t pud = READ_ONCE(*src_pudp);
arch/riscv/kernel/hibernate.c
258
if (pud_none(pud))
arch/riscv/kernel/hibernate.c
261
if (pud_leaf(pud)) {
arch/riscv/kernel/hibernate.c
262
set_pud(dst_pudp, __pud(pud_val(pud) | pgprot_val(prot)));
arch/riscv/kvm/mmu.c
373
pud_t pud;
arch/riscv/kvm/mmu.c
398
pud = pudp_get(pud_offset(&p4d, hva));
arch/riscv/kvm/mmu.c
399
if (pud_none(pud) || !pud_present(pud))
arch/riscv/kvm/mmu.c
402
if (pud_leaf(pud)) {
arch/riscv/kvm/mmu.c
407
pmd = pmdp_get(pmd_offset(&pud, hva));
arch/riscv/mm/fault.c
32
pud_t *pudp, pud;
arch/riscv/mm/fault.c
57
pud = pudp_get(pudp);
arch/riscv/mm/fault.c
58
pr_cont(", pud=%016lx", pud_val(pud));
arch/riscv/mm/fault.c
59
if (pud_none(pud) || pud_bad(pud) || pud_leaf(pud))
arch/riscv/mm/hugetlbpage.c
103
pud = pud_offset(p4d, addr);
arch/riscv/mm/hugetlbpage.c
106
return (pte_t *)pud;
arch/riscv/mm/hugetlbpage.c
108
if (!pud_present(pudp_get(pud)))
arch/riscv/mm/hugetlbpage.c
111
pmd = pmd_offset(pud, addr);
arch/riscv/mm/hugetlbpage.c
39
pud_t *pud;
arch/riscv/mm/hugetlbpage.c
47
pud = pud_alloc(mm, p4d, addr);
arch/riscv/mm/hugetlbpage.c
48
if (!pud)
arch/riscv/mm/hugetlbpage.c
52
pte = (pte_t *)pud;
arch/riscv/mm/hugetlbpage.c
57
if (want_pmd_share(vma, addr) && pud_none(pudp_get(pud)))
arch/riscv/mm/hugetlbpage.c
58
pte = huge_pmd_share(mm, vma, addr, pud);
arch/riscv/mm/hugetlbpage.c
60
pte = (pte_t *)pmd_alloc(mm, pud, addr);
arch/riscv/mm/hugetlbpage.c
64
pmd = pmd_alloc(mm, pud, addr);
arch/riscv/mm/hugetlbpage.c
92
pud_t *pud;
arch/riscv/mm/init.c
1482
pud_t *pud;
arch/riscv/mm/init.c
1494
pud = pud_alloc(&init_mm, p4d, addr);
arch/riscv/mm/init.c
1495
if (!pud)
arch/riscv/mm/init.c
1502
pmd = pmd_alloc(&init_mm, pud, addr);
arch/riscv/mm/init.c
1588
static void __meminit free_pmd_table(pmd_t *pmd_start, pud_t *pud, bool is_vmemmap)
arch/riscv/mm/init.c
1590
struct page *page = pud_page(*pud);
arch/riscv/mm/init.c
1607
pud_clear(pud);
arch/riscv/mm/init.c
1613
pud_t *pud;
arch/riscv/mm/init.c
1617
pud = pud_start + i;
arch/riscv/mm/init.c
1618
if (!pud_none(*pud))
arch/riscv/mm/init.c
1703
pud_t *pudp, pud;
arch/riscv/mm/init.c
1709
pud = pudp_get(pudp);
arch/riscv/mm/init.c
1710
if (!pud_present(pud))
arch/riscv/mm/init.c
1713
if (pud_leaf(pud)) {
arch/riscv/mm/init.c
1717
free_vmemmap_storage(pud_page(pud), PUD_SIZE, altmap);
arch/riscv/mm/kasan_init.c
50
static void __init kasan_populate_pmd(pud_t *pud, unsigned long vaddr, unsigned long end)
arch/riscv/mm/kasan_init.c
56
if (pud_none(pudp_get(pud))) {
arch/riscv/mm/kasan_init.c
58
set_pud(pud, pfn_pud(PFN_DOWN(__pa(p)), PAGE_TABLE));
arch/riscv/mm/kasan_init.c
61
pmdp = pmd_offset(pud, vaddr);
arch/riscv/mm/pageattr.c
42
static int pageattr_pud_entry(pud_t *pud, unsigned long addr,
arch/riscv/mm/pageattr.c
439
pud_t *pud;
arch/riscv/mm/pageattr.c
45
pud_t val = pudp_get(pud);
arch/riscv/mm/pageattr.c
456
pud = pud_offset(p4d, addr);
arch/riscv/mm/pageattr.c
457
if (!pud_present(pudp_get(pud)))
arch/riscv/mm/pageattr.c
459
if (pud_leaf(pudp_get(pud)))
arch/riscv/mm/pageattr.c
462
pmd = pmd_offset(pud, addr);
arch/riscv/mm/pageattr.c
49
set_pud(pud, val);
arch/riscv/mm/pgtable.c
72
int pud_set_huge(pud_t *pud, phys_addr_t phys, pgprot_t prot)
arch/riscv/mm/pgtable.c
76
set_pud(pud, new_pud);
arch/riscv/mm/pgtable.c
80
int pud_clear_huge(pud_t *pud)
arch/riscv/mm/pgtable.c
82
if (!pud_leaf(pudp_get(pud)))
arch/riscv/mm/pgtable.c
84
pud_clear(pud);
arch/riscv/mm/pgtable.c
88
int pud_free_pmd_page(pud_t *pud, unsigned long addr)
arch/riscv/mm/pgtable.c
90
pmd_t *pmd = pud_pgtable(pudp_get(pud));
arch/riscv/mm/pgtable.c
93
pud_clear(pud);
arch/riscv/mm/ptdump.c
330
static void note_page_pud(struct ptdump_state *pt_st, unsigned long addr, pud_t pud)
arch/riscv/mm/ptdump.c
332
note_page(pt_st, addr, 2, pud_val(pud));
arch/s390/boot/vmem.c
159
static bool kasan_pud_populate_zero_shadow(pud_t *pud, unsigned long addr,
arch/s390/boot/vmem.c
164
pud_populate(&init_mm, pud, kasan_early_shadow_pmd);
arch/s390/boot/vmem.c
207
static inline bool kasan_pud_populate_zero_shadow(pud_t *pud, unsigned long addr,
arch/s390/boot/vmem.c
354
static void pgtable_pmd_populate(pud_t *pud, unsigned long addr, unsigned long end,
arch/s390/boot/vmem.c
361
pmd = pmd_offset(pud, addr);
arch/s390/boot/vmem.c
390
pud_t *pud, entry;
arch/s390/boot/vmem.c
393
pud = pud_offset(p4d, addr);
arch/s390/boot/vmem.c
394
for (; addr < end; addr = next, pud++) {
arch/s390/boot/vmem.c
396
if (pud_none(*pud)) {
arch/s390/boot/vmem.c
397
if (kasan_pud_populate_zero_shadow(pud, addr, next, mode))
arch/s390/boot/vmem.c
399
pa = try_get_large_pud_pa(pud, addr, next, mode);
arch/s390/boot/vmem.c
403
set_pud(pud, entry);
arch/s390/boot/vmem.c
408
pud_populate(&init_mm, pud, pmd);
arch/s390/boot/vmem.c
409
} else if (pud_leaf(*pud)) {
arch/s390/boot/vmem.c
412
pgtable_pmd_populate(pud, addr, next, mode);
arch/s390/boot/vmem.c
423
pud_t *pud;
arch/s390/boot/vmem.c
431
pud = boot_crst_alloc(_REGION3_ENTRY_EMPTY);
arch/s390/boot/vmem.c
432
p4d_populate(&init_mm, p4d, pud);
arch/s390/include/asm/page.h
112
DEFINE_PGVAL_FUNC(pud)
arch/s390/include/asm/page.h
82
typedef struct { unsigned long pud; } pud_t;
arch/s390/include/asm/pgalloc.h
123
static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud)
arch/s390/include/asm/pgalloc.h
125
set_p4d(p4d, __p4d(_REGION2_ENTRY | __pa(pud)));
arch/s390/include/asm/pgalloc.h
128
static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/s390/include/asm/pgalloc.h
130
set_pud(pud, __pud(_REGION3_ENTRY | __pa(pmd)));
arch/s390/include/asm/pgalloc.h
86
static inline void pud_free(struct mm_struct *mm, pud_t *pud)
arch/s390/include/asm/pgalloc.h
91
pagetable_dtor(virt_to_ptdesc(pud));
arch/s390/include/asm/pgalloc.h
92
crst_table_free(mm, (unsigned long *) pud);
arch/s390/include/asm/pgtable.h
1357
#define p4d_deref(pud) ((unsigned long)__va(p4d_val(pud) & _REGION_ENTRY_ORIGIN))
arch/s390/include/asm/pgtable.h
1375
static inline unsigned long pud_deref(pud_t pud)
arch/s390/include/asm/pgtable.h
1380
if (pud_leaf(pud))
arch/s390/include/asm/pgtable.h
1382
return (unsigned long)__va(pud_val(pud) & origin_mask);
arch/s390/include/asm/pgtable.h
1386
static inline unsigned long pud_pfn(pud_t pud)
arch/s390/include/asm/pgtable.h
1388
return __pa(pud_deref(pud)) >> PAGE_SHIFT;
arch/s390/include/asm/pgtable.h
1443
static inline pmd_t *pmd_offset_lockless(pud_t *pudp, pud_t pud, unsigned long address)
arch/s390/include/asm/pgtable.h
1445
if ((pud_val(pud) & _REGION_ENTRY_TYPE_MASK) >= _REGION_ENTRY_TYPE_R3)
arch/s390/include/asm/pgtable.h
1446
return (pmd_t *) pud_deref(pud) + pmd_index(address);
arch/s390/include/asm/pgtable.h
1473
#define pud_page(pud) pfn_to_page(pud_pfn(pud))
arch/s390/include/asm/pgtable.h
1505
static inline pud_t pud_wrprotect(pud_t pud)
arch/s390/include/asm/pgtable.h
1507
pud = clear_pud_bit(pud, __pgprot(_REGION3_ENTRY_WRITE));
arch/s390/include/asm/pgtable.h
1508
return set_pud_bit(pud, __pgprot(_REGION_ENTRY_PROTECT));
arch/s390/include/asm/pgtable.h
1511
static inline pud_t pud_mkwrite(pud_t pud)
arch/s390/include/asm/pgtable.h
1513
pud = set_pud_bit(pud, __pgprot(_REGION3_ENTRY_WRITE));
arch/s390/include/asm/pgtable.h
1514
if (pud_val(pud) & _REGION3_ENTRY_DIRTY)
arch/s390/include/asm/pgtable.h
1515
pud = clear_pud_bit(pud, __pgprot(_REGION_ENTRY_PROTECT));
arch/s390/include/asm/pgtable.h
1516
return pud;
arch/s390/include/asm/pgtable.h
1519
static inline pud_t pud_mkclean(pud_t pud)
arch/s390/include/asm/pgtable.h
1521
pud = clear_pud_bit(pud, __pgprot(_REGION3_ENTRY_DIRTY));
arch/s390/include/asm/pgtable.h
1522
return set_pud_bit(pud, __pgprot(_REGION_ENTRY_PROTECT));
arch/s390/include/asm/pgtable.h
1525
static inline pud_t pud_mkdirty(pud_t pud)
arch/s390/include/asm/pgtable.h
1527
pud = set_pud_bit(pud, __pgprot(_REGION3_ENTRY_DIRTY | _REGION3_ENTRY_SOFT_DIRTY));
arch/s390/include/asm/pgtable.h
1528
if (pud_val(pud) & _REGION3_ENTRY_WRITE)
arch/s390/include/asm/pgtable.h
1529
pud = clear_pud_bit(pud, __pgprot(_REGION_ENTRY_PROTECT));
arch/s390/include/asm/pgtable.h
1530
return pud;
arch/s390/include/asm/pgtable.h
576
static inline pud_t clear_pud_bit(pud_t pud, pgprot_t prot)
arch/s390/include/asm/pgtable.h
578
return __pud(pud_val(pud) & ~pgprot_val(prot));
arch/s390/include/asm/pgtable.h
581
static inline pud_t set_pud_bit(pud_t pud, pgprot_t prot)
arch/s390/include/asm/pgtable.h
583
return __pud(pud_val(pud) | pgprot_val(prot));
arch/s390/include/asm/pgtable.h
717
static inline int pud_folded(pud_t pud)
arch/s390/include/asm/pgtable.h
719
return (pud_val(pud) & _REGION_ENTRY_TYPE_MASK) < _REGION_ENTRY_TYPE_R3;
arch/s390/include/asm/pgtable.h
722
static inline int pud_present(pud_t pud)
arch/s390/include/asm/pgtable.h
724
if (pud_folded(pud))
arch/s390/include/asm/pgtable.h
726
return (pud_val(pud) & _REGION3_ENTRY_PRESENT) != 0;
arch/s390/include/asm/pgtable.h
729
static inline int pud_none(pud_t pud)
arch/s390/include/asm/pgtable.h
731
if (pud_folded(pud))
arch/s390/include/asm/pgtable.h
733
return pud_val(pud) == _REGION3_ENTRY_EMPTY;
arch/s390/include/asm/pgtable.h
737
static inline bool pud_leaf(pud_t pud)
arch/s390/include/asm/pgtable.h
739
if ((pud_val(pud) & _REGION_ENTRY_TYPE_MASK) != _REGION_ENTRY_TYPE_R3)
arch/s390/include/asm/pgtable.h
741
return (pud_present(pud) && (pud_val(pud) & _REGION3_ENTRY_LARGE) != 0);
arch/s390/include/asm/pgtable.h
762
static inline int pud_bad(pud_t pud)
arch/s390/include/asm/pgtable.h
764
unsigned long type = pud_val(pud) & _REGION_ENTRY_TYPE_MASK;
arch/s390/include/asm/pgtable.h
766
if (type > _REGION_ENTRY_TYPE_R3 || pud_leaf(pud))
arch/s390/include/asm/pgtable.h
770
return (pud_val(pud) & ~_REGION_ENTRY_BITS) != 0;
arch/s390/include/asm/pgtable.h
796
static inline int pud_write(pud_t pud)
arch/s390/include/asm/pgtable.h
798
return (pud_val(pud) & _REGION3_ENTRY_WRITE) != 0;
arch/s390/include/asm/pgtable.h
969
static inline void set_pud(pud_t *pudp, pud_t pud)
arch/s390/include/asm/pgtable.h
971
WRITE_ONCE(*pudp, pud);
arch/s390/include/asm/pgtable.h
996
static inline void pud_clear(pud_t *pud)
arch/s390/include/asm/pgtable.h
998
if ((pud_val(*pud) & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3)
arch/s390/include/asm/pgtable.h
999
set_pud(pud, __pud(_REGION3_ENTRY_EMPTY));
arch/s390/include/asm/tlb.h
132
static inline void pud_free_tlb(struct mmu_gather *tlb, pud_t *pud,
arch/s390/include/asm/tlb.h
141
tlb_remove_ptdesc(tlb, virt_to_ptdesc(pud));
arch/s390/kvm/dat.c
452
continue_anyway && !entry.pud.h.fc && !entry.h.i) {
arch/s390/kvm/dat.c
456
if (walk_level == TABLE_TYPE_REGION3 || ((leaf || any) && entry.pud.h.fc))
arch/s390/kvm/dat.c
458
if (entry.pud.h.i && !entry.pud.h.fc) {
arch/s390/kvm/dat.c
466
if (walk_level <= TABLE_TYPE_SEGMENT && entry.pud.h.fc) {
arch/s390/kvm/dat.c
474
table = dereference_crste(entry.pud);
arch/s390/kvm/dat.h
287
union pud pud;
arch/s390/kvm/dat.h
306
static_assert(sizeof(union pud) == sizeof(unsigned long));
arch/s390/kvm/dat.h
317
union pud puds[_CRST_ENTRIES];
arch/s390/kvm/dat.h
646
union pud : (x).val, \
arch/s390/kvm/dat.h
653
union pud : (x), \
arch/s390/kvm/dat.h
694
static inline phys_addr_t pud_origin_large(union pud pud)
arch/s390/kvm/dat.h
696
return pud.val & _REGION3_ENTRY_ORIGIN_LARGE;
arch/s390/kvm/dat.h
714
return pud_origin_large(crste.pud);
arch/s390/kvm/dat.h
719
union pud : (x).val & _REGION_ENTRY_ORIGIN, \
arch/s390/kvm/dat.h
733
static inline bool pud_prefix(union pud pud)
arch/s390/kvm/dat.h
735
return pud.h.fc && pud.s.fc1.prefix_notif;
arch/s390/kvm/dat.h
777
static inline phys_addr_t large_pud_to_phys(union pud pud, gfn_t gfn)
arch/s390/kvm/dat.h
779
return pud_origin_large(pud) | (gfn_to_gpa(gfn) & ~_REGION3_MASK);
arch/s390/kvm/dat.h
793
return large_pud_to_phys(crste.pud, gfn);
arch/s390/kvm/dat.h
806
static inline struct segment_table *dereference_pud(union pud pud)
arch/s390/kvm/dat.h
808
return phys_to_virt(crste_origin(pud));
arch/s390/kvm/dat.h
825
return phys_to_virt(crste_origin(crste.pud));
arch/s390/kvm/dat.h
829
union pud : _dereference_crste(_CRSTE(x)), \
arch/s390/kvm/dat.h
933
static inline bool dat_pudp_xchg_atomic(union pud *pudp, union pud old, union pud new,
arch/s390/kvm/gaccess.c
1368
if (table.pud.i)
arch/s390/kvm/gaccess.c
1370
if (table.pud.tt != TABLE_TYPE_REGION3)
arch/s390/kvm/gaccess.c
1372
if (table.pud.cr && asce.p && sg->edat_level >= 2)
arch/s390/kvm/gaccess.c
1375
w->p |= table.pud.p;
arch/s390/kvm/gaccess.c
1376
if (table.pud.fc && sg->edat_level >= 2) {
arch/s390/kvm/gaccess.c
1380
if (vaddr.sx01 < table.pud.fc0.tf || vaddr.sx01 > table.pud.fc0.tl)
arch/s390/kvm/gaccess.c
1382
ptr = table.pud.fc0.sto * PAGE_SIZE;
arch/s390/kvm/gaccess.c
32
union region3_table_entry pud;
arch/s390/mm/dump_pagetables.c
160
static void note_page_pud(struct ptdump_state *pt_st, unsigned long addr, pud_t pud)
arch/s390/mm/dump_pagetables.c
162
note_page(pt_st, addr, 2, pud_val(pud));
arch/s390/mm/gmap_helpers.c
117
pud_t *pudp, pud;
arch/s390/mm/gmap_helpers.c
134
pud = pudp_get(pudp);
arch/s390/mm/gmap_helpers.c
135
if (pud_none(pud) || pud_leaf(pud) || !pud_present(pud))
arch/s390/mm/vmem.c
223
static int __ref modify_pmd_table(pud_t *pud, unsigned long addr,
arch/s390/mm/vmem.c
233
pmd = pmd_offset(pud, addr);
arch/s390/mm/vmem.c
302
static void try_free_pmd_table(pud_t *pud, unsigned long start)
arch/s390/mm/vmem.c
307
pmd = pmd_offset(pud, start);
arch/s390/mm/vmem.c
311
vmem_free_pages(pud_deref(*pud), CRST_ALLOC_ORDER, NULL);
arch/s390/mm/vmem.c
312
pud_clear(pud);
arch/s390/mm/vmem.c
320
pud_t *pud;
arch/s390/mm/vmem.c
324
pud = pud_offset(p4d, addr);
arch/s390/mm/vmem.c
325
for (; addr < end; addr = next, pud++) {
arch/s390/mm/vmem.c
328
if (pud_none(*pud))
arch/s390/mm/vmem.c
330
if (pud_leaf(*pud)) {
arch/s390/mm/vmem.c
334
vmem_free_pages(pud_deref(*pud), get_order(PUD_SIZE), altmap);
arch/s390/mm/vmem.c
335
pud_clear(pud);
arch/s390/mm/vmem.c
339
split_pud_page(pud, addr & PUD_MASK);
arch/s390/mm/vmem.c
342
} else if (pud_none(*pud)) {
arch/s390/mm/vmem.c
347
set_pud(pud, __pud(__pa(addr) | prot));
arch/s390/mm/vmem.c
354
pud_populate(&init_mm, pud, pmd);
arch/s390/mm/vmem.c
355
} else if (pud_leaf(*pud)) {
arch/s390/mm/vmem.c
358
ret = modify_pmd_table(pud, addr, next, add, direct, altmap);
arch/s390/mm/vmem.c
362
try_free_pmd_table(pud, addr & PUD_MASK);
arch/s390/mm/vmem.c
373
pud_t *pud;
arch/s390/mm/vmem.c
376
pud = pud_offset(p4d, start);
arch/s390/mm/vmem.c
377
for (i = 0; i < PTRS_PER_PUD; i++, pud++) {
arch/s390/mm/vmem.c
378
if (!pud_none(*pud))
arch/s390/mm/vmem.c
391
pud_t *pud;
arch/s390/mm/vmem.c
400
pud = vmem_crst_alloc(_REGION3_ENTRY_EMPTY);
arch/s390/mm/vmem.c
401
if (!pud)
arch/s390/mm/vmem.c
403
p4d_populate(&init_mm, p4d, pud);
arch/s390/mm/vmem.c
580
pud_t *pud;
arch/s390/mm/vmem.c
597
pud = vmem_crst_alloc(_REGION3_ENTRY_EMPTY);
arch/s390/mm/vmem.c
598
if (!pud)
arch/s390/mm/vmem.c
600
p4d_populate(&init_mm, p4d, pud);
arch/s390/mm/vmem.c
602
pud = pud_offset(p4d, addr);
arch/s390/mm/vmem.c
603
if (pud_none(*pud)) {
arch/s390/mm/vmem.c
609
pud_populate(&init_mm, pud, pmd);
arch/s390/mm/vmem.c
610
} else if (WARN_ON_ONCE(pud_leaf(*pud))) {
arch/s390/mm/vmem.c
613
pmd = pmd_offset(pud, addr);
arch/sh/include/asm/pgtable-3level.h
41
static inline pmd_t *pud_pgtable(pud_t pud)
arch/sh/include/asm/pgtable-3level.h
43
return (pmd_t *)(unsigned long)pud_val(pud);
arch/sh/include/asm/pgtable-3level.h
47
#define pud_page(pud) NULL
arch/sh/mm/fault.c
125
pud_t *pud, *pud_k;
arch/sh/mm/fault.c
139
pud = pud_offset(p4d, address);
arch/sh/mm/fault.c
144
if (!pud_present(*pud))
arch/sh/mm/fault.c
145
set_pud(pud, *pud_k);
arch/sh/mm/fault.c
147
pmd = pmd_offset(pud, address);
arch/sh/mm/fault.c
57
pud_t *pud;
arch/sh/mm/fault.c
82
pud = pud_offset(p4d, addr);
arch/sh/mm/fault.c
84
pr_cont(", *pud=%0*llx", (u32)(sizeof(*pud) * 2),
arch/sh/mm/fault.c
85
(u64)pud_val(*pud));
arch/sh/mm/fault.c
87
if (pud_none(*pud))
arch/sh/mm/fault.c
90
if (pud_bad(*pud)) {
arch/sh/mm/fault.c
95
pmd = pmd_offset(pud, addr);
arch/sh/mm/hugetlbpage.c
29
pud_t *pud;
arch/sh/mm/hugetlbpage.c
37
pud = pud_alloc(mm, p4d, addr);
arch/sh/mm/hugetlbpage.c
38
if (pud) {
arch/sh/mm/hugetlbpage.c
39
pmd = pmd_alloc(mm, pud, addr);
arch/sh/mm/hugetlbpage.c
54
pud_t *pud;
arch/sh/mm/hugetlbpage.c
62
pud = pud_offset(p4d, addr);
arch/sh/mm/hugetlbpage.c
63
if (pud) {
arch/sh/mm/hugetlbpage.c
64
pmd = pmd_offset(pud, addr);
arch/sh/mm/init.c
135
static pmd_t * __init one_md_table_init(pud_t *pud)
arch/sh/mm/init.c
137
if (pud_none(*pud)) {
arch/sh/mm/init.c
141
pud_populate(&init_mm, pud, pmd);
arch/sh/mm/init.c
142
BUG_ON(pmd != pmd_offset(pud, 0));
arch/sh/mm/init.c
145
return pmd_offset(pud, 0);
arch/sh/mm/init.c
171
pud_t *pud;
arch/sh/mm/init.c
184
pud = (pud_t *)pgd;
arch/sh/mm/init.c
185
for ( ; (j < PTRS_PER_PUD) && (vaddr != end); pud++, j++) {
arch/sh/mm/init.c
186
pmd = one_md_table_init(pud);
arch/sh/mm/init.c
51
pud_t *pud;
arch/sh/mm/init.c
66
pud = pud_alloc(NULL, p4d, addr);
arch/sh/mm/init.c
67
if (unlikely(!pud)) {
arch/sh/mm/init.c
68
pud_ERROR(*pud);
arch/sh/mm/init.c
72
pmd = pmd_alloc(NULL, pud, addr);
arch/sh/mm/pgtable.c
45
void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/sh/mm/pgtable.c
47
set_pud(pud, __pud((unsigned long)pmd));
arch/sh/mm/tlbex_32.c
28
pud_t *pud;
arch/sh/mm/tlbex_32.c
50
pud = pud_offset(p4d, address);
arch/sh/mm/tlbex_32.c
51
if (pud_none_or_clear_bad(pud))
arch/sh/mm/tlbex_32.c
53
pmd = pmd_offset(pud, address);
arch/sparc/include/asm/page_64.h
70
typedef struct { unsigned long pud; } pud_t;
arch/sparc/include/asm/page_64.h
77
#define pud_val(x) ((x).pud)
arch/sparc/include/asm/pgalloc_64.h
115
#define __pud_free_tlb(tlb, pud, addr) \
arch/sparc/include/asm/pgalloc_64.h
116
pgtable_free_tlb(tlb, pud, false)
arch/sparc/include/asm/pgalloc_64.h
19
static inline void __p4d_populate(p4d_t *p4d, pud_t *pud)
arch/sparc/include/asm/pgalloc_64.h
21
p4d_set(p4d, pud);
arch/sparc/include/asm/pgalloc_64.h
36
static inline void __pud_populate(pud_t *pud, pmd_t *pmd)
arch/sparc/include/asm/pgalloc_64.h
38
pud_set(pud, pmd);
arch/sparc/include/asm/pgalloc_64.h
48
static inline void pud_free(struct mm_struct *mm, pud_t *pud)
arch/sparc/include/asm/pgalloc_64.h
50
kmem_cache_free(pgtable_cache, pud);
arch/sparc/include/asm/pgtable_32.h
138
static inline pmd_t *pud_pgtable(pud_t pud)
arch/sparc/include/asm/pgtable_32.h
140
if (srmmu_device_memory(pud_val(pud))) {
arch/sparc/include/asm/pgtable_32.h
143
unsigned long v = pud_val(pud) & SRMMU_PTD_PMASK;
arch/sparc/include/asm/pgtable_32.h
188
static inline int pud_none(pud_t pud)
arch/sparc/include/asm/pgtable_32.h
190
return !(pud_val(pud) & 0xFFFFFFF);
arch/sparc/include/asm/pgtable_32.h
193
static inline int pud_bad(pud_t pud)
arch/sparc/include/asm/pgtable_32.h
195
return (pud_val(pud) & SRMMU_ET_MASK) != SRMMU_ET_PTD;
arch/sparc/include/asm/pgtable_32.h
198
static inline int pud_present(pud_t pud)
arch/sparc/include/asm/pgtable_32.h
200
return ((pud_val(pud) & SRMMU_ET_MASK) == SRMMU_ET_PTD);
arch/sparc/include/asm/pgtable_32.h
304
#define pud_page(pud) NULL
arch/sparc/include/asm/pgtable_64.h
1166
extern unsigned long pud_leaf_size(pud_t pud);
arch/sparc/include/asm/pgtable_64.h
433
static inline bool is_hugetlb_pud(pud_t pud)
arch/sparc/include/asm/pgtable_64.h
435
return !!(pud_val(pud) & _PAGE_PUD_HUGE);
arch/sparc/include/asm/pgtable_64.h
704
#define pud_write(pud) pte_write(__pte(pud_val(pud)))
arch/sparc/include/asm/pgtable_64.h
808
#define pud_none(pud) (!pud_val(pud))
arch/sparc/include/asm/pgtable_64.h
810
#define pud_bad(pud) (pud_val(pud) & ~PAGE_MASK)
arch/sparc/include/asm/pgtable_64.h
846
static inline pmd_t *pud_pgtable(pud_t pud)
arch/sparc/include/asm/pgtable_64.h
848
pte_t pte = __pte(pud_val(pud));
arch/sparc/include/asm/pgtable_64.h
857
#define pud_page(pud) virt_to_page((void *)pud_pgtable(pud))
arch/sparc/include/asm/pgtable_64.h
859
#define pud_present(pud) (pud_val(pud) != 0U)
arch/sparc/include/asm/pgtable_64.h
870
static inline bool pud_leaf(pud_t pud)
arch/sparc/include/asm/pgtable_64.h
872
pte_t pte = __pte(pud_val(pud));
arch/sparc/include/asm/pgtable_64.h
878
static inline unsigned long pud_pfn(pud_t pud)
arch/sparc/include/asm/pgtable_64.h
880
pte_t pte = __pte(pud_val(pud));
arch/sparc/mm/fault_32.c
275
pud_t *pud, *pud_k;
arch/sparc/mm/fault_32.c
289
pud = pud_offset(p4d, address);
arch/sparc/mm/fault_32.c
290
pmd = pmd_offset(pud, address);
arch/sparc/mm/hugetlbpage.c
186
unsigned long pud_leaf_size(pud_t pud) { return 1UL << tte_to_shift(*(pte_t *)&pud); }
arch/sparc/mm/hugetlbpage.c
195
pud_t *pud;
arch/sparc/mm/hugetlbpage.c
200
pud = pud_alloc(mm, p4d, addr);
arch/sparc/mm/hugetlbpage.c
201
if (!pud)
arch/sparc/mm/hugetlbpage.c
204
return (pte_t *)pud;
arch/sparc/mm/hugetlbpage.c
205
pmd = pmd_alloc(mm, pud, addr);
arch/sparc/mm/hugetlbpage.c
218
pud_t *pud;
arch/sparc/mm/hugetlbpage.c
227
pud = pud_offset(p4d, addr);
arch/sparc/mm/hugetlbpage.c
228
if (pud_none(*pud))
arch/sparc/mm/hugetlbpage.c
230
if (is_hugetlb_pud(*pud))
arch/sparc/mm/hugetlbpage.c
231
return (pte_t *)pud;
arch/sparc/mm/hugetlbpage.c
232
pmd = pmd_offset(pud, addr);
arch/sparc/mm/init_64.c
1624
pud_t *pud;
arch/sparc/mm/init_64.c
1649
pud = pud_offset(p4d, addr);
arch/sparc/mm/init_64.c
1650
if (pud_none(*pud))
arch/sparc/mm/init_64.c
1653
if (pud_leaf(*pud))
arch/sparc/mm/init_64.c
1654
return pfn_valid(pud_pfn(*pud));
arch/sparc/mm/init_64.c
1656
pmd = pmd_offset(pud, addr);
arch/sparc/mm/init_64.c
1672
pud_t *pud)
arch/sparc/mm/init_64.c
1681
pud_val(*pud) = pte_val | _PAGE_PUD_HUGE;
arch/sparc/mm/init_64.c
1691
pud_val(*pud) = pte_val;
arch/sparc/mm/init_64.c
1695
pud++;
arch/sparc/mm/init_64.c
1775
pud_t *pud;
arch/sparc/mm/init_64.c
1802
pud = pud_offset(p4d, vstart);
arch/sparc/mm/init_64.c
1803
if (pud_none(*pud)) {
arch/sparc/mm/init_64.c
1807
vstart = kernel_map_hugepud(vstart, vend, pud);
arch/sparc/mm/init_64.c
1815
pud_populate(&init_mm, pud, new);
arch/sparc/mm/init_64.c
1818
pmd = pmd_offset(pud, vstart);
arch/sparc/mm/init_64.c
2591
pud_t *pud;
arch/sparc/mm/init_64.c
2601
pud = vmemmap_pud_populate(p4d, vstart, node);
arch/sparc/mm/init_64.c
2602
if (!pud)
arch/sparc/mm/init_64.c
2605
pmd = pmd_offset(pud, vstart);
arch/sparc/mm/srmmu.c
272
pud_t *pud;
arch/sparc/mm/srmmu.c
301
pud = pud_offset(p4d, vaddr);
arch/sparc/mm/srmmu.c
302
pmd = pmd_offset(__nocache_fix(pud), vaddr);
arch/sparc/mm/srmmu.c
901
pud_t *pud;
arch/sparc/mm/srmmu.c
964
pud = pud_offset(p4d, PKMAP_BASE);
arch/sparc/mm/srmmu.c
965
pmd = pmd_offset(pud, PKMAP_BASE);
arch/um/include/asm/page.h
42
typedef struct { unsigned long pud; } pud_t;
arch/um/include/asm/page.h
43
#define pud_val(x) ((x).pud)
arch/um/include/asm/pgalloc.h
38
#define __pud_free_tlb(tlb, pud, address) \
arch/um/include/asm/pgalloc.h
39
tlb_remove_ptdesc((tlb), virt_to_ptdesc(pud))
arch/um/include/asm/pgtable-4level.h
61
#define pud_populate(mm, pud, pmd) \
arch/um/include/asm/pgtable-4level.h
62
set_pud(pud, __pud(_PAGE_TABLE + __pa(pmd)))
arch/um/include/asm/pgtable-4level.h
69
#define p4d_populate(mm, p4d, pud) \
arch/um/include/asm/pgtable-4level.h
70
set_p4d(p4d, __p4d(_PAGE_TABLE + __pa(pud)))
arch/um/include/asm/pgtable-4level.h
84
static inline void pud_clear (pud_t *pud)
arch/um/include/asm/pgtable-4level.h
86
set_pud(pud, __pud(_PAGE_NEEDSYNC));
arch/um/include/asm/pgtable-4level.h
94
#define pud_page(pud) phys_to_page(pud_val(pud) & PAGE_MASK)
arch/um/include/asm/pgtable-4level.h
95
#define pud_pgtable(pud) ((pmd_t *) __va(pud_val(pud) & PAGE_MASK))
arch/um/kernel/skas/uaccess.c
21
pud_t *pud;
arch/um/kernel/skas/uaccess.c
35
pud = pud_offset(p4d, addr);
arch/um/kernel/skas/uaccess.c
36
if (!pud_present(*pud))
arch/um/kernel/skas/uaccess.c
39
pmd = pmd_offset(pud, addr);
arch/um/kernel/tlb.c
100
pmd = pmd_offset(pud, addr);
arch/um/kernel/tlb.c
119
pud_t *pud;
arch/um/kernel/tlb.c
123
pud = pud_offset(p4d, addr);
arch/um/kernel/tlb.c
126
if (!pud_present(*pud)) {
arch/um/kernel/tlb.c
127
if (pud_needsync(*pud)) {
arch/um/kernel/tlb.c
130
pud_mkuptodate(*pud);
arch/um/kernel/tlb.c
133
else ret = update_pmd_range(pud, addr, next, ops);
arch/um/kernel/tlb.c
134
} while (pud++, addr = next, ((addr < end) && !ret));
arch/um/kernel/tlb.c
92
static inline int update_pmd_range(pud_t *pud, unsigned long addr,
arch/x86/boot/startup/map_kernel.c
136
level3_kernel_pgt[PTRS_PER_PUD - 2].pud += load_delta;
arch/x86/boot/startup/map_kernel.c
137
level3_kernel_pgt[PTRS_PER_PUD - 1].pud += load_delta;
arch/x86/boot/startup/map_kernel.c
149
pud = &early_pgts[0]->pmd;
arch/x86/boot/startup/map_kernel.c
163
p4d[(i + 0) % PTRS_PER_P4D] = (pgdval_t)pud + pgtable_flags;
arch/x86/boot/startup/map_kernel.c
164
p4d[(i + 1) % PTRS_PER_P4D] = (pgdval_t)pud + pgtable_flags;
arch/x86/boot/startup/map_kernel.c
167
pgd[i + 0] = (pgdval_t)pud + pgtable_flags;
arch/x86/boot/startup/map_kernel.c
168
pgd[i + 1] = (pgdval_t)pud + pgtable_flags;
arch/x86/boot/startup/map_kernel.c
172
pud[(i + 0) % PTRS_PER_PUD] = (pudval_t)pmd + pgtable_flags;
arch/x86/boot/startup/map_kernel.c
173
pud[(i + 1) % PTRS_PER_PUD] = (pudval_t)pmd + pgtable_flags;
arch/x86/boot/startup/map_kernel.c
97
pudval_t *pud;
arch/x86/boot/startup/sme.c
114
pud_t *pud;
arch/x86/boot/startup/sme.c
127
pud = ppd->pgtable_area;
arch/x86/boot/startup/sme.c
128
memset(pud, 0, sizeof(*pud) * PTRS_PER_PUD);
arch/x86/boot/startup/sme.c
129
ppd->pgtable_area += sizeof(*pud) * PTRS_PER_PUD;
arch/x86/boot/startup/sme.c
130
set_p4d(p4d, __p4d(P4D_FLAGS | __pa(pud)));
arch/x86/boot/startup/sme.c
133
pud = pud_offset(p4d, ppd->vaddr);
arch/x86/boot/startup/sme.c
134
if (pud_none(*pud)) {
arch/x86/boot/startup/sme.c
138
set_pud(pud, __pud(PUD_FLAGS | __pa(pmd)));
arch/x86/boot/startup/sme.c
141
if (pud_leaf(*pud))
arch/x86/boot/startup/sme.c
144
return pud;
arch/x86/boot/startup/sme.c
149
pud_t *pud;
arch/x86/boot/startup/sme.c
152
pud = sme_prepare_pgd(ppd);
arch/x86/boot/startup/sme.c
153
if (!pud)
arch/x86/boot/startup/sme.c
156
pmd = pmd_offset(pud, ppd->vaddr);
arch/x86/boot/startup/sme.c
165
pud_t *pud;
arch/x86/boot/startup/sme.c
169
pud = sme_prepare_pgd(ppd);
arch/x86/boot/startup/sme.c
170
if (!pud)
arch/x86/boot/startup/sme.c
173
pmd = pmd_offset(pud, ppd->vaddr);
arch/x86/entry/vsyscall/vsyscall_64.c
348
pud_t *pud;
arch/x86/entry/vsyscall/vsyscall_64.c
355
pud = pud_offset(p4d, VSYSCALL_ADDR);
arch/x86/entry/vsyscall/vsyscall_64.c
356
set_pud(pud, __pud(pud_val(*pud) | _PAGE_USER));
arch/x86/entry/vsyscall/vsyscall_64.c
357
pmd = pmd_offset(pud, VSYSCALL_ADDR);
arch/x86/hyperv/hv_crash.c
510
pud_t *pud;
arch/x86/hyperv/hv_crash.c
520
pud = hv_crash_ptpgs[1] + pud_index(addr) * sizeof(pud);
arch/x86/hyperv/hv_crash.c
522
set_pud(pud, __pud(_PAGE_TABLE | pa));
arch/x86/include/asm/kexec.h
164
pud_t *pud;
arch/x86/include/asm/paravirt.h
399
static inline void set_pud(pud_t *pudp, pud_t pud)
arch/x86/include/asm/paravirt.h
401
PVOP_VCALL2(pv_ops, mmu.set_pud, pudp, native_pud_val(pud));
arch/x86/include/asm/paravirt.h
414
static inline pudval_t pud_val(pud_t pud)
arch/x86/include/asm/paravirt.h
416
return PVOP_ALT_CALLEE1(pudval_t, pv_ops, mmu.pud_val, pud.pud,
arch/x86/include/asm/pgalloc.h
100
set_pud(pud, __pud(_PAGE_TABLE | __pa(pmd)));
arch/x86/include/asm/pgalloc.h
103
static inline void pud_populate_safe(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/x86/include/asm/pgalloc.h
106
set_pud_safe(pud, __pud(_PAGE_TABLE | __pa(pmd)));
arch/x86/include/asm/pgalloc.h
111
static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud)
arch/x86/include/asm/pgalloc.h
113
paravirt_alloc_pud(mm, __pa(pud) >> PAGE_SHIFT);
arch/x86/include/asm/pgalloc.h
114
set_p4d(p4d, __p4d(_PAGE_TABLE | __pa(pud)));
arch/x86/include/asm/pgalloc.h
117
static inline void p4d_populate_safe(struct mm_struct *mm, p4d_t *p4d, pud_t *pud)
arch/x86/include/asm/pgalloc.h
119
paravirt_alloc_pud(mm, __pa(pud) >> PAGE_SHIFT);
arch/x86/include/asm/pgalloc.h
120
set_p4d_safe(p4d, __p4d(_PAGE_TABLE | __pa(pud)));
arch/x86/include/asm/pgalloc.h
123
extern void ___pud_free_tlb(struct mmu_gather *tlb, pud_t *pud);
arch/x86/include/asm/pgalloc.h
125
static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud,
arch/x86/include/asm/pgalloc.h
128
___pud_free_tlb(tlb, pud);
arch/x86/include/asm/pgalloc.h
97
static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
arch/x86/include/asm/pgtable-2level.h
25
static inline void native_set_pud(pud_t *pudp, pud_t pud)
arch/x86/include/asm/pgtable-3level.h
115
return pxx_xchg64(pud, pudp, 0ULL);
arch/x86/include/asm/pgtable-3level.h
53
static inline void native_set_pud(pud_t *pudp, pud_t pud)
arch/x86/include/asm/pgtable-3level.h
56
pud.p4d.pgd = pti_set_user_pgtbl(&pudp->p4d.pgd, pud.p4d.pgd);
arch/x86/include/asm/pgtable-3level.h
58
pxx_xchg64(pud, pudp, native_pud_val(pud));
arch/x86/include/asm/pgtable.h
1045
static inline int pud_none(pud_t pud)
arch/x86/include/asm/pgtable.h
1047
return (native_pud_val(pud) & ~(_PAGE_KNL_ERRATUM_MASK)) == 0;
arch/x86/include/asm/pgtable.h
1050
static inline int pud_present(pud_t pud)
arch/x86/include/asm/pgtable.h
1052
return pud_flags(pud) & _PAGE_PRESENT;
arch/x86/include/asm/pgtable.h
1055
static inline pmd_t *pud_pgtable(pud_t pud)
arch/x86/include/asm/pgtable.h
1057
return (pmd_t *)__va(pud_val(pud) & pud_pfn_mask(pud));
arch/x86/include/asm/pgtable.h
1064
#define pud_page(pud) pfn_to_page(pud_pfn(pud))
arch/x86/include/asm/pgtable.h
1067
static inline bool pud_leaf(pud_t pud)
arch/x86/include/asm/pgtable.h
1069
return pud_val(pud) & _PAGE_PSE;
arch/x86/include/asm/pgtable.h
1072
static inline int pud_bad(pud_t pud)
arch/x86/include/asm/pgtable.h
1074
return (pud_flags(pud) & ~(_KERNPG_TABLE | _PAGE_USER)) != 0;
arch/x86/include/asm/pgtable.h
1222
pud_t *pudp, pud_t pud)
arch/x86/include/asm/pgtable.h
1224
page_table_check_pud_set(mm, addr, pudp, pud);
arch/x86/include/asm/pgtable.h
1225
native_set_pud(pudp, pud);
arch/x86/include/asm/pgtable.h
1331
pud_t pud = native_pudp_get_and_clear(pudp);
arch/x86/include/asm/pgtable.h
1333
page_table_check_pud_clear(mm, addr, pud);
arch/x86/include/asm/pgtable.h
1335
return pud;
arch/x86/include/asm/pgtable.h
1373
unsigned long address, pud_t *pudp, pud_t pud)
arch/x86/include/asm/pgtable.h
1375
page_table_check_pud_set(vma->vm_mm, address, pudp, pud);
arch/x86/include/asm/pgtable.h
1377
return xchg(pudp, pud);
arch/x86/include/asm/pgtable.h
138
static inline pud_t pud_set_flags(pud_t pud, pudval_t set)
arch/x86/include/asm/pgtable.h
1380
WRITE_ONCE(*pudp, pud);
arch/x86/include/asm/pgtable.h
140
pudval_t v = native_pud_val(pud);
arch/x86/include/asm/pgtable.h
145
static inline pud_t pud_clear_flags(pud_t pud, pudval_t clear)
arch/x86/include/asm/pgtable.h
147
pudval_t v = native_pud_val(pud);
arch/x86/include/asm/pgtable.h
1510
unsigned long addr, pud_t *pud)
arch/x86/include/asm/pgtable.h
1652
static inline bool pud_access_permitted(pud_t pud, bool write)
arch/x86/include/asm/pgtable.h
1654
return __pte_access_permitted(pud_val(pud), write);
arch/x86/include/asm/pgtable.h
1672
void arch_check_zapped_pud(struct vm_area_struct *vma, pud_t pud);
arch/x86/include/asm/pgtable.h
1693
static inline bool pud_user_accessible_page(pud_t pud, unsigned long addr)
arch/x86/include/asm/pgtable.h
1695
return pud_leaf(pud) && (pud_val(pud) & _PAGE_PRESENT) && (pud_val(pud) & _PAGE_USER);
arch/x86/include/asm/pgtable.h
1727
#define set_pud_safe(pudp, pud) \
arch/x86/include/asm/pgtable.h
1729
WARN_ON_ONCE(pud_present(*pudp) && !pud_same(*pudp, pud)); \
arch/x86/include/asm/pgtable.h
1730
set_pud(pudp, pud); \
arch/x86/include/asm/pgtable.h
196
static inline bool pud_dirty(pud_t pud)
arch/x86/include/asm/pgtable.h
198
return pud_flags(pud) & _PAGE_DIRTY_BITS;
arch/x86/include/asm/pgtable.h
201
static inline int pud_young(pud_t pud)
arch/x86/include/asm/pgtable.h
203
return pud_flags(pud) & _PAGE_ACCESSED;
arch/x86/include/asm/pgtable.h
206
static inline bool pud_shstk(pud_t pud)
arch/x86/include/asm/pgtable.h
209
(pud_flags(pud) & (_PAGE_RW | _PAGE_DIRTY | _PAGE_PSE)) ==
arch/x86/include/asm/pgtable.h
233
static inline int pud_write(pud_t pud)
arch/x86/include/asm/pgtable.h
235
return pud_flags(pud) & _PAGE_RW;
arch/x86/include/asm/pgtable.h
279
static inline unsigned long pud_pfn(pud_t pud)
arch/x86/include/asm/pgtable.h
281
phys_addr_t pfn = pud_val(pud);
arch/x86/include/asm/pgtable.h
283
return (pfn & pud_pfn_mask(pud)) >> PAGE_SHIFT;
arch/x86/include/asm/pgtable.h
311
static inline int pud_trans_huge(pud_t pud)
arch/x86/include/asm/pgtable.h
313
return (pud_val(pud) & _PAGE_PSE) == _PAGE_PSE;
arch/x86/include/asm/pgtable.h
336
static inline bool pud_special(pud_t pud)
arch/x86/include/asm/pgtable.h
338
return pud_flags(pud) & _PAGE_SPECIAL;
arch/x86/include/asm/pgtable.h
341
static inline pud_t pud_mkspecial(pud_t pud)
arch/x86/include/asm/pgtable.h
343
return pud_set_flags(pud, _PAGE_SPECIAL);
arch/x86/include/asm/pgtable.h
596
static inline pud_t pud_mksaveddirty(pud_t pud)
arch/x86/include/asm/pgtable.h
598
pudval_t v = native_pud_val(pud);
arch/x86/include/asm/pgtable.h
605
static inline pud_t pud_clear_saveddirty(pud_t pud)
arch/x86/include/asm/pgtable.h
607
pudval_t v = native_pud_val(pud);
arch/x86/include/asm/pgtable.h
613
static inline pud_t pud_mkold(pud_t pud)
arch/x86/include/asm/pgtable.h
615
return pud_clear_flags(pud, _PAGE_ACCESSED);
arch/x86/include/asm/pgtable.h
618
static inline pud_t pud_mkclean(pud_t pud)
arch/x86/include/asm/pgtable.h
620
return pud_clear_flags(pud, _PAGE_DIRTY_BITS);
arch/x86/include/asm/pgtable.h
623
static inline pud_t pud_wrprotect(pud_t pud)
arch/x86/include/asm/pgtable.h
625
pud = pud_clear_flags(pud, _PAGE_RW);
arch/x86/include/asm/pgtable.h
632
return pud_mksaveddirty(pud);
arch/x86/include/asm/pgtable.h
635
static inline pud_t pud_mkdirty(pud_t pud)
arch/x86/include/asm/pgtable.h
637
pud = pud_set_flags(pud, _PAGE_DIRTY | _PAGE_SOFT_DIRTY);
arch/x86/include/asm/pgtable.h
639
return pud_mksaveddirty(pud);
arch/x86/include/asm/pgtable.h
642
static inline pud_t pud_mkhuge(pud_t pud)
arch/x86/include/asm/pgtable.h
644
return pud_set_flags(pud, _PAGE_PSE);
arch/x86/include/asm/pgtable.h
647
static inline pud_t pud_mkyoung(pud_t pud)
arch/x86/include/asm/pgtable.h
649
return pud_set_flags(pud, _PAGE_ACCESSED);
arch/x86/include/asm/pgtable.h
652
static inline pud_t pud_mkwrite(pud_t pud)
arch/x86/include/asm/pgtable.h
654
pud = pud_set_flags(pud, _PAGE_RW);
arch/x86/include/asm/pgtable.h
656
return pud_clear_saveddirty(pud);
arch/x86/include/asm/pgtable.h
670
static inline int pud_soft_dirty(pud_t pud)
arch/x86/include/asm/pgtable.h
672
return pud_flags(pud) & _PAGE_SOFT_DIRTY;
arch/x86/include/asm/pgtable.h
685
static inline pud_t pud_mksoft_dirty(pud_t pud)
arch/x86/include/asm/pgtable.h
687
return pud_set_flags(pud, _PAGE_SOFT_DIRTY);
arch/x86/include/asm/pgtable.h
700
static inline pud_t pud_clear_soft_dirty(pud_t pud)
arch/x86/include/asm/pgtable.h
702
return pud_clear_flags(pud, _PAGE_SOFT_DIRTY);
arch/x86/include/asm/pgtable.h
771
static inline pud_t pud_mkinvalid(pud_t pud)
arch/x86/include/asm/pgtable.h
773
return pfn_pud(pud_pfn(pud),
arch/x86/include/asm/pgtable.h
774
__pgprot(pud_flags(pud) & ~(_PAGE_PRESENT|_PAGE_PROTNONE)));
arch/x86/include/asm/pgtable.h
835
static inline pud_t pud_modify(pud_t pud, pgprot_t newprot)
arch/x86/include/asm/pgtable.h
837
pudval_t val = pud_val(pud), oldval = val;
arch/x86/include/asm/pgtable.h
89
# define set_pud(pudp, pud) native_set_pud(pudp, pud)
arch/x86/include/asm/pgtable.h
93
#define pud_clear(pud) native_pud_clear(pud)
arch/x86/include/asm/pgtable_64.h
113
static inline void native_set_pud(pud_t *pudp, pud_t pud)
arch/x86/include/asm/pgtable_64.h
115
WRITE_ONCE(*pudp, pud);
arch/x86/include/asm/pgtable_64.h
118
static inline void native_pud_clear(pud_t *pud)
arch/x86/include/asm/pgtable_64.h
120
native_set_pud(pud, native_make_pud(0));
arch/x86/include/asm/pgtable_64.h
126
return native_make_pud(xchg(&xp->pud, 0));
arch/x86/include/asm/pgtable_types.h
368
typedef struct { pudval_t pud; } pud_t;
arch/x86/include/asm/pgtable_types.h
375
static inline pudval_t native_pud_val(pud_t pud)
arch/x86/include/asm/pgtable_types.h
377
return pud.pud;
arch/x86/include/asm/pgtable_types.h
387
static inline pudval_t native_pud_val(pud_t pud)
arch/x86/include/asm/pgtable_types.h
389
return native_pgd_val(pud.p4d.pgd);
arch/x86/include/asm/pgtable_types.h
408
return (pmd_t) { .pud.p4d.pgd = native_make_pgd(val) };
arch/x86/include/asm/pgtable_types.h
413
return native_pgd_val(pmd.pud.p4d.pgd);
arch/x86/include/asm/pgtable_types.h
433
static inline pudval_t pud_pfn_mask(pud_t pud)
arch/x86/include/asm/pgtable_types.h
435
if (native_pud_val(pud) & _PAGE_PSE)
arch/x86/include/asm/pgtable_types.h
441
static inline pudval_t pud_flags_mask(pud_t pud)
arch/x86/include/asm/pgtable_types.h
443
return ~pud_pfn_mask(pud);
arch/x86/include/asm/pgtable_types.h
446
static inline pudval_t pud_flags(pud_t pud)
arch/x86/include/asm/pgtable_types.h
448
return native_pud_val(pud) & pud_flags_mask(pud);
arch/x86/include/asm/xen/page.h
338
#define pud_val_ma(v) ((v).pud)
arch/x86/kernel/espfix_64.c
129
pud_t pud, *pud_p;
arch/x86/kernel/espfix_64.c
163
pud = *pud_p;
arch/x86/kernel/espfix_64.c
164
if (!pud_present(pud)) {
arch/x86/kernel/espfix_64.c
168
pud = __pud(__pa(pmd_p) | (PGTABLE_PROT & ptemask));
arch/x86/kernel/espfix_64.c
171
set_pud(&pud_p[n], pud);
arch/x86/kernel/espfix_64.c
174
pmd_p = pmd_offset(&pud, addr);
arch/x86/kernel/head64.c
130
pud = *pud_p;
arch/x86/kernel/head64.c
132
if (pud)
arch/x86/kernel/head64.c
133
pmd_p = (pmdval_t *)((pud & PTE_PFN_MASK) + __START_KERNEL_map - phys_base);
arch/x86/kernel/head64.c
84
pudval_t pud, *pud_p;
arch/x86/kernel/ldt.c
218
pud_t *pud;
arch/x86/kernel/ldt.c
227
pud = pud_offset(p4d, va);
arch/x86/kernel/ldt.c
228
if (pud_none(*pud))
arch/x86/kernel/ldt.c
231
return pmd_offset(pud, va);
arch/x86/kernel/machine_kexec_32.c
84
pud_t *pud;
arch/x86/kernel/machine_kexec_32.c
92
pud = pud_offset(p4d, vaddr);
arch/x86/kernel/machine_kexec_32.c
93
pmd = pmd_offset(pud, vaddr);
arch/x86/kernel/machine_kexec_64.c
155
free_page((unsigned long)image->arch.pud);
arch/x86/kernel/machine_kexec_64.c
156
image->arch.pud = NULL;
arch/x86/kernel/machine_kexec_64.c
170
pud_t *pud;
arch/x86/kernel/machine_kexec_64.c
191
pud = (pud_t *)get_zeroed_page(GFP_KERNEL);
arch/x86/kernel/machine_kexec_64.c
192
if (!pud)
arch/x86/kernel/machine_kexec_64.c
194
image->arch.pud = pud;
arch/x86/kernel/machine_kexec_64.c
195
set_p4d(p4d, __p4d(__pa(pud) | _KERNPG_TABLE));
arch/x86/kernel/machine_kexec_64.c
197
pud = pud_offset(p4d, vaddr);
arch/x86/kernel/machine_kexec_64.c
198
if (!pud_present(*pud)) {
arch/x86/kernel/machine_kexec_64.c
203
set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE));
arch/x86/kernel/machine_kexec_64.c
205
pmd = pmd_offset(pud, vaddr);
arch/x86/kernel/tboot.c
118
pud_t *pud;
arch/x86/kernel/tboot.c
126
pud = pud_alloc(&tboot_mm, p4d, vaddr);
arch/x86/kernel/tboot.c
127
if (!pud)
arch/x86/kernel/tboot.c
129
pmd = pmd_alloc(&tboot_mm, pud, vaddr);
arch/x86/kvm/mmu/mmu.c
3239
pud_t pud;
arch/x86/kvm/mmu/mmu.c
3274
pud = READ_ONCE(*pud_offset(&p4d, hva));
arch/x86/kvm/mmu/mmu.c
3275
if (pud_none(pud) || !pud_present(pud))
arch/x86/kvm/mmu/mmu.c
3278
if (pud_leaf(pud)) {
arch/x86/kvm/mmu/mmu.c
3283
pmd = READ_ONCE(*pmd_offset(&pud, hva));
arch/x86/mm/dump_pagetables.c
279
static void effective_prot_pud(struct ptdump_state *st, pud_t pud)
arch/x86/mm/dump_pagetables.c
281
effective_prot(st, 2, pud_val(pud));
arch/x86/mm/dump_pagetables.c
401
static void note_page_pud(struct ptdump_state *pt_st, unsigned long addr, pud_t pud)
arch/x86/mm/dump_pagetables.c
403
note_page(pt_st, addr, 2, pud_val(pud));
arch/x86/mm/fault.c
1013
pud = pud_offset(p4d, address);
arch/x86/mm/fault.c
1014
if (!pud_present(*pud))
arch/x86/mm/fault.c
1017
if (pud_leaf(*pud))
arch/x86/mm/fault.c
1018
return spurious_kernel_fault_check(error_code, (pte_t *) pud);
arch/x86/mm/fault.c
1020
pmd = pmd_offset(pud, address);
arch/x86/mm/fault.c
180
pud_t *pud, *pud_k;
arch/x86/mm/fault.c
199
pud = pud_offset(p4d, address);
arch/x86/mm/fault.c
204
pmd = pmd_offset(pud, address);
arch/x86/mm/fault.c
299
pud_t *pud;
arch/x86/mm/fault.c
312
pud = pud_offset(p4d, address);
arch/x86/mm/fault.c
313
pmd = pmd_offset(pud, address);
arch/x86/mm/fault.c
355
pud_t *pud;
arch/x86/mm/fault.c
375
pud = pud_offset(p4d, address);
arch/x86/mm/fault.c
376
if (bad_address(pud))
arch/x86/mm/fault.c
379
pr_cont("PUD %lx ", pud_val(*pud));
arch/x86/mm/fault.c
380
if (!pud_present(*pud) || pud_leaf(*pud))
arch/x86/mm/fault.c
383
pmd = pmd_offset(pud, address);
arch/x86/mm/fault.c
984
pud_t *pud;
arch/x86/mm/ident_map.c
100
pud_t *pud = pud_page + pud_index(addr);
arch/x86/mm/ident_map.c
107
if (pud_leaf(*pud))
arch/x86/mm/ident_map.c
120
use_gbpage &= !pud_present(*pud);
arch/x86/mm/ident_map.c
126
set_pud(pud, pudval);
arch/x86/mm/ident_map.c
130
if (pud_present(*pud)) {
arch/x86/mm/ident_map.c
131
pmd = pmd_offset(pud, 0);
arch/x86/mm/ident_map.c
139
set_pud(pud, __pud(__pa(pmd) | info->kernpg_flag));
arch/x86/mm/ident_map.c
14
static void free_pmd(struct x86_mapping_info *info, pud_t *pud)
arch/x86/mm/ident_map.c
153
pud_t *pud;
arch/x86/mm/ident_map.c
157
pud = pud_offset(p4d, 0);
arch/x86/mm/ident_map.c
158
result = ident_pud_init(info, pud, addr, next);
arch/x86/mm/ident_map.c
16
pmd_t *pmd = pmd_offset(pud, 0);
arch/x86/mm/ident_map.c
164
pud = (pud_t *)info->alloc_pgt_page(info->context);
arch/x86/mm/ident_map.c
165
if (!pud)
arch/x86/mm/ident_map.c
168
result = ident_pud_init(info, pud, addr, next);
arch/x86/mm/ident_map.c
172
set_p4d(p4d, __p4d(__pa(pud) | info->kernpg_flag | _PAGE_NOPTISHADOW));
arch/x86/mm/ident_map.c
219
pud_t *pud = pud_offset(p4d, 0);
arch/x86/mm/ident_map.c
220
set_pgd(pgd, __pgd(__pa(pud) | info->kernpg_flag | _PAGE_NOPTISHADOW));
arch/x86/mm/ident_map.c
34
pud_t *pud = pud_offset(p4d, 0);
arch/x86/mm/ident_map.c
38
if (!pud_present(pud[i]))
arch/x86/mm/ident_map.c
41
if (pud_leaf(pud[i]))
arch/x86/mm/ident_map.c
44
free_pmd(info, &pud[i]);
arch/x86/mm/ident_map.c
47
info->free_pgt_page(pud, info->context);
arch/x86/mm/init_32.c
423
pud_t *pud;
arch/x86/mm/init_32.c
443
pud = pud_offset(p4d, va);
arch/x86/mm/init_32.c
444
pmd = pmd_offset(pud, va);
arch/x86/mm/init_32.c
70
pud_t *pud;
arch/x86/mm/init_32.c
78
pud = pud_offset(p4d, 0);
arch/x86/mm/init_32.c
79
BUG_ON(pmd_table != pmd_offset(pud, 0));
arch/x86/mm/init_32.c
85
pud = pud_offset(p4d, 0);
arch/x86/mm/init_32.c
86
pmd_table = pmd_offset(pud, 0);
arch/x86/mm/init_64.c
1058
static void __meminit free_pmd_table(pmd_t *pmd_start, pud_t *pud)
arch/x86/mm/init_64.c
1070
free_pagetable(pud_page(*pud), 0);
arch/x86/mm/init_64.c
1072
pud_clear(pud);
arch/x86/mm/init_64.c
1078
pud_t *pud;
arch/x86/mm/init_64.c
1082
pud = pud_start + i;
arch/x86/mm/init_64.c
1083
if (!pud_none(*pud))
arch/x86/mm/init_64.c
1189
pud_t *pud;
arch/x86/mm/init_64.c
1191
pud = pud_start + pud_index(addr);
arch/x86/mm/init_64.c
1192
for (; addr < end; addr = next, pud++) {
arch/x86/mm/init_64.c
1195
if (!pud_present(*pud))
arch/x86/mm/init_64.c
1198
if (pud_leaf(*pud) &&
arch/x86/mm/init_64.c
1202
pud_clear(pud);
arch/x86/mm/init_64.c
1208
pmd_base = pmd_offset(pud, 0);
arch/x86/mm/init_64.c
1210
free_pmd_table(pmd_base, pud);
arch/x86/mm/init_64.c
1326
pud_t *pud;
arch/x86/mm/init_64.c
1347
pud = pud_alloc(&init_mm, p4d, addr);
arch/x86/mm/init_64.c
1348
if (!pud)
arch/x86/mm/init_64.c
1590
pud_t *pud;
arch/x86/mm/init_64.c
1612
pud = pud_offset(p4d, addr);
arch/x86/mm/init_64.c
1613
if (pud_none(*pud)) {
arch/x86/mm/init_64.c
1617
get_page_bootmem(section_nr, pud_page(*pud), MIX_SECTION_INFO);
arch/x86/mm/init_64.c
1619
pmd = pmd_offset(pud, addr);
arch/x86/mm/init_64.c
282
pud_t *pud = (pud_t *)spp_getpage();
arch/x86/mm/init_64.c
283
p4d_populate(&init_mm, p4d, pud);
arch/x86/mm/init_64.c
284
if (pud != pud_offset(p4d, 0))
arch/x86/mm/init_64.c
286
pud, pud_offset(p4d, 0));
arch/x86/mm/init_64.c
291
static pmd_t *fill_pmd(pud_t *pud, unsigned long vaddr)
arch/x86/mm/init_64.c
293
if (pud_none(*pud)) {
arch/x86/mm/init_64.c
295
pud_populate(&init_mm, pud, pmd);
arch/x86/mm/init_64.c
296
if (pmd != pmd_offset(pud, 0))
arch/x86/mm/init_64.c
298
pmd, pmd_offset(pud, 0));
arch/x86/mm/init_64.c
300
return pmd_offset(pud, vaddr);
arch/x86/mm/init_64.c
314
static void __set_pte_vaddr(pud_t *pud, unsigned long vaddr, pte_t new_pte)
arch/x86/mm/init_64.c
316
pmd_t *pmd = fill_pmd(pud, vaddr);
arch/x86/mm/init_64.c
331
pud_t *pud = fill_pud(p4d, vaddr);
arch/x86/mm/init_64.c
333
__set_pte_vaddr(pud, vaddr, new_pte);
arch/x86/mm/init_64.c
338
pud_t *pud = pud_page + pud_index(vaddr);
arch/x86/mm/init_64.c
340
__set_pte_vaddr(pud, vaddr, new_pte);
arch/x86/mm/init_64.c
365
pud_t *pud;
arch/x86/mm/init_64.c
369
pud = fill_pud(p4d, vaddr);
arch/x86/mm/init_64.c
370
return fill_pmd(pud, vaddr);
arch/x86/mm/init_64.c
389
pud_t *pud;
arch/x86/mm/init_64.c
405
pud = (pud_t *) spp_getpage();
arch/x86/mm/init_64.c
406
set_p4d(p4d, __p4d(__pa(pud) | _KERNPG_TABLE |
arch/x86/mm/init_64.c
409
pud = pud_offset(p4d, (unsigned long)__va(phys));
arch/x86/mm/init_64.c
410
if (pud_none(*pud)) {
arch/x86/mm/init_64.c
412
set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE |
arch/x86/mm/init_64.c
415
pmd = pmd_offset(pud, phys);
arch/x86/mm/init_64.c
616
pud_t *pud;
arch/x86/mm/init_64.c
621
pud = pud_page + pud_index(vaddr);
arch/x86/mm/init_64.c
630
set_pud_init(pud, __pud(0), init);
arch/x86/mm/init_64.c
634
if (!pud_none(*pud)) {
arch/x86/mm/init_64.c
635
if (!pud_leaf(*pud)) {
arch/x86/mm/init_64.c
636
pmd = pmd_offset(pud, 0);
arch/x86/mm/init_64.c
661
prot = pte_pgprot(pte_clrhuge(*(pte_t *)pud));
arch/x86/mm/init_64.c
667
set_pud_init(pud,
arch/x86/mm/init_64.c
680
pud_populate_init(&init_mm, pud, pmd, init);
arch/x86/mm/init_64.c
705
pud_t *pud;
arch/x86/mm/init_64.c
722
pud = pud_offset(p4d, 0);
arch/x86/mm/init_64.c
723
paddr_last = phys_pud_init(pud, paddr, __pa(vaddr_end),
arch/x86/mm/init_64.c
728
pud = alloc_low_page();
arch/x86/mm/init_64.c
729
paddr_last = phys_pud_init(pud, paddr, __pa(vaddr_end),
arch/x86/mm/init_64.c
73
DEFINE_POPULATE(p4d_populate, p4d, pud, init)
arch/x86/mm/init_64.c
733
p4d_populate_init(&init_mm, p4d, pud, init);
arch/x86/mm/init_64.c
75
DEFINE_POPULATE(pud_populate, pud, pmd, init)
arch/x86/mm/init_64.c
89
DEFINE_ENTRY(pud, pud, init)
arch/x86/mm/ioremap.c
832
pud_t *pud = pud_offset(p4d, addr);
arch/x86/mm/ioremap.c
833
pmd_t *pmd = pmd_offset(pud, addr);
arch/x86/mm/kasan_init_64.c
105
pud_t *pud;
arch/x86/mm/kasan_init_64.c
114
pud = pud_offset(p4d, addr);
arch/x86/mm/kasan_init_64.c
117
if (!pud_leaf(*pud))
arch/x86/mm/kasan_init_64.c
118
kasan_populate_pud(pud, addr, next, nid);
arch/x86/mm/kasan_init_64.c
119
} while (pud++, addr = next, addr != end);
arch/x86/mm/kasan_init_64.c
72
static void __init kasan_populate_pud(pud_t *pud, unsigned long addr,
arch/x86/mm/kasan_init_64.c
78
if (pud_none(*pud)) {
arch/x86/mm/kasan_init_64.c
85
if (p && pud_set_huge(pud, __pa(p), PAGE_KERNEL))
arch/x86/mm/kasan_init_64.c
91
pud_populate(&init_mm, pud, p);
arch/x86/mm/kasan_init_64.c
94
pmd = pmd_offset(pud, addr);
arch/x86/mm/kaslr.c
173
pud_t *pud_page_tramp, *pud, *pud_tramp;
arch/x86/mm/kaslr.c
192
pud = pud_offset(p4d, vaddr);
arch/x86/mm/kaslr.c
195
*pud_tramp = *pud;
arch/x86/mm/pat/set_memory.c
1300
pud_t *pud = pud_offset(p4d, addr);
arch/x86/mm/pat/set_memory.c
1301
pmd_t *pmd = pmd_offset(pud, addr);
arch/x86/mm/pat/set_memory.c
1315
static int collapse_pud_page(pud_t *pud, unsigned long addr,
arch/x86/mm/pat/set_memory.c
1326
pmd = pmd_offset(pud, addr);
arch/x86/mm/pat/set_memory.c
1353
list_add(&page_ptdesc(pud_page(*pud))->pt_list, pgtables);
arch/x86/mm/pat/set_memory.c
1354
set_pud(pud, pfn_pud(pfn, pmd_pgprot(first)));
arch/x86/mm/pat/set_memory.c
1375
pud_t *pud;
arch/x86/mm/pat/set_memory.c
1387
pud = pud_offset(p4d, addr);
arch/x86/mm/pat/set_memory.c
1388
if (!pud_present(*pud) || pud_leaf(*pud))
arch/x86/mm/pat/set_memory.c
1390
pmd = pmd_offset(pud, addr);
arch/x86/mm/pat/set_memory.c
1396
collapsed += collapse_pud_page(pud, addr, pgtables);
arch/x86/mm/pat/set_memory.c
1445
static void __unmap_pmd_range(pud_t *pud, pmd_t *pmd,
arch/x86/mm/pat/set_memory.c
1449
if (try_to_free_pmd_page(pud_pgtable(*pud)))
arch/x86/mm/pat/set_memory.c
1450
pud_clear(pud);
arch/x86/mm/pat/set_memory.c
1453
static void unmap_pmd_range(pud_t *pud, unsigned long start, unsigned long end)
arch/x86/mm/pat/set_memory.c
1455
pmd_t *pmd = pmd_offset(pud, start);
arch/x86/mm/pat/set_memory.c
1464
__unmap_pmd_range(pud, pmd, start, pre_end);
arch/x86/mm/pat/set_memory.c
1477
__unmap_pmd_range(pud, pmd, start, start + PMD_SIZE);
arch/x86/mm/pat/set_memory.c
1487
return __unmap_pmd_range(pud, pmd, start, end);
arch/x86/mm/pat/set_memory.c
1492
if (!pud_none(*pud))
arch/x86/mm/pat/set_memory.c
1493
if (try_to_free_pmd_page(pud_pgtable(*pud)))
arch/x86/mm/pat/set_memory.c
1494
pud_clear(pud);
arch/x86/mm/pat/set_memory.c
1499
pud_t *pud = pud_offset(p4d, start);
arch/x86/mm/pat/set_memory.c
1508
unmap_pmd_range(pud, start, pre_end);
arch/x86/mm/pat/set_memory.c
1511
pud++;
arch/x86/mm/pat/set_memory.c
1519
if (pud_leaf(*pud))
arch/x86/mm/pat/set_memory.c
1520
pud_clear(pud);
arch/x86/mm/pat/set_memory.c
1522
unmap_pmd_range(pud, start, start + PUD_SIZE);
arch/x86/mm/pat/set_memory.c
1525
pud++;
arch/x86/mm/pat/set_memory.c
1532
unmap_pmd_range(pud, start, end);
arch/x86/mm/pat/set_memory.c
1550
static int alloc_pmd_page(pud_t *pud)
arch/x86/mm/pat/set_memory.c
1556
set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE));
arch/x86/mm/pat/set_memory.c
1581
unsigned num_pages, pud_t *pud, pgprot_t pgprot)
arch/x86/mm/pat/set_memory.c
1601
pmd = pmd_offset(pud, start);
arch/x86/mm/pat/set_memory.c
1624
if (pud_none(*pud))
arch/x86/mm/pat/set_memory.c
1625
if (alloc_pmd_page(pud))
arch/x86/mm/pat/set_memory.c
1628
pmd = pmd_offset(pud, start);
arch/x86/mm/pat/set_memory.c
1642
pmd = pmd_offset(pud, start);
arch/x86/mm/pat/set_memory.c
1656
pud_t *pud;
arch/x86/mm/pat/set_memory.c
1675
pud = pud_offset(p4d, start);
arch/x86/mm/pat/set_memory.c
1680
if (pud_none(*pud))
arch/x86/mm/pat/set_memory.c
1681
if (alloc_pmd_page(pud))
arch/x86/mm/pat/set_memory.c
1685
pud, pgprot);
arch/x86/mm/pat/set_memory.c
1696
pud = pud_offset(p4d, start);
arch/x86/mm/pat/set_memory.c
1703
set_pud(pud, pud_mkhuge(pfn_pud(cpa->pfn,
arch/x86/mm/pat/set_memory.c
1709
pud++;
arch/x86/mm/pat/set_memory.c
1716
pud = pud_offset(p4d, start);
arch/x86/mm/pat/set_memory.c
1717
if (pud_none(*pud))
arch/x86/mm/pat/set_memory.c
1718
if (alloc_pmd_page(pud))
arch/x86/mm/pat/set_memory.c
1722
pud, pgprot);
arch/x86/mm/pat/set_memory.c
1738
pud_t *pud = NULL; /* shut up gcc */
arch/x86/mm/pat/set_memory.c
1758
pud = (pud_t *)get_zeroed_page(GFP_KERNEL);
arch/x86/mm/pat/set_memory.c
1759
if (!pud)
arch/x86/mm/pat/set_memory.c
1762
set_p4d(p4d, __p4d(__pa(pud) | _KERNPG_TABLE));
arch/x86/mm/pat/set_memory.c
716
pud_t *pud;
arch/x86/mm/pat/set_memory.c
741
pud = pud_offset(p4d, address);
arch/x86/mm/pat/set_memory.c
742
if (pud_none(*pud))
arch/x86/mm/pat/set_memory.c
745
if (pud_leaf(*pud) || !pud_present(*pud))
arch/x86/mm/pat/set_memory.c
746
return (pte_t *)pud;
arch/x86/mm/pat/set_memory.c
749
*nx |= pud_flags(*pud) & _PAGE_NX;
arch/x86/mm/pat/set_memory.c
750
*rw &= pud_flags(*pud) & _PAGE_RW;
arch/x86/mm/pat/set_memory.c
752
pmd = pmd_offset(pud, address);
arch/x86/mm/pat/set_memory.c
812
pud_t *pud;
arch/x86/mm/pat/set_memory.c
822
pud = pud_offset(p4d, address);
arch/x86/mm/pat/set_memory.c
823
if (pud_none(*pud) || pud_leaf(*pud) || !pud_present(*pud))
arch/x86/mm/pat/set_memory.c
826
return pmd_offset(pud, address);
arch/x86/mm/pat/set_memory.c
892
pud_t *pud;
arch/x86/mm/pat/set_memory.c
897
pud = pud_offset(p4d, address);
arch/x86/mm/pat/set_memory.c
898
pmd = pmd_offset(pud, address);
arch/x86/mm/pgtable.c
256
pud_t *pud;
arch/x86/mm/pgtable.c
260
pud = pud_offset(p4d, 0);
arch/x86/mm/pgtable.c
262
for (i = 0; i < PREALLOCATED_PMDS; i++, pud++) {
arch/x86/mm/pgtable.c
269
pud_populate(mm, pud, pmd);
arch/x86/mm/pgtable.c
42
void ___pud_free_tlb(struct mmu_gather *tlb, pud_t *pud)
arch/x86/mm/pgtable.c
44
paravirt_release_pud(__pa(pud) >> PAGE_SHIFT);
arch/x86/mm/pgtable.c
45
tlb_remove_ptdesc(tlb, virt_to_ptdesc(pud));
arch/x86/mm/pgtable.c
635
int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
arch/x86/mm/pgtable.c
644
if (pud_present(*pud) && !pud_leaf(*pud))
arch/x86/mm/pgtable.c
647
set_pte((pte_t *)pud, pfn_pte(
arch/x86/mm/pgtable.c
692
int pud_clear_huge(pud_t *pud)
arch/x86/mm/pgtable.c
694
if (pud_leaf(*pud)) {
arch/x86/mm/pgtable.c
695
pud_clear(pud);
arch/x86/mm/pgtable.c
729
int pud_free_pmd_page(pud_t *pud, unsigned long addr)
arch/x86/mm/pgtable.c
735
pmd = pud_pgtable(*pud);
arch/x86/mm/pgtable.c
746
pud_clear(pud);
arch/x86/mm/pgtable.c
842
void arch_check_zapped_pud(struct vm_area_struct *vma, pud_t pud)
arch/x86/mm/pgtable.c
845
VM_WARN_ON_ONCE(!(vma->vm_flags & VM_SHADOW_STACK) && pud_shstk(pud));
arch/x86/mm/pgtable_32.c
31
pud_t *pud;
arch/x86/mm/pgtable_32.c
45
pud = pud_offset(p4d, vaddr);
arch/x86/mm/pgtable_32.c
46
if (pud_none(*pud)) {
arch/x86/mm/pgtable_32.c
50
pmd = pmd_offset(pud, vaddr);
arch/x86/mm/pti.c
210
pud_t *pud;
arch/x86/mm/pti.c
225
pud = pud_offset(p4d, address);
arch/x86/mm/pti.c
227
if (pud_leaf(*pud)) {
arch/x86/mm/pti.c
231
if (pud_none(*pud)) {
arch/x86/mm/pti.c
236
set_pud(pud, __pud(_KERNPG_TABLE | __pa(new_pmd_page)));
arch/x86/mm/pti.c
239
return pmd_offset(pud, address);
arch/x86/mm/pti.c
329
pud_t *pud;
arch/x86/mm/pti.c
342
pud = pud_offset(p4d, addr);
arch/x86/mm/pti.c
343
if (pud_none(*pud)) {
arch/x86/mm/pti.c
349
pmd = pmd_offset(pud, addr);
arch/x86/platform/efi/efi_64.c
72
pud_t *pud;
arch/x86/platform/efi/efi_64.c
85
pud = pud_alloc(&init_mm, p4d, EFI_VA_END);
arch/x86/platform/efi/efi_64.c
86
if (!pud)
arch/x86/power/hibernate.c
158
pud_t *pud;
arch/x86/power/hibernate.c
176
pud = pud_offset(p4d, relocated_restore_code);
arch/x86/power/hibernate.c
177
if (pud_leaf(*pud)) {
arch/x86/power/hibernate.c
178
set_pud(pud, __pud(pud_val(*pud) & ~_PAGE_NX));
arch/x86/power/hibernate.c
181
pmd = pmd_offset(pud, relocated_restore_code);
arch/x86/power/hibernate_32.c
33
pud_t *pud;
arch/x86/power/hibernate_32.c
43
pud = pud_offset(p4d, 0);
arch/x86/power/hibernate_32.c
45
BUG_ON(pmd_table != pmd_offset(pud, 0));
arch/x86/power/hibernate_32.c
48
pud = pud_offset(p4d, 0);
arch/x86/power/hibernate_32.c
49
pmd_table = pmd_offset(pud, 0);
arch/x86/power/hibernate_64.c
31
pud_t *pud;
arch/x86/power/hibernate_64.c
60
pud = (pud_t *)get_safe_page(GFP_ATOMIC);
arch/x86/power/hibernate_64.c
61
if (!pud)
arch/x86/power/hibernate_64.c
70
set_pud(pud + pud_index(restore_jump_address),
arch/x86/power/hibernate_64.c
73
p4d_t new_p4d = __p4d(__pa(pud) | pgprot_val(pgtable_prot));
arch/x86/power/hibernate_64.c
80
pgd_t new_pgd = __pgd(__pa(pud) | pgprot_val(pgtable_prot));
arch/x86/xen/mmu_pv.c
1135
static void __init xen_cleanmfnmap_pud(pud_t *pud, bool unpin)
arch/x86/xen/mmu_pv.c
1141
if (pud_leaf(*pud)) {
arch/x86/xen/mmu_pv.c
1142
pa = pud_val(*pud) & PHYSICAL_PAGE_MASK;
arch/x86/xen/mmu_pv.c
1147
pmd_tbl = pmd_offset(pud, 0);
arch/x86/xen/mmu_pv.c
1153
set_pud(pud, __pud(0));
arch/x86/xen/mmu_pv.c
1787
level3_ident_pgt[0].pud = __pa_symbol(level2_ident_pgt) + _KERNPG_TABLE_NOENC;
arch/x86/xen/mmu_pv.c
1805
l2 = m2v(l3[pud_index(__START_KERNEL_map)].pud);
arch/x86/xen/mmu_pv.c
1913
pud_t pud;
arch/x86/xen/mmu_pv.c
1924
pud = native_make_pud(xen_read_phys_ulong(pa + pud_index(vaddr) *
arch/x86/xen/mmu_pv.c
1925
sizeof(pud)));
arch/x86/xen/mmu_pv.c
1926
if (!pud_present(pud))
arch/x86/xen/mmu_pv.c
1928
pa = pud_val(pud) & PTE_PFN_MASK;
arch/x86/xen/mmu_pv.c
1929
if (pud_leaf(pud))
arch/x86/xen/mmu_pv.c
1960
pud_t *pud;
arch/x86/xen/mmu_pv.c
1993
pud = early_memremap(pud_phys, PAGE_SIZE);
arch/x86/xen/mmu_pv.c
1994
clear_page(pud);
arch/x86/xen/mmu_pv.c
2023
pud[idx_pmd] = __pud(_PAGE_TABLE | pmd_phys);
arch/x86/xen/mmu_pv.c
2027
early_memunmap(pud, PAGE_SIZE);
arch/x86/xen/mmu_pv.c
495
__visible pudval_t xen_pud_val(pud_t pud)
arch/x86/xen/mmu_pv.c
497
return pte_mfn_to_pfn(pud.pud);
arch/x86/xen/mmu_pv.c
501
__visible pud_t xen_make_pud(pudval_t pud)
arch/x86/xen/mmu_pv.c
503
pud = pte_pfn_to_mfn(pud);
arch/x86/xen/mmu_pv.c
505
return native_make_pud(pud);
arch/x86/xen/mmu_pv.c
615
static void xen_pud_walk(struct mm_struct *mm, pud_t *pud,
arch/x86/xen/mmu_pv.c
626
if (pud_none(pud[i]))
arch/x86/xen/mmu_pv.c
629
pmd = pmd_offset(&pud[i], 0);
arch/x86/xen/mmu_pv.c
641
pud_t *pud;
arch/x86/xen/mmu_pv.c
647
pud = pud_offset(p4d, 0);
arch/x86/xen/mmu_pv.c
649
(*func)(mm, virt_to_page(pud), PT_PUD);
arch/x86/xen/mmu_pv.c
650
xen_pud_walk(mm, pud, func, last, limit);
arch/x86/xen/mmu_pv.c
94
pudval_t xen_pud_val(pud_t pud);
arch/x86/xen/mmu_pv.c
99
pud_t xen_make_pud(pudval_t pud);
arch/xtensa/mm/fault.c
37
pud_t *pud, *pud_k;
arch/xtensa/mm/fault.c
57
pud = pud_offset(p4d, address);
arch/xtensa/mm/fault.c
59
if (!pud_present(*pud) || !pud_present(*pud_k))
arch/xtensa/mm/fault.c
62
pmd = pmd_offset(pud, address);
arch/xtensa/mm/tlb.c
180
pud_t *pud;
arch/xtensa/mm/tlb.c
193
pud = pud_offset(p4d, vaddr);
arch/xtensa/mm/tlb.c
194
if (pud_none_or_clear_bad(pud))
arch/xtensa/mm/tlb.c
196
pmd = pmd_offset(pud, vaddr);
drivers/pinctrl/renesas/core.c
1037
#define bias_pud(i) bias_ofs(i).pud
drivers/pinctrl/renesas/core.c
1099
!bias_reg->pud))
drivers/pinctrl/renesas/core.c
1212
for (i = 0; bias_regs && (bias_regs[i].puen || bias_regs[i].pud); i++)
drivers/pinctrl/renesas/core.c
687
pfc->info->bias_regs[i].pud; i++) {
drivers/pinctrl/renesas/core.c
690
if (pfc->info->bias_regs[i].pud)
drivers/pinctrl/renesas/core.c
691
do_reg(pfc, pfc->info->bias_regs[i].pud, n++);
drivers/pinctrl/renesas/core.c
966
if (bias->pud)
drivers/pinctrl/renesas/core.c
967
sh_pfc_check_reg(info->name, bias->pud, bits);
drivers/pinctrl/renesas/core.c
973
if (bias->puen && bias->pud) {
drivers/pinctrl/renesas/core.c
987
} else if (bias->pud) {
drivers/pinctrl/renesas/core.c
991
bias->pud, i, pin->name);
drivers/pinctrl/renesas/pfc-r8a77995.c
3138
else if (sh_pfc_read(pfc, reg->pud) & BIT(pud_bit))
drivers/pinctrl/renesas/pfc-r8a77995.c
3159
updown = sh_pfc_read(pfc, reg->pud) & ~BIT(pud_bit);
drivers/pinctrl/renesas/pfc-r8a77995.c
3163
sh_pfc_write(pfc, reg->pud, updown);
drivers/pinctrl/renesas/pinctrl.c
822
for (i = 0; info->bias_regs[i].puen || info->bias_regs[i].pud; i++) {
drivers/pinctrl/renesas/pinctrl.c
848
else if (!reg->pud || (sh_pfc_read(pfc, reg->pud) & BIT(bit)))
drivers/pinctrl/renesas/pinctrl.c
853
if (sh_pfc_read(pfc, reg->pud) & BIT(bit))
drivers/pinctrl/renesas/pinctrl.c
876
if (reg->pud) {
drivers/pinctrl/renesas/pinctrl.c
877
updown = sh_pfc_read(pfc, reg->pud) & ~BIT(bit);
drivers/pinctrl/renesas/pinctrl.c
881
sh_pfc_write(pfc, reg->pud, updown);
drivers/pinctrl/renesas/pinctrl.c
886
enable = sh_pfc_read(pfc, reg->pud) & ~BIT(bit);
drivers/pinctrl/renesas/pinctrl.c
890
sh_pfc_write(pfc, reg->pud, enable);
drivers/pinctrl/renesas/sh_pfc.h
171
u32 pud; /* Pull-up/down or pull-down control register */
drivers/pinctrl/renesas/sh_pfc.h
177
.pud = r2, \
fs/userfaultfd.c
291
pud_t *pud;
fs/userfaultfd.c
305
pud = pud_offset(p4d, address);
fs/userfaultfd.c
306
if (!pud_present(*pud))
fs/userfaultfd.c
308
pmd = pmd_offset(pud, address);
include/asm-generic/pgalloc.h
211
static inline void __pud_free(struct mm_struct *mm, pud_t *pud)
include/asm-generic/pgalloc.h
213
struct ptdesc *ptdesc = virt_to_ptdesc(pud);
include/asm-generic/pgalloc.h
215
BUG_ON((unsigned long)pud & (PAGE_SIZE-1));
include/asm-generic/pgalloc.h
220
static inline void pud_free(struct mm_struct *mm, pud_t *pud)
include/asm-generic/pgalloc.h
222
__pud_free(mm, pud);
include/asm-generic/pgtable-nopmd.h
18
typedef struct { pud_t pud; } pmd_t;
include/asm-generic/pgtable-nopmd.h
30
static inline int pud_none(pud_t pud) { return 0; }
include/asm-generic/pgtable-nopmd.h
31
static inline int pud_bad(pud_t pud) { return 0; }
include/asm-generic/pgtable-nopmd.h
32
static inline int pud_present(pud_t pud) { return 1; }
include/asm-generic/pgtable-nopmd.h
33
static inline int pud_user(pud_t pud) { return 0; }
include/asm-generic/pgtable-nopmd.h
34
static inline int pud_leaf(pud_t pud) { return 0; }
include/asm-generic/pgtable-nopmd.h
35
static inline void pud_clear(pud_t *pud) { }
include/asm-generic/pgtable-nopmd.h
36
#define pmd_ERROR(pmd) (pud_ERROR((pmd).pud))
include/asm-generic/pgtable-nopmd.h
46
static inline pmd_t * pmd_offset(pud_t * pud, unsigned long address)
include/asm-generic/pgtable-nopmd.h
48
return (pmd_t *)pud;
include/asm-generic/pgtable-nopmd.h
52
#define pmd_val(x) (pud_val((x).pud))
include/asm-generic/pgtable-nopmd.h
55
#define pud_page(pud) (pmd_page((pmd_t){ pud }))
include/asm-generic/pgtable-nopmd.h
56
#define pud_pgtable(pud) ((pmd_t *)(pmd_page_vaddr((pmd_t){ pud })))
include/asm-generic/pgtable-nopud.h
32
#define pud_ERROR(pud) (p4d_ERROR((pud).p4d))
include/asm-generic/pgtable-nopud.h
34
#define p4d_populate(mm, p4d, pud) do { } while (0)
include/asm-generic/pgtable-nopud.h
35
#define p4d_populate_safe(mm, p4d, pud) do { } while (0)
include/linux/huge_mm.h
32
int zap_huge_pud(struct mmu_gather *tlb, struct vm_area_struct *vma, pud_t *pud,
include/linux/huge_mm.h
462
void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud,
include/linux/huge_mm.h
490
spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct vm_area_struct *vma);
include/linux/huge_mm.h
501
static inline spinlock_t *pud_trans_huge_lock(pud_t *pud,
include/linux/huge_mm.h
504
if (pud_trans_huge(*pud))
include/linux/huge_mm.h
505
return __pud_trans_huge_lock(pud, vma);
include/linux/huge_mm.h
699
static inline spinlock_t *pud_trans_huge_lock(pud_t *pud,
include/linux/huge_mm.h
750
static inline void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud,
include/linux/hugetlb.h
165
unsigned long addr, pud_t *pud);
include/linux/mm.h
2833
pud_t pud);
include/linux/mm.h
3188
static inline bool pud_special(pud_t pud)
include/linux/mm.h
3193
static inline pud_t pud_mkspecial(pud_t pud)
include/linux/mm.h
3195
return pud;
include/linux/mm.h
3240
static inline int __pmd_alloc(struct mm_struct *mm, pud_t *pud,
include/linux/mm.h
3250
int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address);
include/linux/mm.h
3318
static inline pmd_t *pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address)
include/linux/mm.h
3320
return (unlikely(pud_none(*pud)) && __pmd_alloc(mm, pud, address))?
include/linux/mm.h
3321
NULL: pmd_offset(pud, address);
include/linux/mm.h
3647
static inline spinlock_t *pud_lockptr(struct mm_struct *mm, pud_t *pud)
include/linux/mm.h
3652
static inline spinlock_t *pud_lock(struct mm_struct *mm, pud_t *pud)
include/linux/mm.h
3654
spinlock_t *ptl = pud_lockptr(mm, pud);
include/linux/mm.h
4492
pmd_t *vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node);
include/linux/mm.h
710
pud_t *pud; /* Pointer to pud entry matching
include/linux/page_table_check.h
101
__page_table_check_puds_set(mm, addr, pudp, pud, nr);
include/linux/page_table_check.h
135
unsigned long addr, pud_t pud)
include/linux/page_table_check.h
151
unsigned long addr, pud_t *pudp, pud_t pud, unsigned int nr)
include/linux/page_table_check.h
164
#define page_table_check_pud_set(mm, addr, pudp, pud) page_table_check_puds_set(mm, addr, pudp, pud, 1)
include/linux/page_table_check.h
22
pud_t pud);
include/linux/page_table_check.h
28
pud_t *pudp, pud_t pud, unsigned int nr);
include/linux/page_table_check.h
68
unsigned long addr, pud_t pud)
include/linux/page_table_check.h
73
__page_table_check_pud_clear(mm, addr, pud);
include/linux/page_table_check.h
96
unsigned long addr, pud_t *pudp, pud_t pud, unsigned int nr)
include/linux/pagewalk.h
188
pud_t pud;
include/linux/pagewalk.h
75
int (*pud_entry)(pud_t *pud, unsigned long addr,
include/linux/pgalloc.h
22
#define p4d_populate_kernel(addr, p4d, pud) \
include/linux/pgalloc.h
24
p4d_populate(&init_mm, p4d, pud); \
include/linux/pgtable.h
125
static inline pmd_t *pmd_offset(pud_t *pud, unsigned long address)
include/linux/pgtable.h
1258
#define pud_access_permitted(pud, write) \
include/linux/pgtable.h
1259
(pud_present(pud) && (!(write) || pud_write(pud)))
include/linux/pgtable.h
127
return pud_pgtable(*pud) + pmd_index(address);
include/linux/pgtable.h
1470
static inline int pud_none_or_clear_bad(pud_t *pud)
include/linux/pgtable.h
1472
if (pud_none(*pud))
include/linux/pgtable.h
1474
if (unlikely(pud_bad(*pud))) {
include/linux/pgtable.h
1475
pud_clear_bad(pud);
include/linux/pgtable.h
1973
static inline int pud_write(pud_t pud)
include/linux/pgtable.h
1982
static inline int pud_trans_huge(pud_t pud)
include/linux/pgtable.h
1988
static inline int pud_trans_unstable(pud_t *pud)
include/linux/pgtable.h
1992
pud_t pudval = READ_ONCE(*pud);
include/linux/pgtable.h
1997
pud_clear_bad(pud);
include/linux/pgtable.h
2043
int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot);
include/linux/pgtable.h
2045
int pud_clear_huge(pud_t *pud);
include/linux/pgtable.h
2048
int pud_free_pmd_page(pud_t *pud, unsigned long addr);
include/linux/pgtable.h
2055
static inline int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
include/linux/pgtable.h
2064
static inline int pud_clear_huge(pud_t *pud)
include/linux/pgtable.h
2076
static inline int pud_free_pmd_page(pud_t *pud, unsigned long addr)
include/linux/pgtable.h
2240
#define pmd_offset_lockless(pudp, pud, address) pmd_offset(&(pud), address)
include/linux/pgtable.h
606
static inline void arch_check_zapped_pud(struct vm_area_struct *vma, pud_t pud)
include/linux/pgtable.h
782
pud_t pud = *pudp;
include/linux/pgtable.h
785
page_table_check_pud_clear(mm, address, pud);
include/linux/pgtable.h
787
return pud;
include/linux/ptdump.h
16
void (*note_page_pud)(struct ptdump_state *st, unsigned long addr, pud_t pud);
include/linux/ptdump.h
22
void (*effective_prot_pud)(struct ptdump_state *st, pud_t pud);
include/trace/events/thp.h
35
TP_PROTO(unsigned long addr, unsigned long pud),
include/trace/events/thp.h
36
TP_ARGS(addr, pud)
include/trace/events/thp.h
67
TP_PROTO(unsigned long addr, unsigned long pud, unsigned long clr, unsigned long set),
include/trace/events/thp.h
68
TP_ARGS(addr, pud, clr, set)
kernel/events/core.c
8418
pud_t *pudp, pud;
kernel/events/core.c
8439
pud = READ_ONCE(*pudp);
kernel/events/core.c
8440
if (!pud_present(pud))
kernel/events/core.c
8443
if (pud_leaf(pud))
kernel/events/core.c
8444
return pud_leaf_size(pud);
kernel/events/core.c
8446
pmdp = pmd_offset_lockless(pudp, pud, addr);
mm/debug_vm_pgtable.c
304
pud_t pud;
mm/debug_vm_pgtable.c
310
pud = pfn_pud(args->fixed_pud_pfn, prot);
mm/debug_vm_pgtable.c
319
WARN_ON(pud_dirty(pud_wrprotect(pud)));
mm/debug_vm_pgtable.c
321
WARN_ON(!pud_same(pud, pud));
mm/debug_vm_pgtable.c
322
WARN_ON(!pud_young(pud_mkyoung(pud_mkold(pud))));
mm/debug_vm_pgtable.c
323
WARN_ON(!pud_dirty(pud_mkdirty(pud_mkclean(pud))));
mm/debug_vm_pgtable.c
324
WARN_ON(pud_dirty(pud_mkclean(pud_mkdirty(pud))));
mm/debug_vm_pgtable.c
325
WARN_ON(!pud_write(pud_mkwrite(pud_wrprotect(pud))));
mm/debug_vm_pgtable.c
326
WARN_ON(pud_write(pud_wrprotect(pud_mkwrite(pud))));
mm/debug_vm_pgtable.c
327
WARN_ON(pud_young(pud_mkold(pud_mkyoung(pud))));
mm/debug_vm_pgtable.c
328
WARN_ON(pud_dirty(pud_wrprotect(pud_mkclean(pud))));
mm/debug_vm_pgtable.c
329
WARN_ON(!pud_dirty(pud_wrprotect(pud_mkdirty(pud))));
mm/debug_vm_pgtable.c
338
WARN_ON(!pud_bad(pud_mkhuge(pud)));
mm/debug_vm_pgtable.c
345
pud_t pud;
mm/debug_vm_pgtable.c
365
pud = pfn_pud(args->pud_pfn, args->page_prot);
mm/debug_vm_pgtable.c
366
set_pud_at(args->mm, vaddr, args->pudp, pud);
mm/debug_vm_pgtable.c
369
pud = pudp_get(args->pudp);
mm/debug_vm_pgtable.c
370
WARN_ON(pud_write(pud));
mm/debug_vm_pgtable.c
374
pud = pudp_get(args->pudp);
mm/debug_vm_pgtable.c
375
WARN_ON(!pud_none(pud));
mm/debug_vm_pgtable.c
377
pud = pfn_pud(args->pud_pfn, args->page_prot);
mm/debug_vm_pgtable.c
378
pud = pud_wrprotect(pud);
mm/debug_vm_pgtable.c
379
pud = pud_mkclean(pud);
mm/debug_vm_pgtable.c
380
set_pud_at(args->mm, vaddr, args->pudp, pud);
mm/debug_vm_pgtable.c
382
pud = pud_mkwrite(pud);
mm/debug_vm_pgtable.c
383
pud = pud_mkdirty(pud);
mm/debug_vm_pgtable.c
384
pudp_set_access_flags(args->vma, vaddr, args->pudp, pud, 1);
mm/debug_vm_pgtable.c
385
pud = pudp_get(args->pudp);
mm/debug_vm_pgtable.c
386
WARN_ON(!(pud_write(pud) && pud_dirty(pud)));
mm/debug_vm_pgtable.c
390
pud = pudp_get(args->pudp);
mm/debug_vm_pgtable.c
391
WARN_ON(!pud_none(pud));
mm/debug_vm_pgtable.c
394
pud = pfn_pud(args->pud_pfn, args->page_prot);
mm/debug_vm_pgtable.c
395
pud = pud_mkyoung(pud);
mm/debug_vm_pgtable.c
396
set_pud_at(args->mm, vaddr, args->pudp, pud);
mm/debug_vm_pgtable.c
399
pud = pudp_get(args->pudp);
mm/debug_vm_pgtable.c
400
WARN_ON(pud_young(pud));
mm/debug_vm_pgtable.c
407
pud_t pud;
mm/debug_vm_pgtable.c
413
pud = pfn_pud(args->fixed_pud_pfn, args->page_prot);
mm/debug_vm_pgtable.c
417
pud = pud_mkhuge(pud);
mm/debug_vm_pgtable.c
418
WARN_ON(!pud_leaf(pud));
mm/debug_vm_pgtable.c
457
pud_t pud;
mm/debug_vm_pgtable.c
471
pud = pudp_get(args->pudp);
mm/debug_vm_pgtable.c
472
WARN_ON(!pud_none(pud));
mm/debug_vm_pgtable.c
500
pud_t pud = pudp_get(args->pudp);
mm/debug_vm_pgtable.c
506
WARN_ON(pud_none(pud));
mm/debug_vm_pgtable.c
508
pud = pudp_get(args->pudp);
mm/debug_vm_pgtable.c
509
WARN_ON(!pud_none(pud));
mm/debug_vm_pgtable.c
514
pud_t pud;
mm/debug_vm_pgtable.c
525
pud = pudp_get(args->pudp);
mm/debug_vm_pgtable.c
526
WARN_ON(pud_bad(pud));
mm/debug_vm_pgtable.c
937
pud_t pud;
mm/debug_vm_pgtable.c
943
pud = pfn_pud(args->fixed_pud_pfn, args->page_prot);
mm/debug_vm_pgtable.c
944
WARN_ON(!pud_trans_huge(pud_mkhuge(pud)));
mm/gup.c
1036
pud_t *pud;
mm/gup.c
1051
pud = pud_offset(p4d, address);
mm/gup.c
1052
if (pud_none(*pud))
mm/gup.c
1054
pmd = pmd_offset(pud, address);
mm/gup.c
3011
static int gup_fast_pmd_range(pud_t *pudp, pud_t pud, unsigned long addr,
mm/gup.c
3018
pmdp = pmd_offset_lockless(pudp, pud, addr);
mm/gup.c
3052
pud_t pud = pudp_get(pudp);
mm/gup.c
3055
if (unlikely(!pud_present(pud)))
mm/gup.c
3057
if (unlikely(pud_leaf(pud))) {
mm/gup.c
3058
if (!gup_fast_pud_leaf(pud, pudp, addr, next, flags,
mm/gup.c
3061
} else if (!gup_fast_pmd_range(pudp, pud, addr, next, flags,
mm/gup.c
638
static inline bool can_follow_write_pud(pud_t pud, struct page *page,
mm/gup.c
643
if (pud_write(pud))
mm/gup.c
655
pud_t pud = *pudp;
mm/gup.c
656
unsigned long pfn = pud_pfn(pud);
mm/gup.c
661
if (!pud_present(pud))
mm/gup.c
665
!can_follow_write_pud(pud, pfn_to_page(pfn), vma, flags))
mm/gup.c
671
if (!pud_write(pud) && gup_must_unshare(vma, flags, page))
mm/gup.c
947
pud_t *pudp, pud;
mm/gup.c
953
pud = pudp_get(pudp);
mm/gup.c
954
if (!pud_present(pud))
mm/gup.c
956
if (pud_leaf(pud)) {
mm/gup.c
964
if (unlikely(pud_bad(pud)))
mm/hmm.c
475
pud_t pud)
mm/hmm.c
477
if (!pud_present(pud))
mm/hmm.c
479
return (pud_write(pud) ? (HMM_PFN_VALID | HMM_PFN_WRITE) :
mm/hmm.c
490
pud_t pud;
mm/hmm.c
499
pud = pudp_get(pudp);
mm/hmm.c
500
if (!pud_present(pud)) {
mm/hmm.c
505
if (pud_leaf(pud)) {
mm/hmm.c
515
cpu_flags = pud_to_hmm_pfn_flags(range, pud);
mm/hmm.c
523
pfn = pud_pfn(pud) + ((addr & ~PUD_MASK) >> PAGE_SHIFT);
mm/huge_memory.c
1651
static pud_t maybe_pud_mkwrite(pud_t pud, struct vm_area_struct *vma)
mm/huge_memory.c
1654
pud = pud_mkwrite(pud);
mm/huge_memory.c
1655
return pud;
mm/huge_memory.c
1659
pud_t *pud, struct folio_or_pfn fop, pgprot_t prot, bool write)
mm/huge_memory.c
1668
ptl = pud_lock(mm, pud);
mm/huge_memory.c
1669
if (!pud_none(*pud)) {
mm/huge_memory.c
1674
if (WARN_ON_ONCE(pud_pfn(*pud) != pfn))
mm/huge_memory.c
1676
entry = pud_mkyoung(*pud);
mm/huge_memory.c
1678
if (pudp_set_access_flags(vma, addr, pud, entry, 1))
mm/huge_memory.c
1679
update_mmu_cache_pud(vma, addr, pud);
mm/huge_memory.c
1698
set_pud_at(mm, addr, pud, entry);
mm/huge_memory.c
1699
update_mmu_cache_pud(vma, addr, pud);
mm/huge_memory.c
1737
return insert_pud(vma, addr, vmf->pud, fop, pgprot, write);
mm/huge_memory.c
1762
return insert_pud(vma, addr, vmf->pud, fop, vma->vm_page_prot, write);
mm/huge_memory.c
1957
pud_t *pud, bool write)
mm/huge_memory.c
1961
_pud = pud_mkyoung(*pud);
mm/huge_memory.c
1965
pud, _pud, write))
mm/huge_memory.c
1966
update_mmu_cache_pud(vma, addr, pud);
mm/huge_memory.c
1974
pud_t pud;
mm/huge_memory.c
1982
pud = *src_pud;
mm/huge_memory.c
1983
if (unlikely(!pud_trans_huge(pud)))
mm/huge_memory.c
1990
if (is_cow_mapping(vma->vm_flags) && pud_write(pud)) {
mm/huge_memory.c
1992
pud = pud_wrprotect(pud);
mm/huge_memory.c
1994
pud = pud_mkold(pud);
mm/huge_memory.c
1995
set_pud_at(dst_mm, addr, dst_pud, pud);
mm/huge_memory.c
2008
vmf->ptl = pud_lock(vmf->vma->vm_mm, vmf->pud);
mm/huge_memory.c
2009
if (unlikely(!pud_same(*vmf->pud, orig_pud)))
mm/huge_memory.c
2012
touch_pud(vmf->vma, vmf->address, vmf->pud, write);
mm/huge_memory.c
2842
spinlock_t *__pud_trans_huge_lock(pud_t *pud, struct vm_area_struct *vma)
mm/huge_memory.c
2846
ptl = pud_lock(vma->vm_mm, pud);
mm/huge_memory.c
2847
if (likely(pud_trans_huge(*pud)))
mm/huge_memory.c
2855
pud_t *pud, unsigned long addr)
mm/huge_memory.c
2860
ptl = __pud_trans_huge_lock(pud, vma);
mm/huge_memory.c
2864
orig_pud = pudp_huge_get_and_clear_full(vma, addr, pud, tlb->fullmm);
mm/huge_memory.c
2866
tlb_remove_pud_tlb_entry(tlb, pud, addr);
mm/huge_memory.c
2889
static void __split_huge_pud_locked(struct vm_area_struct *vma, pud_t *pud,
mm/huge_memory.c
2899
VM_BUG_ON(!pud_trans_huge(*pud));
mm/huge_memory.c
2903
old_pud = pudp_huge_clear_flush(vma, haddr, pud);
mm/huge_memory.c
2921
void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud,
mm/huge_memory.c
2931
ptl = pud_lock(vma->vm_mm, pud);
mm/huge_memory.c
2932
if (unlikely(!pud_trans_huge(*pud)))
mm/huge_memory.c
2934
__split_huge_pud_locked(vma, pud, range.start);
mm/huge_memory.c
2941
void __split_huge_pud(struct vm_area_struct *vma, pud_t *pud,
mm/hugetlb.c
6879
unsigned long addr, pud_t *pud)
mm/hugetlb.c
6909
if (pud_none(*pud)) {
mm/hugetlb.c
6910
pud_populate(mm, pud,
mm/hugetlb.c
6918
pte = (pte_t *)pmd_alloc(mm, pud, addr);
mm/hugetlb.c
6946
pud_t *pud = pud_offset(p4d, addr);
mm/hugetlb.c
6954
pud_clear(pud);
mm/hugetlb.c
6988
unsigned long addr, pud_t *pud)
mm/hugetlb.c
7020
pud_t *pud;
mm/hugetlb.c
7027
pud = pud_alloc(mm, p4d, addr);
mm/hugetlb.c
7028
if (pud) {
mm/hugetlb.c
7030
pte = (pte_t *)pud;
mm/hugetlb.c
7033
if (want_pmd_share(vma, addr) && pud_none(*pud))
mm/hugetlb.c
7034
pte = huge_pmd_share(mm, vma, addr, pud);
mm/hugetlb.c
7036
pte = (pte_t *)pmd_alloc(mm, pud, addr);
mm/hugetlb.c
7063
pud_t *pud;
mm/hugetlb.c
7073
pud = pud_offset(p4d, addr);
mm/hugetlb.c
7076
return (pte_t *)pud;
mm/hugetlb.c
7077
if (!pud_present(*pud))
mm/hugetlb.c
7081
pmd = pmd_offset(pud, addr);
mm/internal.h
1504
pud_t *pud, bool write);
mm/kasan/init.c
109
static int __ref zero_pmd_populate(pud_t *pud, unsigned long addr,
mm/kasan/init.c
112
pmd_t *pmd = pmd_offset(pud, addr);
mm/kasan/init.c
147
pud_t *pud = pud_offset(p4d, addr);
mm/kasan/init.c
155
pud_populate(&init_mm, pud,
mm/kasan/init.c
157
pmd = pmd_offset(pud, addr);
mm/kasan/init.c
163
if (pud_none(*pud)) {
mm/kasan/init.c
167
p = pmd_alloc(&init_mm, pud, addr);
mm/kasan/init.c
173
pud_populate(&init_mm, pud, p);
mm/kasan/init.c
176
zero_pmd_populate(pud, addr, next);
mm/kasan/init.c
177
} while (pud++, addr = next, addr != end);
mm/kasan/init.c
191
pud_t *pud;
mm/kasan/init.c
196
pud = pud_offset(p4d, addr);
mm/kasan/init.c
197
pud_populate(&init_mm, pud,
mm/kasan/init.c
199
pmd = pmd_offset(pud, addr);
mm/kasan/init.c
243
pud_t *pud;
mm/kasan/init.c
259
pud = pud_offset(p4d, addr);
mm/kasan/init.c
260
pud_populate(&init_mm, pud,
mm/kasan/init.c
262
pmd = pmd_offset(pud, addr);
mm/kasan/init.c
299
static void kasan_free_pmd(pmd_t *pmd_start, pud_t *pud)
mm/kasan/init.c
310
pmd_free(&init_mm, (pmd_t *)page_to_virt(pud_page(*pud)));
mm/kasan/init.c
311
pud_clear(pud);
mm/kasan/init.c
316
pud_t *pud;
mm/kasan/init.c
320
pud = pud_start + i;
mm/kasan/init.c
321
if (!pud_none(*pud))
mm/kasan/init.c
392
static void kasan_remove_pud_table(pud_t *pud, unsigned long addr,
mm/kasan/init.c
397
for (; addr < end; addr = next, pud++) {
mm/kasan/init.c
402
if (!pud_present(*pud))
mm/kasan/init.c
405
if (kasan_pmd_table(*pud)) {
mm/kasan/init.c
408
pud_clear(pud);
mm/kasan/init.c
412
pmd = pmd_offset(pud, addr);
mm/kasan/init.c
413
pmd_base = pmd_offset(pud, 0);
mm/kasan/init.c
415
kasan_free_pmd(pmd_base, pud);
mm/kasan/init.c
425
pud_t *pud;
mm/kasan/init.c
439
pud = pud_offset(p4d, addr);
mm/kasan/init.c
440
kasan_remove_pud_table(pud, addr, next);
mm/kasan/init.c
57
static inline bool kasan_pmd_table(pud_t pud)
mm/kasan/init.c
59
return pud_page(pud) == virt_to_page(lm_alias(kasan_early_shadow_pmd));
mm/kasan/init.c
62
static inline bool kasan_pmd_table(pud_t pud)
mm/kasan/shadow.c
190
pud_t *pud;
mm/kasan/shadow.c
199
pud = pud_offset(p4d, addr);
mm/kasan/shadow.c
200
if (pud_none(*pud))
mm/kasan/shadow.c
202
if (pud_leaf(*pud))
mm/kasan/shadow.c
204
pmd = pmd_offset(pud, addr);
mm/madvise.c
1074
static int guard_install_pud_entry(pud_t *pud, unsigned long addr,
mm/madvise.c
1077
pud_t pudval = pudp_get(pud);
mm/madvise.c
1212
static int guard_remove_pud_entry(pud_t *pud, unsigned long addr,
mm/madvise.c
1215
pud_t pudval = pudp_get(pud);
mm/mapping_dirty_helpers.c
148
static int wp_clean_pud_entry(pud_t *pud, unsigned long addr, unsigned long end,
mm/mapping_dirty_helpers.c
152
pud_t pudval = pudp_get(pud);
mm/memory-failure.c
343
pud_t *pud;
mm/memory-failure.c
355
pud = pud_offset(p4d, address);
mm/memory-failure.c
356
if (!pud_present(*pud))
mm/memory-failure.c
358
if (pud_trans_huge(*pud))
mm/memory-failure.c
360
pmd = pmd_offset(pud, address);
mm/memory.c
198
static inline void free_pmd_range(struct mmu_gather *tlb, pud_t *pud,
mm/memory.c
1988
struct vm_area_struct *vma, pud_t *pud,
mm/memory.c
1995
pmd = pmd_offset(pud, addr);
mm/memory.c
2034
pud_t *pud;
mm/memory.c
2037
pud = pud_offset(p4d, addr);
mm/memory.c
2040
if (pud_trans_huge(*pud)) {
mm/memory.c
2042
split_huge_pud(vma, pud, addr);
mm/memory.c
2043
else if (zap_huge_pud(tlb, vma, pud, addr))
mm/memory.c
2047
if (pud_none_or_clear_bad(pud))
mm/memory.c
2049
next = zap_pmd_range(tlb, vma, pud, addr, next, details);
mm/memory.c
2052
} while (pud++, addr = next, addr != end);
mm/memory.c
207
pmd = pmd_offset(pud, addr);
mm/memory.c
226
pmd = pmd_offset(pud, start);
mm/memory.c
2265
pud_t *pud;
mm/memory.c
227
pud_clear(pud);
mm/memory.c
2272
pud = pud_alloc(mm, p4d, addr);
mm/memory.c
2273
if (!pud)
mm/memory.c
2275
pmd = pmd_alloc(mm, pud, addr);
mm/memory.c
236
pud_t *pud;
mm/memory.c
241
pud = pud_offset(p4d, addr);
mm/memory.c
244
if (pud_none_or_clear_bad(pud))
mm/memory.c
246
free_pmd_range(tlb, pud, addr, next, floor, ceiling);
mm/memory.c
247
} while (pud++, addr = next, addr != end);
mm/memory.c
260
pud = pud_offset(p4d, start);
mm/memory.c
262
pud_free_tlb(tlb, pud, start);
mm/memory.c
2893
static inline int remap_pmd_range(struct mm_struct *mm, pud_t *pud,
mm/memory.c
2902
pmd = pmd_alloc(mm, pud, addr);
mm/memory.c
2920
pud_t *pud;
mm/memory.c
2925
pud = pud_alloc(mm, p4d, addr);
mm/memory.c
2926
if (!pud)
mm/memory.c
2930
err = remap_pmd_range(mm, pud, addr, next,
mm/memory.c
2934
} while (pud++, addr = next, addr != end);
mm/memory.c
3258
static int apply_to_pmd_range(struct mm_struct *mm, pud_t *pud,
mm/memory.c
3267
BUG_ON(pud_leaf(*pud));
mm/memory.c
3270
pmd = pmd_alloc_track(mm, pud, addr, mask);
mm/memory.c
3274
pmd = pmd_offset(pud, addr);
mm/memory.c
3301
pud_t *pud;
mm/memory.c
3306
pud = pud_alloc_track(mm, p4d, addr, mask);
mm/memory.c
3307
if (!pud)
mm/memory.c
3310
pud = pud_offset(p4d, addr);
mm/memory.c
3314
if (pud_none(*pud) && !create)
mm/memory.c
3316
if (WARN_ON_ONCE(pud_leaf(*pud)))
mm/memory.c
3318
if (!pud_none(*pud) && WARN_ON_ONCE(pud_bad(*pud))) {
mm/memory.c
3321
pud_clear_bad(pud);
mm/memory.c
3323
err = apply_to_pmd_range(mm, pud, addr, next,
mm/memory.c
3327
} while (pud++, addr = next, addr != end);
mm/memory.c
539
pud_t pud, *pudp;
mm/memory.c
565
pud = pudp_get(pudp);
mm/memory.c
566
pudv = pud_val(pud);
mm/memory.c
568
if (!pud_present(pud) || pud_leaf(pud)) {
mm/memory.c
6214
__split_huge_pud(vma, vmf->pud, vmf->address);
mm/memory.c
6377
vmf.pud = pud_alloc(mm, p4d, address);
mm/memory.c
6378
if (!vmf.pud)
mm/memory.c
6381
if (pud_none(*vmf.pud) &&
mm/memory.c
6387
pud_t orig_pud = *vmf.pud;
mm/memory.c
6407
vmf.pmd = pmd_alloc(mm, vmf.pud, address);
mm/memory.c
6412
if (pud_trans_unstable(vmf.pud))
mm/memory.c
6707
int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address)
mm/memory.c
6714
ptl = pud_lock(mm, pud);
mm/memory.c
6715
if (!pud_present(*pud)) {
mm/memory.c
6718
pud_populate(mm, pud, new);
mm/memory.c
6795
pud_t *pudp, pud;
mm/memory.c
6817
pud = pudp_get(pudp);
mm/memory.c
6818
if (!pud_present(pud))
mm/memory.c
6820
if (pud_leaf(pud)) {
mm/memory.c
6822
pud = pudp_get(pudp);
mm/memory.c
6824
if (unlikely(!pud_present(pud))) {
mm/memory.c
6827
} else if (unlikely(!pud_leaf(pud))) {
mm/memory.c
6831
pfnmap_args_setup(args, lock, NULL, pud_pgprot(pud),
mm/memory.c
6832
pud_pfn(pud), PUD_MASK, pud_write(pud),
mm/memory.c
6833
pud_special(pud));
mm/memory.c
848
unsigned long addr, pud_t pud)
mm/memory.c
850
return __vm_normal_page(vma, addr, pud_pfn(pud), pud_special(pud),
mm/memory.c
851
pud_val(pud), PGTABLE_LEVEL_PUD);
mm/mprotect.c
452
struct vm_area_struct *vma, pud_t *pud, unsigned long addr,
mm/mprotect.c
460
pmd = pmd_offset(pud, addr);
mm/mprotect.c
526
pud_t *pudp, pud;
mm/mprotect.c
542
pud = pudp_get(pudp);
mm/mprotect.c
543
if (pud_none(pud))
mm/mprotect.c
553
if (pud_leaf(pud)) {
mm/mprotect.c
591
ret = change_prepare(vma, p4d, pud, addr, cp_flags);
mm/mremap.c
101
pud = get_old_pud(mm, addr);
mm/mremap.c
102
if (!pud)
mm/mremap.c
105
pmd = pmd_offset(pud, addr);
mm/mremap.c
127
pud_t *pud;
mm/mremap.c
130
pud = alloc_new_pud(mm, addr);
mm/mremap.c
131
if (!pud)
mm/mremap.c
134
pmd = pmd_alloc(mm, pud, addr);
mm/mremap.c
433
pud_t pud;
mm/mremap.c
456
pud = *old_pud;
mm/mremap.c
461
pud_populate(mm, new_pud, pud_pgtable(pud));
mm/mremap.c
484
pud_t pud;
mm/mremap.c
503
pud = *old_pud;
mm/mremap.c
510
set_pud_at(mm, pmc->new_addr, new_pud, pud);
mm/mremap.c
79
pud_t *pud;
mm/mremap.c
89
pud = pud_offset(p4d, addr);
mm/mremap.c
90
if (pud_none_or_clear_bad(pud))
mm/mremap.c
93
return pud;
mm/mremap.c
98
pud_t *pud;
mm/page_table_check.c
173
pud_t pud)
mm/page_table_check.c
178
if (pud_user_accessible_page(pud, addr)) {
mm/page_table_check.c
179
page_table_check_clear(pud_pfn(pud), PUD_SIZE >> PAGE_SHIFT);
mm/page_table_check.c
250
pud_t *pudp, pud_t pud, unsigned int nr)
mm/page_table_check.c
260
if (pud_user_accessible_page(pud, addr))
mm/page_table_check.c
261
page_table_check_set(pud_pfn(pud), stride * nr, pud_write(pud));
mm/page_vma_mapped.c
188
pud_t *pud;
mm/page_vma_mapped.c
231
pud = pud_offset(p4d, pvmw->address);
mm/page_vma_mapped.c
232
if (!pud_present(*pud)) {
mm/page_vma_mapped.c
237
pvmw->pmd = pmd_offset(pud, pvmw->address);
mm/pagewalk.c
100
pud_t pudval = pudp_get(pud);
mm/pagewalk.c
127
pmd = pmd_offset(pud, addr);
mm/pagewalk.c
189
pud_t *pud;
mm/pagewalk.c
197
pud = pud_offset(p4d, addr);
mm/pagewalk.c
201
if (pud_none(*pud)) {
mm/pagewalk.c
203
err = __pmd_alloc(walk->mm, pud, addr);
mm/pagewalk.c
215
err = ops->pud_entry(pud, addr, next, walk);
mm/pagewalk.c
231
if (pud_present(*pud) && pud_trans_huge(*pud))
mm/pagewalk.c
236
split_huge_pud(walk->vma, pud, addr);
mm/pagewalk.c
237
else if (pud_leaf(*pud) || !pud_present(*pud))
mm/pagewalk.c
240
err = walk_pmd_range(pud, addr, next, walk);
mm/pagewalk.c
246
} while (pud++, addr = next, addr != end);
mm/pagewalk.c
909
pud_t *pudp, pud;
mm/pagewalk.c
931
pud = pudp_get(pudp);
mm/pagewalk.c
932
if (pud_none(pud))
mm/pagewalk.c
935
(!pud_present(pud) || pud_leaf(pud))) {
mm/pagewalk.c
937
pud = pudp_get(pudp);
mm/pagewalk.c
942
fw->pud = pud;
mm/pagewalk.c
944
if (pud_none(pud)) {
mm/pagewalk.c
947
} else if (pud_present(pud) && !pud_leaf(pud)) {
mm/pagewalk.c
950
} else if (pud_present(pud)) {
mm/pagewalk.c
951
page = vm_normal_page_pud(vma, addr, pud);
mm/pagewalk.c
964
VM_WARN_ON_ONCE(!pud_present(pud) || pud_leaf(pud));
mm/pagewalk.c
97
static int walk_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
mm/percpu.c
3149
pud_t *pud;
mm/percpu.c
3159
pud = memblock_alloc_or_panic(PUD_TABLE_SIZE, PUD_TABLE_SIZE);
mm/percpu.c
3160
p4d_populate_kernel(addr, p4d, pud);
mm/percpu.c
3163
pud = pud_offset(p4d, addr);
mm/percpu.c
3164
if (pud_none(*pud)) {
mm/percpu.c
3166
pud_populate(&init_mm, pud, pmd);
mm/percpu.c
3169
pmd = pmd_offset(pud, addr);
mm/pgalloc-track.h
32
static inline pmd_t *pmd_alloc_track(struct mm_struct *mm, pud_t *pud,
mm/pgalloc-track.h
36
if (unlikely(pud_none(*pud))) {
mm/pgalloc-track.h
37
if (__pmd_alloc(mm, pud, address))
mm/pgalloc-track.h
42
return pmd_offset(pud, address);
mm/pgtable-generic.c
154
pud_t pud;
mm/pgtable-generic.c
158
pud = pudp_huge_get_and_clear(vma->vm_mm, address, pudp);
mm/pgtable-generic.c
160
return pud;
mm/pgtable-generic.c
42
void pud_clear_bad(pud_t *pud)
mm/pgtable-generic.c
44
pud_ERROR(*pud);
mm/pgtable-generic.c
45
pud_clear(pud);
mm/ptdump.c
76
static int ptdump_pud_entry(pud_t *pud, unsigned long addr,
mm/ptdump.c
80
pud_t val = pudp_get(pud);
mm/rmap.c
887
pud_t *pud;
mm/rmap.c
898
pud = pud_offset(p4d, address);
mm/rmap.c
899
if (!pud_present(*pud))
mm/rmap.c
902
pmd = pmd_offset(pud, address);
mm/sparse-vmemmap.c
198
pmd_t * __meminit vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node)
mm/sparse-vmemmap.c
200
pmd_t *pmd = pmd_offset(pud, addr);
mm/sparse-vmemmap.c
213
pud_t *pud = pud_offset(p4d, addr);
mm/sparse-vmemmap.c
214
if (pud_none(*pud)) {
mm/sparse-vmemmap.c
219
pud_populate(&init_mm, pud, p);
mm/sparse-vmemmap.c
221
return pud;
mm/sparse-vmemmap.c
256
pud_t *pud;
mm/sparse-vmemmap.c
266
pud = vmemmap_pud_populate(p4d, addr, node);
mm/sparse-vmemmap.c
267
if (!pud)
mm/sparse-vmemmap.c
269
pmd = vmemmap_pmd_populate(pud, addr, node);
mm/sparse-vmemmap.c
423
pud_t *pud;
mm/sparse-vmemmap.c
437
pud = vmemmap_pud_populate(p4d, addr, node);
mm/sparse-vmemmap.c
438
if (!pud)
mm/sparse-vmemmap.c
441
pmd = pmd_offset(pud, addr);
mm/swapfile.c
2260
static inline int unuse_pmd_range(struct vm_area_struct *vma, pud_t *pud,
mm/swapfile.c
2268
pmd = pmd_offset(pud, addr);
mm/swapfile.c
2283
pud_t *pud;
mm/swapfile.c
2287
pud = pud_offset(p4d, addr);
mm/swapfile.c
2290
if (pud_none_or_clear_bad(pud))
mm/swapfile.c
2292
ret = unuse_pmd_range(vma, pud, addr, next, type);
mm/swapfile.c
2295
} while (pud++, addr = next, addr != end);
mm/userfaultfd.c
469
pud_t *pud;
mm/userfaultfd.c
475
pud = pud_alloc(mm, p4d, address);
mm/userfaultfd.c
476
if (!pud)
mm/userfaultfd.c
483
return pmd_alloc(mm, pud, address);
mm/vmalloc.c
167
static int vmap_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
mm/vmalloc.c
175
pmd = pmd_alloc_track(&init_mm, pud, addr, mask);
mm/vmalloc.c
194
static int vmap_try_huge_pud(pud_t *pud, unsigned long addr, unsigned long end,
mm/vmalloc.c
213
if (pud_present(*pud) && !pud_free_pmd_page(pud, addr))
mm/vmalloc.c
216
return pud_set_huge(pud, phys_addr, prot);
mm/vmalloc.c
223
pud_t *pud;
mm/vmalloc.c
227
pud = pud_alloc_track(&init_mm, p4d, addr, mask);
mm/vmalloc.c
228
if (!pud)
mm/vmalloc.c
233
if (vmap_try_huge_pud(pud, addr, next, phys_addr, prot,
mm/vmalloc.c
239
err = vmap_pmd_range(pud, addr, next, phys_addr, prot, max_page_shift, mask);
mm/vmalloc.c
242
} while (pud++, phys_addr += (next - addr), addr = next, addr != end);
mm/vmalloc.c
397
static void vunmap_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
mm/vmalloc.c
404
pmd = pmd_offset(pud, addr);
mm/vmalloc.c
427
pud_t *pud;
mm/vmalloc.c
431
pud = pud_offset(p4d, addr);
mm/vmalloc.c
435
cleared = pud_clear_huge(pud);
mm/vmalloc.c
436
if (cleared || pud_bad(*pud))
mm/vmalloc.c
443
if (pud_none_or_clear_bad(pud))
mm/vmalloc.c
445
vunmap_pmd_range(pud, addr, next, mask);
mm/vmalloc.c
446
} while (pud++, addr = next, addr != end);
mm/vmalloc.c
569
static int vmap_pages_pmd_range(pud_t *pud, unsigned long addr,
mm/vmalloc.c
576
pmd = pmd_alloc_track(&init_mm, pud, addr, mask);
mm/vmalloc.c
591
pud_t *pud;
mm/vmalloc.c
594
pud = pud_alloc_track(&init_mm, p4d, addr, mask);
mm/vmalloc.c
595
if (!pud)
mm/vmalloc.c
599
if (vmap_pages_pmd_range(pud, addr, next, prot, pages, nr, mask))
mm/vmalloc.c
601
} while (pud++, addr = next, addr != end);
mm/vmalloc.c
805
pud_t *pud;
mm/vmalloc.c
830
pud = pud_offset(p4d, addr);
mm/vmalloc.c
831
if (pud_none(*pud))
mm/vmalloc.c
833
if (pud_leaf(*pud))
mm/vmalloc.c
834
return pud_page(*pud) + ((addr & ~PUD_MASK) >> PAGE_SHIFT);
mm/vmalloc.c
835
if (WARN_ON_ONCE(pud_bad(*pud)))
mm/vmalloc.c
838
pmd = pmd_offset(pud, addr);
mm/vmscan.c
3572
static void walk_pmd_range_locked(pud_t *pud, unsigned long addr, struct vm_area_struct *vma,
mm/vmscan.c
3586
VM_WARN_ON_ONCE(pud_leaf(*pud));
mm/vmscan.c
3601
pmd = pmd_offset(pud, *first);
mm/vmscan.c
3660
static void walk_pmd_range(pud_t *pud, unsigned long start, unsigned long end,
mm/vmscan.c
3673
VM_WARN_ON_ONCE(pud_leaf(*pud));
mm/vmscan.c
3680
pmd = pmd_offset(pud, start & PUD_MASK);
mm/vmscan.c
3701
walk_pmd_range_locked(pud, addr, vma, args, bitmap, &first);
mm/vmscan.c
3710
walk_pmd_range_locked(pud, addr, vma, args, bitmap, &first);
mm/vmscan.c
3727
walk_pmd_range_locked(pud, -1, vma, args, bitmap, &first);
mm/vmscan.c
3737
pud_t *pud;
mm/vmscan.c
3744
pud = pud_offset(p4d, start & P4D_MASK);
mm/vmscan.c
3747
pud_t val = pudp_get(pud + i);
tools/testing/selftests/vfio/vfio_dma_mapping_test.c
171
printf("PUD: 0x%016lx\n", mapping.pud);
tools/testing/selftests/vfio/vfio_dma_mapping_test.c
186
ASSERT_NE(0, mapping.pud);
tools/testing/selftests/vfio/vfio_dma_mapping_test.c
21
u64 pud;
tools/testing/selftests/vfio/vfio_dma_mapping_test.c
70
parse_next_value(&rest, &mapping->pud);