/Linux-v4.19/drivers/md/ |
D | dm-thin-metadata.c | 214 struct dm_pool_metadata *pmd; member 370 static int superblock_lock_zero(struct dm_pool_metadata *pmd, in superblock_lock_zero() argument 373 return dm_bm_write_lock_zero(pmd->bm, THIN_SUPERBLOCK_LOCATION, in superblock_lock_zero() 377 static int superblock_lock(struct dm_pool_metadata *pmd, in superblock_lock() argument 380 return dm_bm_write_lock(pmd->bm, THIN_SUPERBLOCK_LOCATION, in superblock_lock() 413 static void __setup_btree_details(struct dm_pool_metadata *pmd) in __setup_btree_details() argument 415 pmd->info.tm = pmd->tm; in __setup_btree_details() 416 pmd->info.levels = 2; in __setup_btree_details() 417 pmd->info.value_type.context = pmd->data_sm; in __setup_btree_details() 418 pmd->info.value_type.size = sizeof(__le64); in __setup_btree_details() [all …]
|
D | dm-thin-metadata.h | 48 int dm_pool_metadata_close(struct dm_pool_metadata *pmd); 61 int dm_pool_create_thin(struct dm_pool_metadata *pmd, dm_thin_id dev); 69 int dm_pool_create_snap(struct dm_pool_metadata *pmd, dm_thin_id dev, 77 int dm_pool_delete_thin_device(struct dm_pool_metadata *pmd, 84 int dm_pool_commit_metadata(struct dm_pool_metadata *pmd); 94 int dm_pool_abort_metadata(struct dm_pool_metadata *pmd); 99 int dm_pool_set_metadata_transaction_id(struct dm_pool_metadata *pmd, 103 int dm_pool_get_metadata_transaction_id(struct dm_pool_metadata *pmd, 115 int dm_pool_reserve_metadata_snap(struct dm_pool_metadata *pmd); 116 int dm_pool_release_metadata_snap(struct dm_pool_metadata *pmd); [all …]
|
/Linux-v4.19/arch/arc/include/asm/ |
D | hugepage.h | 17 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() argument 19 return __pte(pmd_val(pmd)); in pmd_pte() 27 #define pmd_wrprotect(pmd) pte_pmd(pte_wrprotect(pmd_pte(pmd))) argument 28 #define pmd_mkwrite(pmd) pte_pmd(pte_mkwrite(pmd_pte(pmd))) argument 29 #define pmd_mkdirty(pmd) pte_pmd(pte_mkdirty(pmd_pte(pmd))) argument 30 #define pmd_mkold(pmd) pte_pmd(pte_mkold(pmd_pte(pmd))) argument 31 #define pmd_mkyoung(pmd) pte_pmd(pte_mkyoung(pmd_pte(pmd))) argument 32 #define pmd_mkhuge(pmd) pte_pmd(pte_mkhuge(pmd_pte(pmd))) argument 33 #define pmd_mknotpresent(pmd) pte_pmd(pte_mknotpresent(pmd_pte(pmd))) argument 34 #define pmd_mkclean(pmd) pte_pmd(pte_mkclean(pmd_pte(pmd))) argument [all …]
|
/Linux-v4.19/arch/arm/include/asm/ |
D | pgtable-3level.h | 144 #define pmd_table(pmd) ((pmd_val(pmd) & PMD_TYPE_MASK) == \ argument 146 #define pmd_sect(pmd) ((pmd_val(pmd) & PMD_TYPE_MASK) == \ argument 148 #define pmd_large(pmd) pmd_sect(pmd) argument 174 #define pmd_bad(pmd) (!(pmd_val(pmd) & 2)) argument 210 #define pmd_isset(pmd, val) ((u32)(val) == (val) ? pmd_val(pmd) & (val) \ argument 211 : !!(pmd_val(pmd) & (val))) 212 #define pmd_isclear(pmd, val) (!(pmd_val(pmd) & (val))) argument 214 #define pmd_present(pmd) (pmd_isset((pmd), L_PMD_SECT_VALID)) argument 215 #define pmd_young(pmd) (pmd_isset((pmd), PMD_SECT_AF)) argument 223 #define pmd_write(pmd) (pmd_isclear((pmd), L_PMD_SECT_RDONLY)) argument [all …]
|
/Linux-v4.19/arch/s390/include/asm/ |
D | pgtable.h | 665 static inline int pmd_large(pmd_t pmd) in pmd_large() argument 667 return (pmd_val(pmd) & _SEGMENT_ENTRY_LARGE) != 0; in pmd_large() 670 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument 672 if (pmd_large(pmd)) in pmd_bad() 673 return (pmd_val(pmd) & ~_SEGMENT_ENTRY_BITS_LARGE) != 0; in pmd_bad() 674 return (pmd_val(pmd) & ~_SEGMENT_ENTRY_BITS) != 0; in pmd_bad() 693 static inline int pmd_present(pmd_t pmd) in pmd_present() argument 695 return pmd_val(pmd) != _SEGMENT_ENTRY_EMPTY; in pmd_present() 698 static inline int pmd_none(pmd_t pmd) in pmd_none() argument 700 return pmd_val(pmd) == _SEGMENT_ENTRY_EMPTY; in pmd_none() [all …]
|
/Linux-v4.19/arch/mips/include/asm/ |
D | pgtable.h | 92 #define pmd_phys(pmd) virt_to_phys((void *)pmd_val(pmd)) argument 94 #define __pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT)) argument 96 #define pmd_page(pmd) __pmd_page(pmd) argument 99 #define pmd_page_vaddr(pmd) pmd_val(pmd) argument 543 static inline int pmd_trans_huge(pmd_t pmd) argument 545 return !!(pmd_val(pmd) & _PAGE_HUGE); 548 static inline pmd_t pmd_mkhuge(pmd_t pmd) argument 550 pmd_val(pmd) |= _PAGE_HUGE; 552 return pmd; 556 pmd_t *pmdp, pmd_t pmd); [all …]
|
D | pgalloc.h | 16 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() argument 19 set_pmd(pmd, __pmd((unsigned long)pte)); in pmd_populate_kernel() 22 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 25 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); in pmd_populate() 27 #define pmd_pgtable(pmd) pmd_page(pmd) argument 36 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument 38 set_pud(pud, __pud((unsigned long)pmd)); in pud_populate() 96 pmd_t *pmd; in pmd_alloc_one() local 98 pmd = (pmd_t *) __get_free_pages(GFP_KERNEL, PMD_ORDER); in pmd_alloc_one() 99 if (pmd) in pmd_alloc_one() [all …]
|
/Linux-v4.19/arch/parisc/include/asm/ |
D | pgalloc.h | 59 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmd) in pgd_populate() argument 62 (__u32)(__pa((unsigned long)pmd) >> PxD_VALUE_SHIFT)); in pgd_populate() 67 pmd_t *pmd = (pmd_t *)__get_free_pages(GFP_KERNEL, PMD_ORDER); in pmd_alloc_one() local 68 if (pmd) in pmd_alloc_one() 69 memset(pmd, 0, PAGE_SIZE<<PMD_ORDER); in pmd_alloc_one() 70 return pmd; in pmd_alloc_one() 73 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 75 if (pmd_flag(*pmd) & PxD_FLAG_ATTACHED) { in pmd_free() 85 free_pages((unsigned long)pmd, PMD_ORDER); in pmd_free() 99 #define pgd_populate(mm, pmd, pte) BUG() argument [all …]
|
/Linux-v4.19/arch/arm64/include/asm/ |
D | pgtable.h | 134 #define pmd_access_permitted(pmd, write) \ argument 135 (pte_access_permitted(pmd_pte(pmd), (write))) 214 static inline pmd_t pmd_mkcont(pmd_t pmd) in pmd_mkcont() argument 216 return __pmd(pmd_val(pmd) | PMD_SECT_CONT); in pmd_mkcont() 322 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() argument 324 return __pte(pmd_val(pmd)); in pmd_pte() 346 static inline int pmd_protnone(pmd_t pmd) in pmd_protnone() argument 348 return pte_protnone(pmd_pte(pmd)); in pmd_protnone() 357 #define pmd_trans_huge(pmd) (pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT)) argument 360 #define pmd_present(pmd) pte_present(pmd_pte(pmd)) argument [all …]
|
/Linux-v4.19/mm/kasan/ |
D | kasan_init.c | 74 static inline bool kasan_pte_table(pmd_t pmd) in kasan_pte_table() argument 76 return pmd_page(pmd) == virt_to_page(lm_alias(kasan_zero_pte)); in kasan_pte_table() 90 static void __ref zero_pte_populate(pmd_t *pmd, unsigned long addr, in zero_pte_populate() argument 93 pte_t *pte = pte_offset_kernel(pmd, addr); in zero_pte_populate() 102 pte = pte_offset_kernel(pmd, addr); in zero_pte_populate() 109 pmd_t *pmd = pmd_offset(pud, addr); in zero_pmd_populate() local 116 pmd_populate_kernel(&init_mm, pmd, lm_alias(kasan_zero_pte)); in zero_pmd_populate() 120 if (pmd_none(*pmd)) { in zero_pmd_populate() 130 pmd_populate_kernel(&init_mm, pmd, p); in zero_pmd_populate() 132 zero_pte_populate(pmd, addr, next); in zero_pmd_populate() [all …]
|
/Linux-v4.19/arch/x86/include/asm/ |
D | pgtable.h | 28 int __init __early_make_pgtable(unsigned long address, pmdval_t pmd); 67 #define set_pmd(pmdp, pmd) native_set_pmd(pmdp, pmd) argument 91 #define pmd_clear(pmd) native_pmd_clear(pmd) argument 146 static inline int pmd_dirty(pmd_t pmd) in pmd_dirty() argument 148 return pmd_flags(pmd) & _PAGE_DIRTY; in pmd_dirty() 151 static inline int pmd_young(pmd_t pmd) in pmd_young() argument 153 return pmd_flags(pmd) & _PAGE_ACCESSED; in pmd_young() 202 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() argument 204 phys_addr_t pfn = pmd_val(pmd); in pmd_pfn() 206 return (pfn & pmd_pfn_mask(pmd)) >> PAGE_SHIFT; in pmd_pfn() [all …]
|
D | pgalloc.h | 77 pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument 80 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE)); in pmd_populate_kernel() 83 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 89 set_pmd(pmd, __pmd(((pteval_t)pfn << PAGE_SHIFT) | _PAGE_TABLE)); in pmd_populate() 92 #define pmd_pgtable(pmd) pmd_page(pmd) argument 112 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 114 BUG_ON((unsigned long)pmd & (PAGE_SIZE-1)); in pmd_free() 115 pgtable_pmd_page_dtor(virt_to_page(pmd)); in pmd_free() 116 free_page((unsigned long)pmd); in pmd_free() 119 extern void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd); [all …]
|
/Linux-v4.19/mm/ |
D | huge_memory.c | 477 pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma) in maybe_pmd_mkwrite() argument 480 pmd = pmd_mkwrite(pmd); in maybe_pmd_mkwrite() 481 return pmd; in maybe_pmd_mkwrite() 575 vmf->ptl = pmd_lock(vma->vm_mm, vmf->pmd); in __do_huge_pmd_anonymous_page() 576 if (unlikely(!pmd_none(*vmf->pmd))) { in __do_huge_pmd_anonymous_page() 603 pgtable_trans_huge_deposit(vma->vm_mm, vmf->pmd, pgtable); in __do_huge_pmd_anonymous_page() 604 set_pmd_at(vma->vm_mm, haddr, vmf->pmd, entry); in __do_huge_pmd_anonymous_page() 651 struct vm_area_struct *vma, unsigned long haddr, pmd_t *pmd, in set_huge_zero_page() argument 655 if (!pmd_none(*pmd)) in set_huge_zero_page() 660 pgtable_trans_huge_deposit(mm, pmd, pgtable); in set_huge_zero_page() [all …]
|
/Linux-v4.19/arch/arm/mm/ |
D | idmap.c | 26 pmd_t *pmd; in idmap_add_pmd() local 30 pmd = pmd_alloc_one(&init_mm, addr); in idmap_add_pmd() 31 if (!pmd) { in idmap_add_pmd() 40 memcpy(pmd, pmd_offset(pud, 0), in idmap_add_pmd() 42 pud_populate(&init_mm, pud, pmd); in idmap_add_pmd() 43 pmd += pmd_index(addr); in idmap_add_pmd() 45 pmd = pmd_offset(pud, addr); in idmap_add_pmd() 49 *pmd = __pmd((addr & PMD_MASK) | prot); in idmap_add_pmd() 50 flush_pmd_entry(pmd); in idmap_add_pmd() 51 } while (pmd++, addr = next, addr != end); in idmap_add_pmd() [all …]
|
/Linux-v4.19/arch/nds32/mm/ |
D | mm-nds32.c | 43 pmd_t *pmd; in pgd_free() local 49 pmd = (pmd_t *) pgd; in pgd_free() 50 if (pmd_none(*pmd)) in pgd_free() 52 if (pmd_bad(*pmd)) { in pgd_free() 53 pmd_ERROR(*pmd); in pgd_free() 54 pmd_clear(pmd); in pgd_free() 58 pte = pmd_page(*pmd); in pgd_free() 59 pmd_clear(pmd); in pgd_free() 63 pmd_free(mm, pmd); in pgd_free() 77 pmd_t *pmd; in setup_mm_for_reboot() local [all …]
|
/Linux-v4.19/arch/powerpc/include/asm/book3s/64/ |
D | pgtable.h | 871 static inline int pmd_none(pmd_t pmd) in pmd_none() argument 873 return !pmd_raw(pmd); in pmd_none() 876 static inline int pmd_present(pmd_t pmd) in pmd_present() argument 879 return !pmd_none(pmd); in pmd_present() 882 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument 885 return radix__pmd_bad(pmd); in pmd_bad() 886 return hash__pmd_bad(pmd); in pmd_bad() 910 extern struct page *pmd_page(pmd_t pmd); 984 #define pmd_page_vaddr(pmd) __va(pmd_val(pmd) & ~PMD_MASKED_BITS) argument 1055 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() argument [all …]
|
/Linux-v4.19/arch/x86/mm/ |
D | pgtable.c | 70 void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd) in ___pmd_free_tlb() argument 72 struct page *page = virt_to_page(pmd); in ___pmd_free_tlb() 73 paravirt_release_pmd(__pa(pmd) >> PAGE_SHIFT); in ___pmd_free_tlb() 197 void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) in pud_populate() argument 199 paravirt_alloc_pmd(mm, __pa(pmd) >> PAGE_SHIFT); in pud_populate() 203 set_pud(pudp, __pud(__pa(pmd) | _PAGE_PRESENT)); in pud_populate() 244 pmd_t *pmd = (pmd_t *)__get_free_page(gfp); in preallocate_pmds() local 245 if (!pmd) in preallocate_pmds() 247 if (pmd && !pgtable_pmd_page_ctor(virt_to_page(pmd))) { in preallocate_pmds() 248 free_page((unsigned long)pmd); in preallocate_pmds() [all …]
|
D | init_64.c | 239 pmd_t *pmd = (pmd_t *) spp_getpage(); in fill_pmd() local 240 pud_populate(&init_mm, pud, pmd); in fill_pmd() 241 if (pmd != pmd_offset(pud, 0)) in fill_pmd() 243 pmd, pmd_offset(pud, 0)); in fill_pmd() 248 static pte_t *fill_pte(pmd_t *pmd, unsigned long vaddr) in fill_pte() argument 250 if (pmd_none(*pmd)) { in fill_pte() 252 pmd_populate_kernel(&init_mm, pmd, pte); in fill_pte() 253 if (pte != pte_offset_kernel(pmd, 0)) in fill_pte() 256 return pte_offset_kernel(pmd, vaddr); in fill_pte() 261 pmd_t *pmd = fill_pmd(pud, vaddr); in __set_pte_vaddr() local [all …]
|
/Linux-v4.19/include/asm-generic/ |
D | pgtable.h | 82 pmd_t pmd = *pmdp; in pmdp_test_and_clear_young() local 84 if (!pmd_young(pmd)) in pmdp_test_and_clear_young() 87 set_pmd_at(vma->vm_mm, address, pmdp, pmd_mkold(pmd)); in pmdp_test_and_clear_young() 141 pmd_t pmd = *pmdp; in pmdp_huge_get_and_clear() local 143 return pmd; in pmdp_huge_get_and_clear() 319 unsigned long address, pmd_t *pmdp, pmd_t pmd) in generic_pmdp_establish() argument 322 set_pmd_at(vma->vm_mm, address, pmdp, pmd); in generic_pmdp_establish() 358 #define pmd_access_permitted(pmd, write) \ argument 359 (pmd_present(pmd) && (!(write) || pmd_write(pmd))) 560 static inline int pmd_none_or_clear_bad(pmd_t *pmd) in pmd_none_or_clear_bad() argument [all …]
|
/Linux-v4.19/virt/kvm/arm/ |
D | mmu.c | 85 static void kvm_flush_dcache_pmd(pmd_t pmd) in kvm_flush_dcache_pmd() argument 87 __kvm_flush_dcache_pmd(pmd); in kvm_flush_dcache_pmd() 109 static void stage2_dissolve_pmd(struct kvm *kvm, phys_addr_t addr, pmd_t *pmd) in stage2_dissolve_pmd() argument 111 if (!pmd_thp_or_huge(*pmd)) in stage2_dissolve_pmd() 114 pmd_clear(pmd); in stage2_dissolve_pmd() 116 put_page(virt_to_page(pmd)); in stage2_dissolve_pmd() 170 static void clear_stage2_pmd_entry(struct kvm *kvm, pmd_t *pmd, phys_addr_t addr) in clear_stage2_pmd_entry() argument 172 pte_t *pte_table = pte_offset_kernel(pmd, 0); in clear_stage2_pmd_entry() 173 VM_BUG_ON(pmd_thp_or_huge(*pmd)); in clear_stage2_pmd_entry() 174 pmd_clear(pmd); in clear_stage2_pmd_entry() [all …]
|
/Linux-v4.19/arch/m68k/include/asm/ |
D | motorola_pgalloc.h | 75 static inline int pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 77 return free_pointer_table(pmd); in pmd_free() 80 static inline int __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() argument 83 return free_pointer_table(pmd); in __pmd_free_tlb() 98 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument 100 pmd_set(pmd, pte); in pmd_populate_kernel() 103 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t page) in pmd_populate() argument 105 pmd_set(pmd, page_address(page)); in pmd_populate() 107 #define pmd_pgtable(pmd) pmd_page(pmd) argument 109 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmd) in pgd_populate() argument [all …]
|
D | sun3_pgtable.h | 120 #define __pmd_page(pmd) \ argument 121 ((unsigned long) __va (pmd_val (pmd) & PAGE_MASK)) 135 #define pmd_page(pmd) virt_to_page(__pmd_page(pmd)) argument 138 static inline int pmd_none2 (pmd_t *pmd) { return !pmd_val (*pmd); } in pmd_none2() argument 139 #define pmd_none(pmd) pmd_none2(&(pmd)) argument 141 static inline int pmd_bad2 (pmd_t *pmd) { return 0; } in pmd_bad2() argument 142 #define pmd_bad(pmd) pmd_bad2(&(pmd)) argument 143 static inline int pmd_present2 (pmd_t *pmd) { return pmd_val (*pmd) & SUN3_PMD_VALID; } in pmd_present2() argument 145 #define pmd_present(pmd) (!pmd_none2(&(pmd))) argument 205 #define pte_offset_kernel(pmd, address) ((pte_t *) __pmd_page(*pmd) + pte_index(address)) argument [all …]
|
/Linux-v4.19/arch/riscv/include/asm/ |
D | pgalloc.h | 22 pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument 26 set_pmd(pmd, __pmd((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE)); in pmd_populate_kernel() 30 pmd_t *pmd, pgtable_t pte) in pmd_populate() argument 34 set_pmd(pmd, __pmd((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE)); in pmd_populate() 38 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument 40 unsigned long pfn = virt_to_pfn(pmd); in pud_populate() 46 #define pmd_pgtable(pmd) pmd_page(pmd) argument 76 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 78 free_page((unsigned long)pmd); in pmd_free() 81 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd) argument
|
/Linux-v4.19/arch/sh/mm/ |
D | hugetlbpage.c | 30 pmd_t *pmd; in huge_pte_alloc() local 37 pmd = pmd_alloc(mm, pud, addr); in huge_pte_alloc() 38 if (pmd) in huge_pte_alloc() 39 pte = pte_alloc_map(mm, pmd, addr); in huge_pte_alloc() 51 pmd_t *pmd; in huge_pte_offset() local 58 pmd = pmd_offset(pud, addr); in huge_pte_offset() 59 if (pmd) in huge_pte_offset() 60 pte = pte_offset_map(pmd, addr); in huge_pte_offset() 67 int pmd_huge(pmd_t pmd) in pmd_huge() argument
|
/Linux-v4.19/include/linux/ |
D | huge_mm.h | 30 pmd_t *pmd, 34 pmd_t *pmd, unsigned long addr, unsigned long next); 37 pmd_t *pmd, unsigned long addr); 41 extern int mincore_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, 47 extern int change_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, 51 pmd_t *pmd, pfn_t pfn, bool write); 146 void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, 179 extern spinlock_t *__pmd_trans_huge_lock(pmd_t *pmd, 184 static inline int is_swap_pmd(pmd_t pmd) in is_swap_pmd() argument 186 return !pmd_none(pmd) && !pmd_present(pmd); in is_swap_pmd() [all …]
|