Home
last modified time | relevance | path

Searched refs:pud (Results 1 – 25 of 129) sorted by relevance

123456

/linux-2.6.39/include/asm-generic/
D4level-fixup.h13 #define pmd_alloc(mm, pud, address) \ argument
14 ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \
15 NULL: pmd_offset(pud, address))
19 #define pud_none(pud) 0 argument
20 #define pud_bad(pud) 0 argument
21 #define pud_present(pud) 1 argument
22 #define pud_ERROR(pud) do { } while (0) argument
23 #define pud_clear(pud) pgd_clear(pud) argument
24 #define pud_val(pud) pgd_val(pud) argument
25 #define pud_populate(mm, pud, pmd) pgd_populate(mm, pud, pmd) argument
[all …]
Dpgtable-nopmd.h17 typedef struct { pud_t pud; } pmd_t; member
29 static inline int pud_none(pud_t pud) { return 0; } in pud_none() argument
30 static inline int pud_bad(pud_t pud) { return 0; } in pud_bad() argument
31 static inline int pud_present(pud_t pud) { return 1; } in pud_present() argument
32 static inline void pud_clear(pud_t *pud) { } in pud_clear() argument
33 #define pmd_ERROR(pmd) (pud_ERROR((pmd).pud))
43 static inline pmd_t * pmd_offset(pud_t * pud, unsigned long address) in pmd_offset() argument
45 return (pmd_t *)pud; in pmd_offset()
48 #define pmd_val(x) (pud_val((x).pud))
51 #define pud_page(pud) (pmd_page((pmd_t){ pud })) argument
[all …]
/linux-2.6.39/arch/s390/include/asm/
Dpgalloc.h71 #define pgd_populate(mm, pgd, pud) BUG() argument
72 #define pgd_populate_kernel(mm, pgd, pud) BUG() argument
74 #define pud_populate(mm, pud, pmd) BUG() argument
75 #define pud_populate_kernel(mm, pud, pmd) BUG() argument
98 #define pud_free(mm, pud) crst_table_free(mm, (unsigned long *) pud) argument
110 pgd_t *pgd, pud_t *pud) in pgd_populate_kernel() argument
112 pgd_val(*pgd) = _REGION2_ENTRY | __pa(pud); in pgd_populate_kernel()
115 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, pud_t *pud) in pgd_populate() argument
117 pgd_populate_kernel(mm, pgd, pud); in pgd_populate()
120 pud = get_shadow_table(pud); in pgd_populate()
[all …]
Dpgtable.h468 static inline int pud_present(pud_t pud) { return 1; } in pud_present() argument
469 static inline int pud_none(pud_t pud) { return 0; } in pud_none() argument
470 static inline int pud_bad(pud_t pud) { return 0; } in pud_bad() argument
501 static inline int pud_present(pud_t pud) in pud_present() argument
503 if ((pud_val(pud) & _REGION_ENTRY_TYPE_MASK) < _REGION_ENTRY_TYPE_R3) in pud_present()
505 return (pud_val(pud) & _REGION_ENTRY_ORIGIN) != 0UL; in pud_present()
508 static inline int pud_none(pud_t pud) in pud_none() argument
510 if ((pud_val(pud) & _REGION_ENTRY_TYPE_MASK) < _REGION_ENTRY_TYPE_R3) in pud_none()
512 return (pud_val(pud) & _REGION_ENTRY_INV) != 0UL; in pud_none()
515 static inline int pud_bad(pud_t pud) in pud_bad() argument
[all …]
/linux-2.6.39/arch/mips/mm/
Dhugetlbpage.c29 pud_t *pud; in huge_pte_alloc() local
33 pud = pud_alloc(mm, pgd, addr); in huge_pte_alloc()
34 if (pud) in huge_pte_alloc()
35 pte = (pte_t *)pmd_alloc(mm, pud, addr); in huge_pte_alloc()
43 pud_t *pud; in huge_pte_offset() local
48 pud = pud_offset(pgd, addr); in huge_pte_offset()
49 if (pud_present(*pud)) in huge_pte_offset()
50 pmd = pmd_offset(pud, addr); in huge_pte_offset()
83 int pud_huge(pud_t pud) in pud_huge() argument
85 return (pud_val(pud) & _PAGE_HUGE) != 0; in pud_huge()
/linux-2.6.39/arch/x86/mm/
Dinit_64.c163 pud_t *pud = (pud_t *)spp_getpage(); in fill_pud() local
164 pgd_populate(&init_mm, pgd, pud); in fill_pud()
165 if (pud != pud_offset(pgd, 0)) in fill_pud()
167 pud, pud_offset(pgd, 0)); in fill_pud()
172 static pmd_t *fill_pmd(pud_t *pud, unsigned long vaddr) in fill_pmd() argument
174 if (pud_none(*pud)) { in fill_pmd()
176 pud_populate(&init_mm, pud, pmd); in fill_pmd()
177 if (pmd != pmd_offset(pud, 0)) in fill_pmd()
179 pmd, pmd_offset(pud, 0)); in fill_pmd()
181 return pmd_offset(pud, vaddr); in fill_pmd()
[all …]
Dhugetlbpage.c61 static void huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud) in huge_pmd_share() argument
94 if (pud_none(*pud)) in huge_pmd_share()
95 pud_populate(mm, pud, (pmd_t *)((unsigned long)spte & PAGE_MASK)); in huge_pmd_share()
118 pud_t *pud = pud_offset(pgd, *addr); in huge_pmd_unshare() local
124 pud_clear(pud); in huge_pmd_unshare()
134 pud_t *pud; in huge_pte_alloc() local
138 pud = pud_alloc(mm, pgd, addr); in huge_pte_alloc()
139 if (pud) { in huge_pte_alloc()
141 pte = (pte_t *)pud; in huge_pte_alloc()
144 if (pud_none(*pud)) in huge_pte_alloc()
[all …]
Dpgtable_32.c31 pud_t *pud; in set_pte_vaddr() local
40 pud = pud_offset(pgd, vaddr); in set_pte_vaddr()
41 if (pud_none(*pud)) { in set_pte_vaddr()
45 pmd = pmd_offset(pud, vaddr); in set_pte_vaddr()
72 pud_t *pud; in set_pmd_pfn() local
88 pud = pud_offset(pgd, vaddr); in set_pmd_pfn()
89 pmd = pmd_offset(pud, vaddr); in set_pmd_pfn()
/linux-2.6.39/arch/sh/mm/
Dhugetlbpage.c28 pud_t *pud; in huge_pte_alloc() local
34 pud = pud_alloc(mm, pgd, addr); in huge_pte_alloc()
35 if (pud) { in huge_pte_alloc()
36 pmd = pmd_alloc(mm, pud, addr); in huge_pte_alloc()
48 pud_t *pud; in huge_pte_offset() local
54 pud = pud_offset(pgd, addr); in huge_pte_offset()
55 if (pud) { in huge_pte_offset()
56 pmd = pmd_offset(pud, addr); in huge_pte_offset()
81 int pud_huge(pud_t pud) in pud_huge() argument
Dfault_64.c87 pud_t *pud; in handle_vmalloc_fault() local
94 pud = pud_offset(dir, address); in handle_vmalloc_fault()
95 if (pud_none_or_clear_bad(pud)) in handle_vmalloc_fault()
98 pmd = pmd_offset(pud, address); in handle_vmalloc_fault()
121 pud_t *pud; in handle_tlbmiss() local
146 pud = pud_offset(dir, address); in handle_tlbmiss()
147 if (pud_none(*pud) || !pud_present(*pud)) in handle_tlbmiss()
150 pmd = pmd_offset(pud, address); in handle_tlbmiss()
/linux-2.6.39/arch/arm/mm/
Didmap.c7 static void idmap_add_pmd(pud_t *pud, unsigned long addr, unsigned long end, in idmap_add_pmd() argument
10 pmd_t *pmd = pmd_offset(pud, addr); in idmap_add_pmd()
22 pud_t *pud = pud_offset(pgd, addr); in idmap_add_pud() local
27 idmap_add_pmd(pud, addr, next, prot); in idmap_add_pud()
28 } while (pud++, addr = next, addr != end); in idmap_add_pud()
47 static void idmap_del_pmd(pud_t *pud, unsigned long addr, unsigned long end) in idmap_del_pmd() argument
49 pmd_t *pmd = pmd_offset(pud, addr); in idmap_del_pmd()
55 pud_t *pud = pud_offset(pgd, addr); in idmap_del_pud() local
60 idmap_del_pmd(pud, addr, next); in idmap_del_pud()
61 } while (pud++, addr = next, addr != end); in idmap_del_pud()
Dpgd.c85 pud_t *pud; in pgd_free() local
96 pud = pud_offset(pgd, 0); in pgd_free()
97 if (pud_none_or_clear_bad(pud)) in pgd_free()
100 pmd = pmd_offset(pud, 0); in pgd_free()
108 pud_clear(pud); in pgd_free()
112 pud_free(mm, pud); in pgd_free()
/linux-2.6.39/arch/x86/kernel/
Dmachine_kexec_64.c27 pud_t *pud; in init_one_level2_page() local
38 pud = (pud_t *)page_address(page); in init_one_level2_page()
39 clear_page(pud); in init_one_level2_page()
40 set_pgd(pgd, __pgd(__pa(pud) | _KERNPG_TABLE)); in init_one_level2_page()
42 pud = pud_offset(pgd, addr); in init_one_level2_page()
43 if (!pud_present(*pud)) { in init_one_level2_page()
49 set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE)); in init_one_level2_page()
51 pmd = pmd_offset(pud, addr); in init_one_level2_page()
140 free_page((unsigned long)image->arch.pud); in free_transition_pgtable()
147 pud_t *pud; in init_transition_pgtable() local
[all …]
/linux-2.6.39/arch/mips/include/asm/
Dpgtable-64.h192 static inline int pud_none(pud_t pud) in pud_none() argument
194 return pud_val(pud) == (unsigned long) invalid_pmd_table; in pud_none()
197 static inline int pud_bad(pud_t pud) in pud_bad() argument
199 return pud_val(pud) & ~PAGE_MASK; in pud_bad()
202 static inline int pud_present(pud_t pud) in pud_present() argument
204 return pud_val(pud) != (unsigned long) invalid_pmd_table; in pud_present()
237 static inline unsigned long pud_page_vaddr(pud_t pud) in pud_page_vaddr() argument
239 return pud_val(pud); in pud_page_vaddr()
241 #define pud_phys(pud) virt_to_phys((void *)pud_val(pud)) argument
242 #define pud_page(pud) (pfn_to_page(pud_phys(pud) >> PAGE_SHIFT)) argument
[all …]
/linux-2.6.39/arch/x86/include/asm/
Dpgalloc.h103 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument
106 set_pud(pud, __pud(_PAGE_TABLE | __pa(pmd))); in pud_populate()
111 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, pud_t *pud) in pgd_populate() argument
113 paravirt_alloc_pud(mm, __pa(pud) >> PAGE_SHIFT); in pgd_populate()
114 set_pgd(pgd, __pgd(_PAGE_TABLE | __pa(pud))); in pgd_populate()
122 static inline void pud_free(struct mm_struct *mm, pud_t *pud) in pud_free() argument
124 BUG_ON((unsigned long)pud & (PAGE_SIZE-1)); in pud_free()
125 free_page((unsigned long)pud); in pud_free()
128 extern void ___pud_free_tlb(struct mmu_gather *tlb, pud_t *pud);
130 static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud, in __pud_free_tlb() argument
[all …]
/linux-2.6.39/arch/um/include/asm/
Dpgtable-3level.h59 #define pud_populate(mm, pud, pmd) \ argument
60 set_pud(pud, __pud(_PAGE_TABLE + __pa(pmd)))
84 static inline void pud_clear (pud_t *pud) in pud_clear() argument
86 set_pud(pud, __pud(_PAGE_NEWPAGE)); in pud_clear()
89 #define pud_page(pud) phys_to_page(pud_val(pud) & PAGE_MASK) argument
90 #define pud_page_vaddr(pud) ((unsigned long) __va(pud_val(pud) & PAGE_MASK)) argument
93 #define pmd_offset(pud, address) ((pmd_t *) pud_page_vaddr(*(pud)) + \ argument
/linux-2.6.39/arch/x86/power/
Dhibernate_64.c42 static int res_phys_pud_init(pud_t *pud, unsigned long address, unsigned long end) in res_phys_pud_init() argument
47 pud = pud + i; in res_phys_pud_init()
48 for (; i < PTRS_PER_PUD; pud++, i++) { in res_phys_pud_init()
59 set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE)); in res_phys_pud_init()
91 pud_t *pud = (pud_t *)get_safe_page(GFP_ATOMIC); in set_up_temporary_mappings() local
92 if (!pud) in set_up_temporary_mappings()
97 if ((error = res_phys_pud_init(pud, __pa(start), __pa(next)))) in set_up_temporary_mappings()
100 mk_kernel_pgd(__pa(pud))); in set_up_temporary_mappings()
/linux-2.6.39/arch/um/kernel/
Dmem.c103 static void __init one_md_table_init(pud_t *pud) in one_md_table_init() argument
107 set_pud(pud, __pud(_KERNPG_TABLE + (unsigned long) __pa(pmd_table))); in one_md_table_init()
108 if (pmd_table != pmd_offset(pud, 0)) in one_md_table_init()
117 pud_t *pud; in fixrange_init() local
128 pud = pud_offset(pgd, vaddr); in fixrange_init()
129 if (pud_none(*pud)) in fixrange_init()
130 one_md_table_init(pud); in fixrange_init()
131 pmd = pmd_offset(pud, vaddr); in fixrange_init()
162 pud_t *pud; in init_highmem() local
174 pud = pud_offset(pgd, vaddr); in init_highmem()
[all …]
Dtlb.c214 static inline int update_pmd_range(pud_t *pud, unsigned long addr, in update_pmd_range() argument
222 pmd = pmd_offset(pud, addr); in update_pmd_range()
240 pud_t *pud; in update_pud_range() local
244 pud = pud_offset(pgd, addr); in update_pud_range()
247 if (!pud_present(*pud)) { in update_pud_range()
248 if (hvc->force || pud_newpage(*pud)) { in update_pud_range()
250 pud_mkuptodate(*pud); in update_pud_range()
253 else ret = update_pmd_range(pud, addr, next, hvc); in update_pud_range()
254 } while (pud++, addr = next, ((addr < end) && !ret)); in update_pud_range()
294 pud_t *pud; in flush_tlb_kernel_range_common() local
[all …]
/linux-2.6.39/arch/powerpc/include/asm/
Dpgalloc-64.h60 static inline void pud_free(struct mm_struct *mm, pud_t *pud) in pud_free() argument
62 kmem_cache_free(PGT_CACHE(PUD_INDEX_SIZE), pud); in pud_free()
65 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument
67 pud_set(pud, (unsigned long)pmd); in pud_populate()
78 #define pud_populate(mm, pud, pmd) pud_set(pud, (unsigned long)pmd) argument
136 #define __pud_free_tlb(tlb, pud, addr) \ argument
137 pgtable_free_tlb(tlb, pud, PUD_INDEX_SIZE)
/linux-2.6.39/lib/
Dioremap.c34 static inline int ioremap_pmd_range(pud_t *pud, unsigned long addr, in ioremap_pmd_range() argument
41 pmd = pmd_alloc(&init_mm, pud, addr); in ioremap_pmd_range()
55 pud_t *pud; in ioremap_pud_range() local
59 pud = pud_alloc(&init_mm, pgd, addr); in ioremap_pud_range()
60 if (!pud) in ioremap_pud_range()
64 if (ioremap_pmd_range(pud, addr, next, phys_addr + addr, prot)) in ioremap_pud_range()
66 } while (pud++, addr = next, addr != end); in ioremap_pud_range()
/linux-2.6.39/mm/
Dsparse-vmemmap.c113 pmd_t * __meminit vmemmap_pmd_populate(pud_t *pud, unsigned long addr, int node) in vmemmap_pmd_populate() argument
115 pmd_t *pmd = pmd_offset(pud, addr); in vmemmap_pmd_populate()
127 pud_t *pud = pud_offset(pgd, addr); in vmemmap_pud_populate() local
128 if (pud_none(*pud)) { in vmemmap_pud_populate()
132 pud_populate(&init_mm, pud, p); in vmemmap_pud_populate()
134 return pud; in vmemmap_pud_populate()
155 pud_t *pud; in vmemmap_populate_basepages() local
163 pud = vmemmap_pud_populate(pgd, addr, node); in vmemmap_populate_basepages()
164 if (!pud) in vmemmap_populate_basepages()
166 pmd = vmemmap_pmd_populate(pud, addr, node); in vmemmap_populate_basepages()
/linux-2.6.39/arch/tile/mm/
Dhugetlbpage.c35 pud_t *pud; in huge_pte_alloc() local
42 pud = pud_alloc(mm, pgd, addr); in huge_pte_alloc()
43 if (pud) in huge_pte_alloc()
44 pte = (pte_t *) pmd_alloc(mm, pud, addr); in huge_pte_alloc()
53 pud_t *pud; in huge_pte_offset() local
58 pud = pud_offset(pgd, addr); in huge_pte_offset()
59 if (pud_present(*pud)) in huge_pte_offset()
60 pmd = pmd_offset(pud, addr); in huge_pte_offset()
96 int pud_huge(pud_t pud) in pud_huge() argument
120 int pud_huge(pud_t pud) in pud_huge() argument
[all …]
/linux-2.6.39/arch/ia64/mm/
Dhugetlbpage.c32 pud_t *pud; in huge_pte_alloc() local
37 pud = pud_alloc(mm, pgd, taddr); in huge_pte_alloc()
38 if (pud) { in huge_pte_alloc()
39 pmd = pmd_alloc(mm, pud, taddr); in huge_pte_alloc()
51 pud_t *pud; in huge_pte_offset() local
57 pud = pud_offset(pgd, taddr); in huge_pte_offset()
58 if (pud_present(*pud)) { in huge_pte_offset()
59 pmd = pmd_offset(pud, taddr); in huge_pte_offset()
112 int pud_huge(pud_t pud) in pud_huge() argument
/linux-2.6.39/arch/ia64/xen/
Dxencomm.c52 pud_t *pud; in xencomm_vtop() local
69 pud = pud_offset(pgd, vaddr); in xencomm_vtop()
70 if (pud_none(*pud) || pud_bad(*pud)) in xencomm_vtop()
73 pmd = pmd_offset(pud, vaddr); in xencomm_vtop()

123456