Home
last modified time | relevance | path

Searched full:pmd (Results 1 – 25 of 243) sorted by relevance

12345678910

/linux/drivers/md/
H A Ddm-thin-metadata.c233 struct dm_pool_metadata *pmd; member
419 static inline void pmd_write_lock_in_core(struct dm_pool_metadata *pmd) in pmd_write_lock_in_core() argument
420 __acquires(pmd->root_lock) in pmd_write_lock_in_core()
422 down_write(&pmd->root_lock); in pmd_write_lock_in_core()
425 static inline void pmd_write_lock(struct dm_pool_metadata *pmd) in pmd_write_lock() argument
427 pmd_write_lock_in_core(pmd); in pmd_write_lock()
428 if (unlikely(!pmd->in_service)) in pmd_write_lock()
429 pmd->in_service = true; in pmd_write_lock()
432 static inline void pmd_write_unlock(struct dm_pool_metadata *pmd) in pmd_write_unlock() argument
433 __releases(pmd->root_lock) in pmd_write_unlock()
[all …]
H A Ddm-thin-metadata.h49 int dm_pool_metadata_close(struct dm_pool_metadata *pmd);
62 int dm_pool_create_thin(struct dm_pool_metadata *pmd, dm_thin_id dev);
70 int dm_pool_create_snap(struct dm_pool_metadata *pmd, dm_thin_id dev,
78 int dm_pool_delete_thin_device(struct dm_pool_metadata *pmd,
85 int dm_pool_commit_metadata(struct dm_pool_metadata *pmd);
95 int dm_pool_abort_metadata(struct dm_pool_metadata *pmd);
100 int dm_pool_set_metadata_transaction_id(struct dm_pool_metadata *pmd,
104 int dm_pool_get_metadata_transaction_id(struct dm_pool_metadata *pmd,
116 int dm_pool_reserve_metadata_snap(struct dm_pool_metadata *pmd);
117 int dm_pool_release_metadata_snap(struct dm_pool_metadata *pmd);
[all …]
/linux/arch/arc/include/asm/
H A Dhugepage.h20 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() argument
22 return __pte(pmd_val(pmd)); in pmd_pte()
30 #define pmd_wrprotect(pmd) pte_pmd(pte_wrprotect(pmd_pte(pmd))) argument
31 #define pmd_mkwrite_novma(pmd) pte_pmd(pte_mkwrite_novma(pmd_pte(pmd))) argument
32 #define pmd_mkdirty(pmd) pte_pmd(pte_mkdirty(pmd_pte(pmd))) argument
33 #define pmd_mkold(pmd) pte_pmd(pte_mkold(pmd_pte(pmd))) argument
34 #define pmd_mkyoung(pmd) pte_pmd(pte_mkyoung(pmd_pte(pmd))) argument
35 #define pmd_mkhuge(pmd) pte_pmd(pte_mkhuge(pmd_pte(pmd))) argument
36 #define pmd_mkinvalid(pmd) pte_pmd(pte_mknotpresent(pmd_pte(pmd))) argument
37 #define pmd_mkclean(pmd) pte_pmd(pte_mkclean(pmd_pte(pmd))) argument
[all …]
H A Dpgtable-levels.h138 * 3rd level paging: pmd
141 pr_crit("%s:%d: bad pmd %08lx.\n", __FILE__, __LINE__, pmd_val(e))
143 #define pmd_pfn(pmd) ((pmd_val(pmd) & PMD_MASK) >> PAGE_SHIFT) argument
153 * In 3+ level paging (pgd -> pmd -> pte), pmd_* macros work on pmd
159 #define pmd_page_vaddr(pmd) (pmd_val(pmd) & PAGE_MASK) argument
160 #define pmd_pfn(pmd) ((pmd_val(pmd) & PAGE_MASK) >> PAGE_SHIFT) argument
161 #define pmd_page(pmd) virt_to_page((void *)pmd_page_vaddr(pmd)) argument
162 #define set_pmd(pmdp, pmd) (*(pmdp) = pmd) argument
163 #define pmd_pgtable(pmd) ((pgtable_t) pmd_page(pmd)) argument
/linux/arch/arm/include/asm/
H A Dpgtable-3level.h117 #define pmd_table(pmd) ((pmd_val(pmd) & PMD_TYPE_MASK) == \ argument
119 #define pmd_sect(pmd) ((pmd_val(pmd) & PMD_TYPE_MASK) == \ argument
121 #define pmd_leaf(pmd) pmd_sect(pmd) argument
140 #define pmd_bad(pmd) (!(pmd_val(pmd) & PMD_TABLE_BIT)) argument
176 #define pmd_isset(pmd, val) ((u32)(val) == (val) ? pmd_val(pmd) & (val) \ argument
177 : !!(pmd_val(pmd) & (val)))
178 #define pmd_isclear(pmd, val) (!(pmd_val(pmd) & (val))) argument
180 #define pmd_present(pmd) (pmd_isset((pmd), L_PMD_SECT_VALID)) argument
181 #define pmd_young(pmd) (pmd_isset((pmd), PMD_SECT_AF)) argument
189 #define pmd_write(pmd) (pmd_isclear((pmd), L_PMD_SECT_RDONLY)) argument
[all …]
/linux/include/linux/
H A Dleafops.h86 * softleaf_from_pmd() - Obtain a leaf entry from a PMD entry.
87 * @pmd: PMD entry.
89 * If @pmd is present (therefore not a leaf entry) the function returns an empty
94 static inline softleaf_t softleaf_from_pmd(pmd_t pmd) in softleaf_from_pmd() argument
98 if (pmd_present(pmd) || pmd_none(pmd)) in softleaf_from_pmd()
101 if (pmd_swp_soft_dirty(pmd)) in softleaf_from_pmd()
102 pmd = pmd_swp_clear_soft_dirty(pmd); in softleaf_from_pmd()
103 if (pmd_swp_uffd_wp(pmd)) in softleaf_from_pmd()
104 pmd = pmd_swp_clear_uffd_wp(pmd); in softleaf_from_pmd()
105 arch_entry = __pmd_to_swp_entry(pmd); in softleaf_from_pmd()
[all …]
/linux/include/trace/events/
H A Dthp.h30 TP_PROTO(unsigned long addr, unsigned long pmd),
31 TP_ARGS(addr, pmd)
62 TP_PROTO(unsigned long addr, unsigned long pmd, unsigned long clr, unsigned long set),
63 TP_ARGS(addr, pmd, clr, set)
74 TP_PROTO(unsigned long addr, unsigned long pmd),
76 TP_ARGS(addr, pmd),
80 __field(unsigned long, pmd)
85 __entry->pmd = pmd;
87 TP_printk("addr=%lx, pmd=%lx", __entry->addr, __entry->pmd)
91 TP_PROTO(unsigned long addr, unsigned long pmd),
[all …]
/linux/drivers/pmdomain/starfive/
H A Djh71xx-pmu.c65 int (*pmu_set_state)(struct jh71xx_pmu_dev *pmd,
85 static int jh71xx_pmu_get_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool *is_on) in jh71xx_pmu_get_state() argument
87 struct jh71xx_pmu *pmu = pmd->pmu; in jh71xx_pmu_get_state()
97 static int jh7110_pmu_set_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool on) in jh7110_pmu_set_state() argument
99 struct jh71xx_pmu *pmu = pmd->pmu; in jh7110_pmu_set_state()
158 pmd->genpd.name, on ? "on" : "off"); in jh7110_pmu_set_state()
165 static int jh7110_aon_pmu_set_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool on) in jh7110_aon_pmu_set_state() argument
167 struct jh71xx_pmu *pmu = pmd->pmu; in jh7110_aon_pmu_set_state()
185 static int jh71xx_pmu_set_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool on) in jh71xx_pmu_set_state() argument
187 struct jh71xx_pmu *pmu = pmd->pmu; in jh71xx_pmu_set_state()
[all …]
/linux/arch/powerpc/include/asm/book3s/64/
H A Dpgtable.h44 * We need to mark a pmd pte invalid while splitting. We can do that by clearing
161 /* pmd table use page table fragments */
222 /* Bits to mask out from a PMD to get to the PTE page */
224 /* Bits to mask out from a PUD to get to the PMD page */
268 static inline bool pmd_leaf(pmd_t pmd) in pmd_leaf() argument
270 return !!(pmd_raw(pmd) & cpu_to_be64(_PAGE_PTE)); in pmd_leaf()
280 static inline unsigned long pmd_leaf_size(pmd_t pmd) in pmd_leaf_size() argument
659 #define __pmd_to_swp_entry(pmd) (__pte_to_swp_entry(pmd_pte(pmd))) argument
815 static inline int pmd_none(pmd_t pmd) in pmd_none() argument
817 return !pmd_raw(pmd); in pmd_none()
[all …]
/linux/include/asm-generic/
H A Dpgtable_uffd.h27 static __always_inline int pmd_uffd_wp(pmd_t pmd) in pmd_uffd_wp() argument
37 static __always_inline pmd_t pmd_mkuffd_wp(pmd_t pmd) in pmd_mkuffd_wp() argument
39 return pmd; in pmd_mkuffd_wp()
47 static __always_inline pmd_t pmd_clear_uffd_wp(pmd_t pmd) in pmd_clear_uffd_wp() argument
49 return pmd; in pmd_clear_uffd_wp()
67 static inline pmd_t pmd_swp_mkuffd_wp(pmd_t pmd) in pmd_swp_mkuffd_wp() argument
69 return pmd; in pmd_swp_mkuffd_wp()
72 static inline int pmd_swp_uffd_wp(pmd_t pmd) in pmd_swp_uffd_wp() argument
77 static inline pmd_t pmd_swp_clear_uffd_wp(pmd_t pmd) in pmd_swp_clear_uffd_wp() argument
79 return pmd; in pmd_swp_clear_uffd_wp()
H A Dpgtable-nopmd.h14 * Having the pmd type consist of a pud gets the size right, and allows
15 * us to conceptually access the pud entry that this pmd is folded into
27 * setup: the pmd is never bad, and a pmd always exists (as it's folded
36 #define pmd_ERROR(pmd) (pud_ERROR((pmd).pud)) argument
38 #define pud_populate(mm, pmd, pte) do { } while (0) argument
59 * allocating and freeing a pmd is trivial: the 1-entry pmd is
63 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument
/linux/arch/m68k/include/asm/
H A Dsun3_pgtable.h90 static inline unsigned long pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument
92 return (unsigned long)__va(pmd_val(pmd) & PAGE_MASK); in pmd_page_vaddr()
108 #define pmd_pfn(pmd) (pmd_val(pmd) >> PAGE_SHIFT) argument
109 #define pmd_page(pmd) virt_to_page((void *)pmd_page_vaddr(pmd)) argument
112 static inline int pmd_none2 (pmd_t *pmd) { return !pmd_val (*pmd); } in pmd_none2() argument
113 #define pmd_none(pmd) pmd_none2(&(pmd)) argument
114 //static inline int pmd_bad (pmd_t pmd) { return (pmd_val (pmd) & SUN3_PMD_MASK) != SUN3_PMD_MAGIC;…
115 static inline int pmd_bad2 (pmd_t *pmd) { return 0; } in pmd_bad2() argument
116 #define pmd_bad(pmd) pmd_bad2(&(pmd)) argument
117 static inline int pmd_present2 (pmd_t *pmd) { return pmd_val (*pmd) & SUN3_PMD_VALID; } in pmd_present2() argument
[all …]
H A Dmotorola_pgalloc.h59 static inline int pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument
61 return free_pointer_table(pmd, TABLE_PMD); in pmd_free()
64 static inline int __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() argument
67 return free_pointer_table(pmd, TABLE_PMD); in __pmd_free_tlb()
82 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument
84 pmd_set(pmd, pte); in pmd_populate_kernel()
87 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t page) in pmd_populate() argument
89 pmd_set(pmd, page); in pmd_populate()
92 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument
94 pud_set(pud, pmd); in pud_populate()
H A Dmcf_pgtable.h97 #define pmd_pgtable(pmd) pfn_to_virt(pmd_val(pmd) >> PAGE_SHIFT) argument
113 #define pmd_page_vaddr(pmd) ((unsigned long) (pmd_val(pmd))) argument
133 static inline int pmd_none2(pmd_t *pmd) { return !pmd_val(*pmd); } in pmd_none2() argument
134 #define pmd_none(pmd) pmd_none2(&(pmd)) argument
135 static inline int pmd_bad2(pmd_t *pmd) { return 0; } in pmd_bad2() argument
136 #define pmd_bad(pmd) pmd_bad2(&(pmd)) argument
137 #define pmd_present(pmd) (!pmd_none2(&(pmd))) argument
289 #define pmd_pfn(pmd) (pmd_val(pmd) >> PAGE_SHIFT) argument
290 #define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT)) argument
/linux/drivers/pmdomain/bcm/
H A Dbcm63xx-power.c38 static int bcm63xx_power_get_state(struct bcm63xx_power_dev *pmd, bool *is_on) in bcm63xx_power_get_state() argument
40 struct bcm63xx_power *power = pmd->power; in bcm63xx_power_get_state()
42 if (!pmd->mask) { in bcm63xx_power_get_state()
47 *is_on = !(__raw_readl(power->base) & pmd->mask); in bcm63xx_power_get_state()
52 static int bcm63xx_power_set_state(struct bcm63xx_power_dev *pmd, bool on) in bcm63xx_power_set_state() argument
54 struct bcm63xx_power *power = pmd->power; in bcm63xx_power_set_state()
58 if (!pmd->mask) in bcm63xx_power_set_state()
64 val &= ~pmd->mask; in bcm63xx_power_set_state()
66 val |= pmd->mask; in bcm63xx_power_set_state()
75 struct bcm63xx_power_dev *pmd = container_of(genpd, in bcm63xx_power_on() local
[all …]
/linux/arch/x86/power/
H A Dhibernate_32.c59 static pte_t *resume_one_page_table_init(pmd_t *pmd) in resume_one_page_table_init() argument
61 if (pmd_none(*pmd)) { in resume_one_page_table_init()
66 set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE)); in resume_one_page_table_init()
68 BUG_ON(page_table != pte_offset_kernel(pmd, 0)); in resume_one_page_table_init()
73 return pte_offset_kernel(pmd, 0); in resume_one_page_table_init()
85 pmd_t *pmd; in resume_physical_mapping_init() local
94 pmd = resume_one_md_table_init(pgd); in resume_physical_mapping_init()
95 if (!pmd) in resume_physical_mapping_init()
101 for (pmd_idx = 0; pmd_idx < PTRS_PER_PMD; pmd++, pmd_idx++) { in resume_physical_mapping_init()
110 set_pmd(pmd, pfn_pmd(pfn, PAGE_KERNEL_LARGE_EXEC)); in resume_physical_mapping_init()
[all …]
/linux/arch/powerpc/include/asm/nohash/64/
H A Dpgalloc.h34 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument
36 pud_set(pud, (unsigned long)pmd); in pud_populate()
39 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() argument
42 pmd_set(pmd, (unsigned long)pte); in pmd_populate_kernel()
45 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument
48 pmd_set(pmd, (unsigned long)pte_page); in pmd_populate()
57 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument
59 kmem_cache_free(PGT_CACHE(PMD_CACHE_INDEX), pmd); in pmd_free()
62 #define __pmd_free_tlb(tlb, pmd, addr) \ argument
63 pgtable_free_tlb(tlb, pmd, PMD_CACHE_INDEX)
/linux/arch/x86/include/asm/
H A Dpgalloc.h63 pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument
66 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE)); in pmd_populate_kernel()
70 pmd_t *pmd, pte_t *pte) in pmd_populate_kernel_safe() argument
73 set_pmd_safe(pmd, __pmd(__pa(pte) | _PAGE_TABLE)); in pmd_populate_kernel_safe()
76 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument
82 set_pmd(pmd, __pmd(((pteval_t)pfn << PAGE_SHIFT) | _PAGE_TABLE)); in pmd_populate()
86 extern void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd);
88 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() argument
91 ___pmd_free_tlb(tlb, pmd); in __pmd_free_tlb()
95 extern void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd);
[all …]
/linux/arch/sparc/include/asm/
H A Dpgalloc_32.h36 #define pud_populate(MM, PGD, PMD) pud_set(PGD, PMD) argument
45 static inline void free_pmd_fast(pmd_t * pmd) in free_pmd_fast() argument
47 srmmu_free_nocache(pmd, SRMMU_PMD_TABLE_SIZE); in free_pmd_fast()
50 #define pmd_free(mm, pmd) free_pmd_fast(pmd) argument
51 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd) argument
53 #define pmd_populate(mm, pmd, pte) pmd_set(pmd, pte) argument
H A Dpgalloc_64.h36 static inline void __pud_populate(pud_t *pud, pmd_t *pmd) in __pud_populate() argument
38 pud_set(pud, pmd); in __pud_populate()
41 #define pud_populate(MM, PUD, PMD) __pud_populate(PUD, PMD) argument
58 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument
60 kmem_cache_free(pgtable_cache, pmd); in pmd_free()
72 #define pmd_populate_kernel(MM, PMD, PTE) pmd_set(MM, PMD, PTE) argument
73 #define pmd_populate(MM, PMD, PTE) pmd_set(MM, PMD, PTE) argument
112 #define __pmd_free_tlb(tlb, pmd, addr) \ argument
113 pgtable_free_tlb(tlb, pmd, false)
/linux/mm/
H A Dpage_table_check.c160 pmd_t pmd) in __page_table_check_pmd_clear() argument
165 if (pmd_user_accessible_page(mm, addr, pmd)) in __page_table_check_pmd_clear()
166 page_table_check_clear(pmd_pfn(pmd), PMD_SIZE >> PAGE_SHIFT); in __page_table_check_pmd_clear()
216 static inline void page_table_check_pmd_flags(pmd_t pmd) in page_table_check_pmd_flags() argument
218 if (pmd_present(pmd)) { in page_table_check_pmd_flags()
219 if (pmd_uffd_wp(pmd)) in page_table_check_pmd_flags()
220 WARN_ON_ONCE(pmd_write(pmd)); in page_table_check_pmd_flags()
221 } else if (pmd_swp_uffd_wp(pmd)) { in page_table_check_pmd_flags()
222 const softleaf_t entry = softleaf_from_pmd(pmd); in page_table_check_pmd_flags()
229 pmd_t *pmdp, pmd_t pmd, unsigned int nr) in __page_table_check_pmds_set() argument
[all …]
/linux/arch/x86/boot/startup/
H A Dmap_kernel.c34 pmdval_t *pmd, in sme_postprocess_startup() argument
67 pmd[i] -= sme_get_me_mask(); in sme_postprocess_startup()
98 pmdval_t *pmd, pmd_entry; in __startup_64() local
140 level2_fixmap_pgt[i].pmd += load_delta; in __startup_64()
149 pud = &early_pgts[0]->pmd; in __startup_64()
150 pmd = &early_pgts[1]->pmd; in __startup_64()
156 p4d = &early_pgts[next_early_pgt++]->pmd; in __startup_64()
172 pud[(i + 0) % PTRS_PER_PUD] = (pudval_t)pmd + pgtable_flags; in __startup_64()
173 pud[(i + 1) % PTRS_PER_PUD] = (pudval_t)pmd + pgtable_flags; in __startup_64()
182 pmd[idx % PTRS_PER_PMD] = pmd_entry + i * PMD_SIZE; in __startup_64()
[all …]
/linux/arch/powerpc/include/asm/nohash/32/
H A Dpgtable.h40 * are an index to the second level table. The combined pgdir/pmd first
152 #define pmd_none(pmd) (!pmd_val(pmd)) argument
153 #define pmd_bad(pmd) (pmd_val(pmd) & _PMD_BAD) argument
154 #define pmd_present(pmd) (pmd_val(pmd) & _PMD_PRESENT_MASK) argument
161 * Note that on Book E processors, the pmd contains the kernel virtual
164 * handler). On everything else the pmd contains the physical address
168 #define pmd_pfn(pmd) (pmd_val(pmd) >> PAGE_SHIFT) argument
170 #define pmd_page_vaddr(pmd) \ argument
171 ((const void *)((unsigned long)pmd_val(pmd) & ~(PTE_TABLE_SIZE - 1)))
172 #define pmd_pfn(pmd) (__pa(pmd_val(pmd)) >> PAGE_SHIFT) argument
[all …]
/linux/arch/powerpc/mm/kasan/
H A Dinit_32.c33 pmd_t *pmd; in kasan_init_shadow_page_tables() local
36 pmd = pmd_off_k(k_start); in kasan_init_shadow_page_tables()
38 for (k_cur = k_start; k_cur != k_end; k_cur = k_next, pmd++) { in kasan_init_shadow_page_tables()
42 if ((void *)pmd_page_vaddr(*pmd) != kasan_early_shadow_pte) in kasan_init_shadow_page_tables()
50 pmd_populate_kernel(&init_mm, pmd, new); in kasan_init_shadow_page_tables()
73 pmd_t *pmd = pmd_off_k(k_cur); in kasan_init_region() local
77 __set_pte_at(&init_mm, k_cur, pte_offset_kernel(pmd, k_cur), pte, 0); in kasan_init_region()
89 pmd_t *pmd = pmd_off_k(k_cur); in kasan_update_early_region() local
90 pte_t *ptep = pte_offset_kernel(pmd, k_cur); in kasan_update_early_region()
182 pmd_t *pmd = pmd_off_k(addr); in kasan_early_init() local
[all …]
H A D8xx.c14 pmd_t *pmd = pmd_off_k(k_start); in kasan_init_shadow_8M() local
17 for (k_cur = k_start; k_cur != k_end; k_cur = k_next, pmd++, block += SZ_4M) { in kasan_init_shadow_8M()
22 if ((void *)pmd_page_vaddr(*pmd) != kasan_early_shadow_pte) in kasan_init_shadow_8M()
34 pmd_populate_kernel(&init_mm, pmd, ptep); in kasan_init_shadow_8M()
35 *pmd = __pmd(pmd_val(*pmd) | _PMD_PAGE_8M); in kasan_init_shadow_8M()
66 pmd_t *pmd = pmd_off_k(k_cur); in kasan_init_region() local
73 __set_pte_at(&init_mm, k_cur, pte_offset_kernel(pmd, k_cur), pte, 0); in kasan_init_region()

12345678910