Searched defs:pmd (Results 1 - 25 of 197) sorted by relevance

12345678

/arch/mn10300/include/asm/
H A Dpgalloc.h22 #define pmd_populate_kernel(mm, pmd, pte) \
23 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE))
26 void pmd_populate(struct mm_struct *mm, pmd_t *pmd, struct page *pte) argument
28 set_pmd(pmd, __pmd((page_to_pfn(pte) << PAGE_SHIFT) | _PAGE_TABLE));
30 #define pmd_pgtable(pmd) pmd_page(pmd)
/arch/sh/mm/
H A Dtlbex_32.c27 pmd_t *pmd; local
48 pmd = pmd_offset(pud, address);
49 if (pmd_none_or_clear_bad(pmd))
51 pte = pte_offset_kernel(pmd, address);
H A Dpgtable.c43 void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument
45 set_pud(pud, __pud((unsigned long)pmd));
53 void pmd_free(struct mm_struct *mm, pmd_t *pmd) argument
55 kmem_cache_free(pmd_cachep, pmd);
/arch/arm/mm/
H A Dhugetlbpage.c35 * On ARM, huge pages are backed by pmd's rather than pte's, so we do a lot
55 int pmd_huge(pmd_t pmd) argument
57 return pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT);
H A Didmap.c24 pmd_t *pmd; local
28 pmd = pmd_alloc_one(&init_mm, addr);
29 if (!pmd) {
30 pr_warn("Failed to allocate identity pmd.\n");
38 memcpy(pmd, pmd_offset(pud, 0),
40 pud_populate(&init_mm, pud, pmd);
41 pmd += pmd_index(addr);
43 pmd = pmd_offset(pud, addr);
47 *pmd = __pmd((addr & PMD_MASK) | prot);
48 flush_pmd_entry(pmd);
55 pmd_t *pmd = pmd_offset(pud, addr); local
[all...]
H A Dpgd.c112 pmd_t *pmd; local
126 pmd = pmd_offset(pud, 0);
127 if (pmd_none_or_clear_bad(pmd))
130 pte = pmd_pgtable(*pmd);
131 pmd_clear(pmd);
135 pmd_free(mm, pmd);
142 * Free modules/pkmap or identity pmd tables.
152 pmd = pmd_offset(pud, 0);
154 pmd_free(mm, pmd);
/arch/arm64/mm/
H A Dhugetlbpage.c47 int pmd_huge(pmd_t pmd) argument
49 return !(pmd_val(pmd) & PMD_TABLE_BIT);
/arch/mips/mm/
H A Dpgtable-32.c40 pmd_t *pmd; local
66 pmd = pmd_offset(pud, vaddr);
67 pte = pte_offset_kernel(pmd, vaddr);
H A Dhugetlbpage.c43 pmd_t *pmd = NULL; local
49 pmd = pmd_offset(pud, addr);
51 return (pte_t *) pmd;
77 int pmd_huge(pmd_t pmd) argument
79 return (pmd_val(pmd) & _PAGE_HUGE) != 0;
89 pmd_t *pmd, int write)
93 page = pte_page(*(pte_t *)pmd);
88 follow_huge_pmd(struct mm_struct *mm, unsigned long address, pmd_t *pmd, int write) argument
H A Dpgtable-64.c72 pmd_t pmd = pmd_mksplitting(*pmdp); local
73 set_pmd_at(vma->vm_mm, address, pmdp, pmd);
81 pmd_t pmd; local
83 pmd_val(pmd) = (page_to_pfn(page) << _PFN_SHIFT) | pgprot_val(prot);
85 return pmd;
89 pmd_t *pmdp, pmd_t pmd)
91 *pmdp = pmd;
88 set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) argument
/arch/mn10300/mm/
H A Dcache-inv-icache.c34 pmd_t *pmd; local
51 pmd = pmd_offset(pud, start);
52 if (!pmd || !pmd_val(*pmd))
55 ppte = pte_offset_map(pmd, start);
H A Dcache-flush-icache.c56 pmd_t *pmd; local
73 pmd = pmd_offset(pud, start);
74 if (!pmd || !pmd_val(*pmd))
77 ppte = pte_offset_map(pmd, start);
/arch/um/include/asm/
H A Dpgalloc.h13 #define pmd_populate_kernel(mm, pmd, pte) \
14 set_pmd(pmd, __pmd(_PAGE_TABLE + (unsigned long) __pa(pte)))
16 #define pmd_populate(mm, pmd, pte) \
17 set_pmd(pmd, __pmd(_PAGE_TABLE + \
20 #define pmd_pgtable(pmd) pmd_page(pmd)
50 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) argument
52 free_page((unsigned long)pmd);
/arch/unicore32/mm/
H A Dpgd.c80 pmd_t *pmd; local
87 pmd = pmd_off(pgd, 0);
88 if (pmd_none(*pmd))
90 if (pmd_bad(*pmd)) {
91 pmd_ERROR(*pmd);
92 pmd_clear(pmd);
96 pte = pmd_pgtable(*pmd);
97 pmd_clear(pmd);
99 pmd_free(mm, pmd);
/arch/x86/mm/
H A Dpgtable_32.c31 pmd_t *pmd; local
44 pmd = pmd_offset(pud, vaddr);
45 if (pmd_none(*pmd)) {
49 pte = pte_offset_kernel(pmd, vaddr);
/arch/xtensa/mm/
H A Dmmu.c24 pmd_t *pmd = pmd_offset(pgd, vaddr); local
38 for (i = 0; i < n_pages; i += PTRS_PER_PTE, ++pmd) {
41 BUG_ON(!pmd_none(*pmd));
42 set_pmd(pmd, __pmd(((unsigned long)cur_pte) & PAGE_MASK));
43 BUG_ON(cur_pte != pte_offset_kernel(pmd, 0));
44 pr_debug("%s: pmd: 0x%p, pte: 0x%p\n",
45 __func__, pmd, cur_pte);
/arch/alpha/include/asm/
H A Dpgalloc.h14 pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t pte) argument
16 pmd_set(pmd, (pte_t *)(page_to_pa(pte) + PAGE_OFFSET));
18 #define pmd_pgtable(pmd) pmd_page(pmd)
21 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) argument
23 pmd_set(pmd, pte);
27 pgd_populate(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmd) argument
29 pgd_set(pgd, pmd);
48 pmd_free(struct mm_struct *mm, pmd_t *pmd) argument
50 free_page((unsigned long)pmd);
[all...]
/arch/arc/mm/
H A Dfault.c28 pmd_t *pmd, *pmd_k; local
41 pmd = pmd_offset(pud, address);
46 set_pmd(pmd, *pmd_k);
/arch/arm/include/asm/
H A Dpgtable-2level-types.h34 typedef struct { pmdval_t pmd; } pmd_t; member in struct:__anon169
39 #define pmd_val(x) ((x).pmd)
/arch/arm/lib/
H A Duaccess_with_memcpy.c30 pmd_t *pmd; local
43 pmd = pmd_offset(pud, addr);
44 if (unlikely(pmd_none(*pmd)))
48 * A pmd can be bad if it refers to a HugeTLB or THP page.
50 * Both THP and HugeTLB pages have the same pmd layout
57 if (unlikely(pmd_thp_or_huge(*pmd))) {
60 if (unlikely(!pmd_thp_or_huge(*pmd)
61 || pmd_hugewillfault(*pmd)
62 || pmd_trans_splitting(*pmd))) {
72 if (unlikely(pmd_bad(*pmd)))
[all...]
/arch/cris/arch-v10/mm/
H A Dfault.c49 pmd_t *pmd; local
84 pmd = (pmd_t *)(pgd + pgd_index(address));
85 if (pmd_none(*pmd))
87 pte = *pte_offset_kernel(pmd, address);
/arch/hexagon/include/asm/
H A Dpgalloc.h96 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument
103 set_pmd(pmd, __pmd(((unsigned long)page_to_pfn(pte) << PAGE_SHIFT) |
109 * share the same pmd's for their kernel mappings, but the v0.3
116 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, argument
129 set_pmd(pmd, __pmd(((unsigned long)__pa(pte)) | HEXAGON_L1_PTE_SIZE));
135 pmdindex = (pgd_t *)pmd - mm->pgd;
/arch/openrisc/include/asm/
H A Dpgalloc.h30 #define pmd_populate_kernel(mm, pmd, pte) \
31 set_pmd(pmd, __pmd(_KERNPG_TABLE + __pa(pte)))
33 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument
36 set_pmd(pmd, __pmd(_KERNPG_TABLE +
104 #define pmd_pgtable(pmd) pmd_page(pmd)
/arch/score/include/asm/
H A Dpgalloc.h6 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, argument
9 set_pmd(pmd, __pmd((unsigned long)pte));
12 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument
15 set_pmd(pmd, __pmd((unsigned long)page_address(pte)));
18 #define pmd_pgtable(pmd) pmd_page(pmd)
/arch/score/mm/
H A Dfault.c208 pmd_t *pmd, *pmd_k; local
223 pmd = pmd_offset(pud, address);
227 set_pmd(pmd, *pmd_k);

Completed in 537 milliseconds

12345678