| /linux/drivers/md/ |
| H A D | dm-thin-metadata.c | 233 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 D | dm-thin-metadata.h | 49 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 D | hugepage.h | 20 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 D | pgtable-levels.h | 138 * 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 D | pgtable-3level.h | 117 #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 D | leafops.h | 86 * 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 D | thp.h | 30 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 D | jh71xx-pmu.c | 65 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 D | pgtable.h | 44 * 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 D | pgtable_uffd.h | 27 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 D | pgtable-nopmd.h | 14 * Having the pmd type consist of a pud gets the size right, and allows 15 * us to conceptually access the pud entry that this pmd is folded into 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 D | sun3_pgtable.h | 90 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 D | motorola_pgalloc.h | 59 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 D | mcf_pgtable.h | 97 #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 D | bcm63xx-power.c | 38 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 D | hibernate_32.c | 59 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 D | pgalloc.h | 34 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 D | pgalloc.h | 63 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 D | pgalloc_32.h | 36 #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 D | pgalloc_64.h | 36 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 D | page_table_check.c | 160 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 D | map_kernel.c | 34 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 D | pgtable.h | 40 * 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 D | init_32.c | 33 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 D | 8xx.c | 14 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()
|