/linux-4.4.14/drivers/md/ |
D | dm-thin-metadata.c | 205 struct dm_pool_metadata *pmd; member 361 static int superblock_lock_zero(struct dm_pool_metadata *pmd, in superblock_lock_zero() argument 364 return dm_bm_write_lock_zero(pmd->bm, THIN_SUPERBLOCK_LOCATION, in superblock_lock_zero() 368 static int superblock_lock(struct dm_pool_metadata *pmd, in superblock_lock() argument 371 return dm_bm_write_lock(pmd->bm, THIN_SUPERBLOCK_LOCATION, in superblock_lock() 404 static void __setup_btree_details(struct dm_pool_metadata *pmd) in __setup_btree_details() argument 406 pmd->info.tm = pmd->tm; in __setup_btree_details() 407 pmd->info.levels = 2; in __setup_btree_details() 408 pmd->info.value_type.context = pmd->data_sm; in __setup_btree_details() 409 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 …]
|
D | dm-thin.c | 229 struct dm_pool_metadata *pmd; member 1014 r = dm_pool_block_is_used(pool->pmd, b, &used); in passdown_double_checking_shared_status() 1027 r = dm_pool_block_is_used(pool->pmd, e, &used); in passdown_double_checking_shared_status() 1310 r = dm_pool_get_free_block_count(pool->pmd, &nr_free); in check_for_space() 1329 r = dm_pool_commit_metadata(pool->pmd); in commit() 1361 r = dm_pool_get_free_block_count(pool->pmd, &free_blocks); in alloc_data_block() 1378 r = dm_pool_get_free_block_count(pool->pmd, &free_blocks); in alloc_data_block() 1390 r = dm_pool_alloc_data_block(pool->pmd, result); in alloc_data_block() 2043 dm_pool_issue_prefetches(pool->pmd); in process_thin_deferred_bios() 2195 !(dm_pool_changed_this_transaction(pool->pmd) && need_commit_due_to_time(pool))) in process_deferred_bios() [all …]
|
/linux-4.4.14/arch/arc/include/asm/ |
D | hugepage.h | 16 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() argument 18 return __pte(pmd_val(pmd)); in pmd_pte() 26 #define pmd_wrprotect(pmd) pte_pmd(pte_wrprotect(pmd_pte(pmd))) argument 27 #define pmd_mkwrite(pmd) pte_pmd(pte_mkwrite(pmd_pte(pmd))) argument 28 #define pmd_mkdirty(pmd) pte_pmd(pte_mkdirty(pmd_pte(pmd))) argument 29 #define pmd_mkold(pmd) pte_pmd(pte_mkold(pmd_pte(pmd))) argument 30 #define pmd_mkyoung(pmd) pte_pmd(pte_mkyoung(pmd_pte(pmd))) argument 31 #define pmd_mkhuge(pmd) pte_pmd(pte_mkhuge(pmd_pte(pmd))) argument 32 #define pmd_mknotpresent(pmd) pte_pmd(pte_mknotpresent(pmd_pte(pmd))) argument 33 #define pmd_mksplitting(pmd) pte_pmd(pte_mkspecial(pmd_pte(pmd))) argument [all …]
|
D | pgalloc.h | 39 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument 41 pmd_set(pmd, pte); in pmd_populate_kernel() 45 pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t ptep) in pmd_populate() argument 47 pmd_set(pmd, (pte_t *) ptep); in pmd_populate() 137 #define pmd_pgtable(pmd) ((pgtable_t) pmd_page_vaddr(pmd)) argument
|
/linux-4.4.14/arch/arm/include/asm/ |
D | pgtable-3level.h | 145 #define pmd_table(pmd) ((pmd_val(pmd) & PMD_TYPE_MASK) == \ argument 147 #define pmd_sect(pmd) ((pmd_val(pmd) & PMD_TYPE_MASK) == \ argument 149 #define pmd_large(pmd) pmd_sect(pmd) argument 175 #define pmd_bad(pmd) (!(pmd_val(pmd) & 2)) argument 211 #define pmd_isset(pmd, val) ((u32)(val) == (val) ? pmd_val(pmd) & (val) \ argument 212 : !!(pmd_val(pmd) & (val))) 213 #define pmd_isclear(pmd, val) (!(pmd_val(pmd) & (val))) argument 215 #define pmd_young(pmd) (pmd_isset((pmd), PMD_SECT_AF)) argument 225 #define pmd_write(pmd) (pmd_isclear((pmd), L_PMD_SECT_RDONLY)) argument 226 #define pmd_dirty(pmd) (pmd_isset((pmd), L_PMD_SECT_DIRTY)) argument [all …]
|
D | kvm_mmu.h | 72 static inline void kvm_set_pmd(pmd_t *pmd, pmd_t new_pmd) in kvm_set_pmd() argument 74 *pmd = new_pmd; in kvm_set_pmd() 75 flush_pmd_entry(pmd); in kvm_set_pmd() 93 static inline void kvm_clean_pmd(pmd_t *pmd) in kvm_clean_pmd() argument 95 clean_dcache_area(pmd, PTRS_PER_PMD * sizeof(pmd_t)); in kvm_clean_pmd() 98 static inline void kvm_clean_pmd_entry(pmd_t *pmd) in kvm_clean_pmd_entry() argument 100 clean_pmd_entry(pmd); in kvm_clean_pmd_entry() 113 static inline void kvm_set_s2pmd_writable(pmd_t *pmd) in kvm_set_s2pmd_writable() argument 115 pmd_val(*pmd) |= L_PMD_S2_RDWR; in kvm_set_s2pmd_writable() 128 static inline void kvm_set_s2pmd_readonly(pmd_t *pmd) in kvm_set_s2pmd_readonly() argument [all …]
|
D | pgalloc.h | 35 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 37 BUG_ON((unsigned long)pmd & (PAGE_SIZE-1)); in pmd_free() 38 free_page((unsigned long)pmd); in pmd_free() 41 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument 43 set_pud(pud, __pud(__pa(pmd) | PMD_TYPE_TABLE)); in pud_populate() 52 #define pmd_free(mm, pmd) do { } while (0) argument 53 #define pud_populate(mm,pmd,pte) BUG() argument 170 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
D | pgtable.h | 56 #define pmd_ERROR(pmd) __pmd_error(__FILE__, __LINE__, pmd) argument 184 #define pmd_none(pmd) (!pmd_val(pmd)) argument 185 #define pmd_present(pmd) (pmd_val(pmd)) argument 187 static inline pte_t *pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument 189 return __va(pmd_val(pmd) & PHYS_MASK & (s32)PAGE_MASK); in pmd_page_vaddr() 192 #define pmd_page(pmd) pfn_to_page(__phys_to_pfn(pmd_val(pmd) & PHYS_MASK)) argument 195 #define __pte_map(pmd) pmd_page_vaddr(*(pmd)) argument 198 #define __pte_map(pmd) (pte_t *)kmap_atomic(pmd_page(*(pmd))) argument 204 #define pte_offset_kernel(pmd,addr) (pmd_page_vaddr(*(pmd)) + pte_index(addr)) argument 206 #define pte_offset_map(pmd,addr) (__pte_map(pmd) + pte_index(addr)) argument
|
D | pgtable-2level.h | 194 #define pmd_large(pmd) (pmd_val(pmd) & 2) argument 195 #define pmd_bad(pmd) (pmd_val(pmd) & 2) argument 222 #define pmd_hugewillfault(pmd) (0) argument 223 #define pmd_thp_or_huge(pmd) (0) argument
|
D | tlbflush.h | 576 static inline void flush_pmd_entry(void *pmd) in flush_pmd_entry() argument 580 tlb_op(TLB_DCLEAN, "c7, c10, 1 @ flush_pmd", pmd); in flush_pmd_entry() 581 tlb_l2_op(TLB_L2CLEAN_FR, "c15, c9, 1 @ L2 flush_pmd", pmd); in flush_pmd_entry() 587 static inline void clean_pmd_entry(void *pmd) in clean_pmd_entry() argument 591 tlb_op(TLB_DCLEAN, "c7, c10, 1 @ flush_pmd", pmd); in clean_pmd_entry() 592 tlb_l2_op(TLB_L2CLEAN_FR, "c15, c9, 1 @ L2 flush_pmd", pmd); in clean_pmd_entry() 640 #define update_mmu_cache_pmd(vma, address, pmd) do { } while (0) argument
|
D | pgtable-2level-types.h | 34 typedef struct { pmdval_t pmd; } pmd_t; member 39 #define pmd_val(x) ((x).pmd)
|
D | pgtable-3level-types.h | 37 typedef struct { pmdval_t pmd; } pmd_t; member 42 #define pmd_val(x) ((x).pmd)
|
/linux-4.4.14/arch/s390/mm/ |
D | hugetlbpage.c | 13 pmd_t pmd; in __pte_to_pmd() local 36 pmd_val(pmd) = pte_val(pte) & PAGE_MASK; in __pte_to_pmd() 37 pmd_val(pmd) |= (pte_val(pte) & _PAGE_READ) >> 4; in __pte_to_pmd() 38 pmd_val(pmd) |= (pte_val(pte) & _PAGE_WRITE) >> 4; in __pte_to_pmd() 39 pmd_val(pmd) |= (pte_val(pte) & _PAGE_INVALID) >> 5; in __pte_to_pmd() 40 pmd_val(pmd) |= (pte_val(pte) & _PAGE_PROTECT); in __pte_to_pmd() 41 pmd_val(pmd) |= (pte_val(pte) & _PAGE_DIRTY) << 10; in __pte_to_pmd() 42 pmd_val(pmd) |= (pte_val(pte) & _PAGE_YOUNG) << 10; in __pte_to_pmd() 43 pmd_val(pmd) |= (pte_val(pte) & _PAGE_SOFT_DIRTY) << 13; in __pte_to_pmd() 45 pmd_val(pmd) = _SEGMENT_ENTRY_INVALID; in __pte_to_pmd() [all …]
|
D | gup.c | 20 static inline int gup_pte_range(pmd_t *pmdp, pmd_t pmd, unsigned long addr, in gup_pte_range() argument 29 ptep = ((pte_t *) pmd_deref(pmd)) + pte_index(addr); in gup_pte_range() 54 static inline int gup_huge_pmd(pmd_t *pmdp, pmd_t pmd, unsigned long addr, in gup_huge_pmd() argument 63 if ((pmd_val(pmd) & mask) != result) in gup_huge_pmd() 65 VM_BUG_ON(!pfn_valid(pmd_val(pmd) >> PAGE_SHIFT)); in gup_huge_pmd() 68 head = pmd_page(pmd); in gup_huge_pmd() 84 if (unlikely(pmd_val(pmd) != pmd_val(*pmdp))) { in gup_huge_pmd() 109 pmd_t *pmdp, pmd; in gup_pmd_range() local 116 pmd = *pmdp; in gup_pmd_range() 128 if (pmd_none(pmd) || pmd_trans_splitting(pmd)) in gup_pmd_range() [all …]
|
D | dump_pagetables.c | 111 pmd_t *pmd, unsigned long addr) in walk_pte_level() argument 119 pte = pte_offset_kernel(pmd, addr); in walk_pte_level() 130 pmd_t *pmd; in walk_pmd_level() local 135 pmd = pmd_offset(pud, addr); in walk_pmd_level() 136 if (!pmd_none(*pmd)) { in walk_pmd_level() 137 if (pmd_large(*pmd)) { in walk_pmd_level() 138 prot = pmd_val(*pmd) & _SEGMENT_ENTRY_PROTECT; in walk_pmd_level() 141 walk_pte_level(m, st, pmd, addr); in walk_pmd_level()
|
D | pageattr.c | 129 pmd_t *pmd; in __kernel_map_pages() local 136 pmd = pmd_offset(pud, address); in __kernel_map_pages() 137 pte = pte_offset_kernel(pmd, address); in __kernel_map_pages()
|
/linux-4.4.14/arch/mips/include/asm/ |
D | pgtable.h | 91 #define pmd_phys(pmd) virt_to_phys((void *)pmd_val(pmd)) argument 93 #define __pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT)) argument 95 #define pmd_page(pmd) __pmd_page(pmd) argument 98 #define pmd_page_vaddr(pmd) pmd_val(pmd) argument 489 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() argument 491 return !!(pmd_val(pmd) & _PAGE_HUGE); in pmd_trans_huge() 494 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() argument 496 pmd_val(pmd) |= _PAGE_HUGE; in pmd_mkhuge() 498 return pmd; in pmd_mkhuge() 501 static inline int pmd_trans_splitting(pmd_t pmd) in pmd_trans_splitting() argument [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() 114 pmd_t *pmd; in pmd_alloc_one() local 116 pmd = (pmd_t *) __get_free_pages(GFP_KERNEL|__GFP_REPEAT, PMD_ORDER); in pmd_alloc_one() 117 if (pmd) in pmd_alloc_one() [all …]
|
D | pgtable-64.h | 160 typedef struct { unsigned long pmd; } pmd_t; member 161 #define pmd_val(x) ((x).pmd) 171 static inline int pmd_none(pmd_t pmd) in pmd_none() argument 173 return pmd_val(pmd) == (unsigned long) invalid_pte_table; in pmd_none() 176 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument 180 if (unlikely(pmd_val(pmd) & _PAGE_HUGE)) in pmd_bad() 184 if (unlikely(pmd_val(pmd) & ~PAGE_MASK)) in pmd_bad() 190 static inline int pmd_present(pmd_t pmd) in pmd_present() argument 192 return pmd_val(pmd) != (unsigned long) invalid_pte_table; in pmd_present()
|
D | pgtable-32.h | 89 static inline int pmd_none(pmd_t pmd) in pmd_none() argument 91 return pmd_val(pmd) == (unsigned long) invalid_pte_table; in pmd_none() 94 #define pmd_bad(pmd) (pmd_val(pmd) & ~PAGE_MASK) argument 96 static inline int pmd_present(pmd_t pmd) in pmd_present() argument 98 return pmd_val(pmd) != (unsigned long) invalid_pte_table; in pmd_present()
|
/linux-4.4.14/arch/x86/include/asm/ |
D | pgtable.h | 48 #define set_pmd_at(mm, addr, pmdp, pmd) native_set_pmd_at(mm, addr, pmdp, pmd) argument 53 #define set_pmd(pmdp, pmd) native_set_pmd(pmdp, pmd) argument 69 #define pmd_clear(pmd) native_pmd_clear(pmd) argument 110 static inline int pmd_dirty(pmd_t pmd) in pmd_dirty() argument 112 return pmd_flags(pmd) & _PAGE_DIRTY; in pmd_dirty() 115 static inline int pmd_young(pmd_t pmd) in pmd_young() argument 117 return pmd_flags(pmd) & _PAGE_ACCESSED; in pmd_young() 150 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() argument 152 return (pmd_val(pmd) & pmd_pfn_mask(pmd)) >> PAGE_SHIFT; in pmd_pfn() 168 static inline int pmd_trans_splitting(pmd_t pmd) in pmd_trans_splitting() argument [all …]
|
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() 69 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 75 set_pmd(pmd, __pmd(((pteval_t)pfn << PAGE_SHIFT) | _PAGE_TABLE)); in pmd_populate() 78 #define pmd_pgtable(pmd) pmd_page(pmd) argument 94 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 96 BUG_ON((unsigned long)pmd & (PAGE_SIZE-1)); in pmd_free() 97 pgtable_pmd_page_dtor(virt_to_page(pmd)); in pmd_free() 98 free_page((unsigned long)pmd); in pmd_free() 101 extern void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd); [all …]
|
D | pgtable_types.h | 259 typedef struct { pmdval_t pmd; } pmd_t; member 266 static inline pmdval_t native_pmd_val(pmd_t pmd) in native_pmd_val() argument 268 return pmd.pmd; in native_pmd_val() 273 static inline pmdval_t native_pmd_val(pmd_t pmd) in native_pmd_val() argument 275 return native_pgd_val(pmd.pud.pgd); in native_pmd_val() 297 static inline pmdval_t pmd_pfn_mask(pmd_t pmd) in pmd_pfn_mask() argument 299 if (native_pmd_val(pmd) & _PAGE_PSE) in pmd_pfn_mask() 305 static inline pmdval_t pmd_flags_mask(pmd_t pmd) in pmd_flags_mask() argument 307 return ~pmd_pfn_mask(pmd); in pmd_flags_mask() 310 static inline pmdval_t pmd_flags(pmd_t pmd) in pmd_flags() argument [all …]
|
D | pgtable-3level.h | 93 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) in native_set_pmd() argument 95 set_64bit((unsigned long long *)(pmdp), native_pmd_val(pmd)); in native_set_pmd() 116 static inline void native_pmd_clear(pmd_t *pmd) in native_pmd_clear() argument 118 u32 *tmp = (u32 *)pmd; in native_pmd_clear() 162 pmd_t pmd; member 173 return res.pmd; in native_pmdp_get_and_clear()
|
D | pgtable_64.h | 63 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) in native_set_pmd() argument 65 *pmdp = pmd; in native_set_pmd() 68 static inline void native_pmd_clear(pmd_t *pmd) in native_pmd_clear() argument 70 native_set_pmd(pmd, native_make_pmd(0)); in native_pmd_clear() 89 return native_make_pmd(xchg(&xp->pmd, 0)); in native_pmdp_get_and_clear()
|
D | paravirt.h | 504 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument 508 pv_mmu_ops.set_pmd_at(mm, addr, pmdp, pmd); in set_pmd_at() 511 native_pmd_val(pmd)); in set_pmd_at() 514 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) in set_pmd() argument 516 pmdval_t val = native_pmd_val(pmd); in set_pmd() 539 static inline pmdval_t pmd_val(pmd_t pmd) in pmd_val() argument 545 pmd.pmd, (u64)pmd.pmd >> 32); in pmd_val() 548 pmd.pmd); in pmd_val()
|
/linux-4.4.14/arch/tile/include/asm/ |
D | pgtable.h | 366 static inline int pmd_none(pmd_t pmd) in pmd_none() argument 372 return (unsigned long)pmd_val(pmd) == 0; in pmd_none() 375 static inline int pmd_present(pmd_t pmd) in pmd_present() argument 377 return pmd_val(pmd) & _PAGE_PRESENT; in pmd_present() 380 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument 382 return ((pmd_val(pmd) & _PAGE_ALL) != _PAGE_TABLE); in pmd_bad() 439 #define pmd_ptfn(pmd) hv_pte_get_ptfn(pmd_pte(pmd)) argument 447 static inline unsigned long pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument 450 (phys_addr_t)pmd_ptfn(pmd) << HV_LOG2_PAGE_TABLE_ALIGN; in pmd_page_vaddr() 461 #define pmd_page(pmd) pfn_to_page(PFN_DOWN(HV_PTFN_TO_CPA(pmd_ptfn(pmd)))) argument [all …]
|
D | pgalloc.h | 41 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) in set_pmd() argument 44 set_pte(pmdp, pmd); in set_pmd() 46 set_pte(&pmdp->pud.pgd, pmd.pud.pgd); in set_pmd() 51 pmd_t *pmd, pte_t *ptep) in pmd_populate_kernel() argument 53 set_pmd(pmd, ptfn_pmd(HV_CPA_TO_PTFN(__pa(ptep)), in pmd_populate_kernel() 57 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 60 set_pmd(pmd, ptfn_pmd(HV_CPA_TO_PTFN(PFN_PHYS(page_to_pfn(page))), in pmd_populate() 86 #define pmd_pgtable(pmd) pmd_page(pmd) argument 118 void shatter_pmd(pmd_t *pmd); 125 #define pud_populate(mm, pud, pmd) \ argument [all …]
|
/linux-4.4.14/arch/powerpc/include/asm/ |
D | pgtable-ppc64.h | 152 #define pmd_none(pmd) (!pmd_val(pmd)) argument 153 #define pmd_bad(pmd) (!is_kernel_addr(pmd_val(pmd)) \ argument 154 || (pmd_val(pmd) & PMD_BAD_BITS)) 155 #define pmd_present(pmd) (!pmd_none(pmd)) argument 157 #define pmd_page_vaddr(pmd) (pmd_val(pmd) & ~PMD_MASKED_BITS) argument 158 extern struct page *pmd_page(pmd_t pmd); 445 extern pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot); 447 pmd_t *pmdp, pmd_t pmd); 449 pmd_t *pmd); 466 static inline int pmd_trans_huge(pmd_t pmd) in pmd_trans_huge() argument [all …]
|
D | pgalloc-64.h | 69 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument 71 pud_set(pud, (unsigned long)pmd); in pud_populate() 74 #define pmd_populate(mm, pmd, pte_page) \ argument 75 pmd_populate_kernel(mm, pmd, page_address(pte_page)) 76 #define pmd_populate_kernel(mm, pmd, pte) pmd_set(pmd, (unsigned long)(pte)) argument 77 #define pmd_pgtable(pmd) pmd_page(pmd) argument 175 #define pud_populate(mm, pud, pmd) pud_set(pud, (unsigned long)pmd) argument 177 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() argument 180 pmd_set(pmd, (unsigned long)pte); in pmd_populate_kernel() 183 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument [all …]
|
D | pgalloc-32.h | 9 extern void __bad_pte(pmd_t *pmd); 24 #define pmd_populate_kernel(mm, pmd, pte) \ argument 25 (pmd_val(*(pmd)) = __pa(pte) | _PMD_PRESENT) 26 #define pmd_populate(mm, pmd, pte) \ argument 27 (pmd_val(*(pmd)) = (page_to_pfn(pte) << PAGE_SHIFT) | _PMD_PRESENT) 28 #define pmd_pgtable(pmd) pmd_page(pmd) argument 30 #define pmd_populate_kernel(mm, pmd, pte) \ argument 31 (pmd_val(*(pmd)) = (unsigned long)pte | _PMD_PRESENT) 32 #define pmd_populate(mm, pmd, pte) \ argument 33 (pmd_val(*(pmd)) = (unsigned long)lowmem_page_address(pte) | _PMD_PRESENT) [all …]
|
D | pgtable-ppc32.h | 130 #define pmd_none(pmd) (!pmd_val(pmd)) argument 131 #define pmd_bad(pmd) (pmd_val(pmd) & _PMD_BAD) argument 132 #define pmd_present(pmd) (pmd_val(pmd) & _PMD_PRESENT_MASK) argument 287 #define pmd_page_vaddr(pmd) \ argument 288 ((unsigned long) __va(pmd_val(pmd) & PAGE_MASK)) 289 #define pmd_page(pmd) \ argument 290 pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT) 292 #define pmd_page_vaddr(pmd) \ argument 293 ((unsigned long) (pmd_val(pmd) & PAGE_MASK)) 294 #define pmd_page(pmd) \ argument [all …]
|
/linux-4.4.14/arch/parisc/include/asm/ |
D | pgalloc.h | 58 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmd) in pgd_populate() argument 61 (__u32)(__pa((unsigned long)pmd) >> PxD_VALUE_SHIFT)); in pgd_populate() 66 pmd_t *pmd = (pmd_t *)__get_free_pages(GFP_KERNEL|__GFP_REPEAT, 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 …]
|
D | pgtable.h | 310 static inline void pmd_clear(pmd_t *pmd) { in pmd_clear() argument 312 if (pmd_flag(*pmd) & PxD_FLAG_ATTACHED) in pmd_clear() 315 __pmd_val_set(*pmd, PxD_FLAG_ATTACHED); in pmd_clear() 318 __pmd_val_set(*pmd, 0); in pmd_clear() 414 #define pmd_page_vaddr(pmd) ((unsigned long) __va(pmd_address(pmd))) argument 416 #define __pmd_page(pmd) ((unsigned long) __va(pmd_address(pmd))) argument 417 #define pmd_page(pmd) virt_to_page((void *)__pmd_page(pmd)) argument 440 #define pte_offset_kernel(pmd, address) \ argument 441 ((pte_t *) pmd_page_vaddr(*(pmd)) + pte_index(address)) 442 #define pte_offset_map(pmd, address) pte_offset_kernel(pmd, address) argument
|
D | tlb.h | 24 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd) argument
|
D | page.h | 44 typedef struct { __u32 pmd; } pmd_t; member 50 #define pmd_val(x) ((x).pmd + 0) 59 #define __pmd_val_set(x,n) (x).pmd = (n)
|
/linux-4.4.14/arch/s390/include/asm/ |
D | pgtable.h | 494 static inline int pmd_present(pmd_t pmd) in pmd_present() argument 496 return pmd_val(pmd) != _SEGMENT_ENTRY_INVALID; in pmd_present() 499 static inline int pmd_none(pmd_t pmd) in pmd_none() argument 501 return pmd_val(pmd) == _SEGMENT_ENTRY_INVALID; in pmd_none() 504 static inline int pmd_large(pmd_t pmd) in pmd_large() argument 506 return (pmd_val(pmd) & _SEGMENT_ENTRY_LARGE) != 0; in pmd_large() 509 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() argument 514 if (pmd_large(pmd)) in pmd_pfn() 516 return (pmd_val(pmd) & origin_mask) >> PAGE_SHIFT; in pmd_pfn() 519 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument [all …]
|
D | pgalloc.h | 85 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 87 pgtable_pmd_page_dtor(virt_to_page(pmd)); in pmd_free() 88 crst_table_free(mm, (unsigned long *) pmd); in pmd_free() 96 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument 98 pud_val(*pud) = _REGION3_ENTRY | __pa(pmd); in pud_populate() 125 pmd_t *pmd, pgtable_t pte) in pmd_populate() argument 127 pmd_val(*pmd) = _SEGMENT_ENTRY + __pa(pte); in pmd_populate() 130 #define pmd_populate_kernel(mm, pmd, pte) pmd_populate(mm, pmd, pte) argument 132 #define pmd_pgtable(pmd) \ argument 133 (pgtable_t)(pmd_val(pmd) & -sizeof(pte_t)*PTRS_PER_PTE)
|
D | tlb.h | 118 static inline void pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in pmd_free_tlb() argument 123 pgtable_pmd_page_dtor(virt_to_page(pmd)); in pmd_free_tlb() 124 tlb_remove_table(tlb, pmd); in pmd_free_tlb()
|
/linux-4.4.14/arch/x86/mm/ |
D | init_64.c | 64 pmd_t *pmd = pmd_page + pmd_index(addr); in ident_pmd_init() local 66 if (!pmd_present(*pmd)) in ident_pmd_init() 67 set_pmd(pmd, __pmd(addr | pmd_flag)); in ident_pmd_init() 77 pmd_t *pmd; in ident_pud_init() local 84 pmd = pmd_offset(pud, 0); in ident_pud_init() 85 ident_pmd_init(info->pmd_flag, pmd, addr, next); in ident_pud_init() 88 pmd = (pmd_t *)info->alloc_pgt_page(info->context); in ident_pud_init() 89 if (!pmd) in ident_pud_init() 91 ident_pmd_init(info->pmd_flag, pmd, addr, next); in ident_pud_init() 92 set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE)); in ident_pud_init() [all …]
|
D | init_32.c | 95 static pte_t * __init one_page_table_init(pmd_t *pmd) in one_page_table_init() argument 97 if (!(pmd_val(*pmd) & _PAGE_PRESENT)) { in one_page_table_init() 101 set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE)); in one_page_table_init() 102 BUG_ON(page_table != pte_offset_kernel(pmd, 0)); in one_page_table_init() 105 return pte_offset_kernel(pmd, 0); in one_page_table_init() 119 pmd_t *pmd; in populate_extra_pte() local 121 pmd = populate_extra_pmd(vaddr); in populate_extra_pte() 122 return one_page_table_init(pmd) + pte_idx; in populate_extra_pte() 156 static pte_t *__init page_table_kmap_check(pte_t *pte, pmd_t *pmd, in page_table_kmap_check() argument 183 set_pmd(pmd, __pmd(__pa(newpte)|_PAGE_TABLE)); in page_table_kmap_check() [all …]
|
D | pgtable.c | 63 void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd) in ___pmd_free_tlb() argument 65 struct page *page = virt_to_page(pmd); in ___pmd_free_tlb() 66 paravirt_release_pmd(__pa(pmd) >> PAGE_SHIFT); in ___pmd_free_tlb() 171 void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) in pud_populate() argument 173 paravirt_alloc_pmd(mm, __pa(pmd) >> PAGE_SHIFT); in pud_populate() 177 set_pud(pudp, __pud(__pa(pmd) | _PAGE_PRESENT)); in pud_populate() 212 pmd_t *pmd = (pmd_t *)__get_free_page(PGALLOC_GFP); in preallocate_pmds() local 213 if (!pmd) in preallocate_pmds() 215 if (pmd && !pgtable_pmd_page_ctor(virt_to_page(pmd))) { in preallocate_pmds() 216 free_page((unsigned long)pmd); in preallocate_pmds() [all …]
|
D | gup.c | 71 static noinline int gup_pte_range(pmd_t pmd, unsigned long addr, in gup_pte_range() argument 81 ptep = pte_offset_map(&pmd, addr); in gup_pte_range() 117 static noinline int gup_huge_pmd(pmd_t pmd, unsigned long addr, in gup_huge_pmd() argument 127 if ((pmd_flags(pmd) & mask) != mask) in gup_huge_pmd() 130 VM_BUG_ON(pmd_flags(pmd) & _PAGE_SPECIAL); in gup_huge_pmd() 131 VM_BUG_ON(!pfn_valid(pmd_pfn(pmd))); in gup_huge_pmd() 134 head = pmd_page(pmd); in gup_huge_pmd() 158 pmd_t pmd = *pmdp; in gup_pmd_range() local 172 if (pmd_none(pmd) || pmd_trans_splitting(pmd)) in gup_pmd_range() 174 if (unlikely(pmd_large(pmd) || !pmd_present(pmd))) { in gup_pmd_range() [all …]
|
D | fault.c | 199 pmd_t *pmd, *pmd_k; in vmalloc_sync_one() local 217 pmd = pmd_offset(pud, address); in vmalloc_sync_one() 222 if (!pmd_present(*pmd)) in vmalloc_sync_one() 223 set_pmd(pmd, *pmd_k); in vmalloc_sync_one() 225 BUG_ON(pmd_page(*pmd) != pmd_page(*pmd_k)); in vmalloc_sync_one() 329 pmd_t *pmd; in dump_pagetable() local 337 pmd = pmd_offset(pud_offset(pgd, address), address); in dump_pagetable() 338 printk(KERN_CONT "*pde = %0*Lx ", sizeof(*pmd) * 2, (u64)pmd_val(*pmd)); in dump_pagetable() 346 if (!low_pfn(pmd_pfn(*pmd)) || !pmd_present(*pmd) || pmd_large(*pmd)) in dump_pagetable() 349 pte = pte_offset_kernel(pmd, address); in dump_pagetable() [all …]
|
D | pageattr.c | 331 pmd_t *pmd; in lookup_address_in_pgd() local 346 pmd = pmd_offset(pud, address); in lookup_address_in_pgd() 347 if (pmd_none(*pmd)) in lookup_address_in_pgd() 351 if (pmd_large(*pmd) || !pmd_present(*pmd)) in lookup_address_in_pgd() 352 return (pte_t *)pmd; in lookup_address_in_pgd() 356 return pte_offset_kernel(pmd, address); in lookup_address_in_pgd() 462 pmd_t *pmd; in __set_pmd_pte() local 466 pmd = pmd_offset(pud, address); in __set_pmd_pte() 467 set_pte_atomic((pte_t *)pmd, pte); in __set_pmd_pte() 738 static bool try_to_free_pmd_page(pmd_t *pmd) in try_to_free_pmd_page() argument [all …]
|
D | pgtable_32.c | 31 pmd_t *pmd; in set_pte_vaddr() local 44 pmd = pmd_offset(pud, vaddr); in set_pte_vaddr() 45 if (pmd_none(*pmd)) { in set_pte_vaddr() 49 pte = pte_offset_kernel(pmd, vaddr); in set_pte_vaddr()
|
D | ioremap.c | 430 pmd_t *pmd = pmd_offset(pud, addr); in early_ioremap_pmd() local 432 return pmd; in early_ioremap_pmd() 447 pmd_t *pmd; in early_ioremap_init() local 457 pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)); in early_ioremap_init() 459 pmd_populate_kernel(&init_mm, pmd, bm_pte); in early_ioremap_init() 469 if (pmd != early_ioremap_pmd(fix_to_virt(FIX_BTMAP_END))) { in early_ioremap_init() 472 pmd, early_ioremap_pmd(fix_to_virt(FIX_BTMAP_END))); in early_ioremap_init()
|
D | hugetlbpage.c | 45 int pmd_huge(pmd_t pmd) 62 int pmd_huge(pmd_t pmd) in pmd_huge() argument 64 return !pmd_none(pmd) && in pmd_huge() 65 (pmd_val(pmd) & (_PAGE_PRESENT|_PAGE_PSE)) != _PAGE_PRESENT; in pmd_huge()
|
/linux-4.4.14/arch/arm64/include/asm/ |
D | pgtable.h | 320 static inline pte_t pmd_pte(pmd_t pmd) in pmd_pte() argument 322 return __pte(pmd_val(pmd)); in pmd_pte() 340 #define pmd_trans_huge(pmd) (pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT)) argument 341 #define pmd_trans_splitting(pmd) pte_special(pmd_pte(pmd)) argument 350 #define pmd_present(pmd) pte_present(pmd_pte(pmd)) argument 351 #define pmd_dirty(pmd) pte_dirty(pmd_pte(pmd)) argument 352 #define pmd_young(pmd) pte_young(pmd_pte(pmd)) argument 353 #define pmd_wrprotect(pmd) pte_pmd(pte_wrprotect(pmd_pte(pmd))) argument 354 #define pmd_mksplitting(pmd) pte_pmd(pte_mkspecial(pmd_pte(pmd))) argument 355 #define pmd_mkold(pmd) pte_pmd(pte_mkold(pmd_pte(pmd))) argument [all …]
|
D | kvm_mmu.h | 105 #define kvm_set_pmd(pmdp, pmd) set_pmd(pmdp, pmd) 108 static inline void kvm_clean_pmd(pmd_t *pmd) {} 109 static inline void kvm_clean_pmd_entry(pmd_t *pmd) {} 118 static inline void kvm_set_s2pmd_writable(pmd_t *pmd) 120 pmd_val(*pmd) |= PMD_S2_RDWR; 133 static inline void kvm_set_s2pmd_readonly(pmd_t *pmd) 135 pmd_val(*pmd) = (pmd_val(*pmd) & ~PMD_S2_RDWR) | PMD_S2_RDONLY; 138 static inline bool kvm_s2pmd_readonly(pmd_t *pmd) 140 return (pmd_val(*pmd) & PMD_S2_RDWR) == PMD_S2_RDONLY; 257 static inline void __kvm_flush_dcache_pmd(pmd_t pmd) [all …]
|
D | pgalloc.h | 39 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 41 BUG_ON((unsigned long)pmd & (PAGE_SIZE-1)); in pmd_free() 42 free_page((unsigned long)pmd); in pmd_free() 45 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument 47 set_pud(pud, __pud(__pa(pmd) | PMD_TYPE_TABLE)); in pud_populate() 135 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
/linux-4.4.14/arch/arm/mm/ |
D | idmap.c | 24 pmd_t *pmd; in idmap_add_pmd() local 28 pmd = pmd_alloc_one(&init_mm, addr); in idmap_add_pmd() 29 if (!pmd) { in idmap_add_pmd() 38 memcpy(pmd, pmd_offset(pud, 0), in idmap_add_pmd() 40 pud_populate(&init_mm, pud, pmd); in idmap_add_pmd() 41 pmd += pmd_index(addr); in idmap_add_pmd() 43 pmd = pmd_offset(pud, addr); in idmap_add_pmd() 47 *pmd = __pmd((addr & PMD_MASK) | prot); in idmap_add_pmd() 48 flush_pmd_entry(pmd); in idmap_add_pmd() 49 } while (pmd++, addr = next, addr != end); in idmap_add_pmd() [all …]
|
D | ioremap.c | 151 pmd_t pmd = *pmdp; in unmap_area_sections() local 153 if (!pmd_none(pmd)) { in unmap_area_sections() 167 if ((pmd_val(pmd) & PMD_TYPE_MASK) == PMD_TYPE_TABLE) in unmap_area_sections() 168 pte_free_kernel(&init_mm, pmd_page_vaddr(pmd)); in unmap_area_sections() 192 pmd_t *pmd; in remap_area_sections() local 202 pmd = pmd_offset(pud, addr); in remap_area_sections() 204 pmd[0] = __pmd(__pfn_to_phys(pfn) | type->prot_sect); in remap_area_sections() 206 pmd[1] = __pmd(__pfn_to_phys(pfn) | type->prot_sect); in remap_area_sections() 208 flush_pmd_entry(pmd); in remap_area_sections() 211 pmd += 2; in remap_area_sections() [all …]
|
D | pgd.c | 123 pmd_t *pmd; in pgd_free() local 137 pmd = pmd_offset(pud, 0); in pgd_free() 138 if (pmd_none_or_clear_bad(pmd)) in pgd_free() 141 pte = pmd_pgtable(*pmd); in pgd_free() 142 pmd_clear(pmd); in pgd_free() 147 pmd_free(mm, pmd); in pgd_free() 165 pmd = pmd_offset(pud, 0); in pgd_free() 167 pmd_free(mm, pmd); in pgd_free()
|
D | mmu.c | 79 pmdval_t pmd; member 94 .pmd = PMD_SECT_UNCACHED, 100 .pmd = PMD_SECT_BUFFERED, 106 .pmd = PMD_SECT_WT, 112 .pmd = PMD_SECT_WB, 118 .pmd = PMD_SECT_WBWA, 134 void __init init_default_cache_policy(unsigned long pmd) in init_default_cache_policy() argument 138 initial_pmd_value = pmd; in init_default_cache_policy() 140 pmd &= PMD_SECT_TEX(1) | PMD_SECT_BUFFERABLE | PMD_SECT_CACHEABLE; in init_default_cache_policy() 143 if (cache_policies[i].pmd == pmd) { in init_default_cache_policy() [all …]
|
D | dump.c | 257 static void walk_pte(struct pg_state *st, pmd_t *pmd, unsigned long start) in walk_pte() argument 259 pte_t *pte = pte_offset_kernel(pmd, 0); in walk_pte() 271 pmd_t *pmd = pmd_offset(pud, 0); in walk_pmd() local 275 for (i = 0; i < PTRS_PER_PMD; i++, pmd++) { in walk_pmd() 277 if (pmd_none(*pmd) || pmd_large(*pmd) || !pmd_present(*pmd)) in walk_pmd() 278 note_page(st, addr, 3, pmd_val(*pmd)); in walk_pmd() 280 walk_pte(st, pmd, addr); in walk_pmd() 282 if (SECTION_SIZE < PMD_SIZE && pmd_large(pmd[1])) in walk_pmd() 283 note_page(st, addr + SECTION_SIZE, 3, pmd_val(pmd[1])); in walk_pmd()
|
D | hugetlbpage.c | 44 int pmd_huge(pmd_t pmd) in pmd_huge() argument 46 return pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT); in pmd_huge()
|
D | fault.c | 73 pmd_t *pmd; in show_pte() local 96 pmd = pmd_offset(pud, addr); in show_pte() 98 pr_cont(", *pmd=%08llx", (long long)pmd_val(*pmd)); in show_pte() 100 if (pmd_none(*pmd)) in show_pte() 103 if (pmd_bad(*pmd)) { in show_pte() 109 if (PageHighMem(pfn_to_page(pmd_val(*pmd) >> PAGE_SHIFT))) in show_pte() 112 pte = pte_offset_map(pmd, addr); in show_pte() 428 pmd_t *pmd, *pmd_k; in do_translation_fault() local 454 pmd = pmd_offset(pud, addr); in do_translation_fault() 476 copy_pmd(pmd, pmd_k); in do_translation_fault()
|
D | fault-armv.c | 98 pmd_t *pmd; in adjust_pte() local 110 pmd = pmd_offset(pud, address); in adjust_pte() 111 if (pmd_none_or_clear_bad(pmd)) in adjust_pte() 119 ptl = pte_lockptr(vma->vm_mm, pmd); in adjust_pte() 120 pte = pte_offset_map(pmd, address); in adjust_pte()
|
D | init.c | 633 pmd_t *pmd; in section_update() local 635 pmd = pmd_offset(pud_offset(pgd_offset(mm, addr), addr), addr); in section_update() 638 pmd[0] = __pmd((pmd_val(pmd[0]) & mask) | prot); in section_update() 641 pmd[1] = __pmd((pmd_val(pmd[1]) & mask) | prot); in section_update() 643 pmd[0] = __pmd((pmd_val(pmd[0]) & mask) | prot); in section_update() 645 flush_pmd_entry(pmd); in section_update()
|
/linux-4.4.14/arch/arm/kvm/ |
D | mmu.c | 91 static void kvm_flush_dcache_pmd(pmd_t pmd) in kvm_flush_dcache_pmd() argument 93 __kvm_flush_dcache_pmd(pmd); in kvm_flush_dcache_pmd() 115 static void stage2_dissolve_pmd(struct kvm *kvm, phys_addr_t addr, pmd_t *pmd) in stage2_dissolve_pmd() argument 117 if (!kvm_pmd_huge(*pmd)) in stage2_dissolve_pmd() 120 pmd_clear(pmd); in stage2_dissolve_pmd() 122 put_page(virt_to_page(pmd)); in stage2_dissolve_pmd() 176 static void clear_pmd_entry(struct kvm *kvm, pmd_t *pmd, phys_addr_t addr) in clear_pmd_entry() argument 178 pte_t *pte_table = pte_offset_kernel(pmd, 0); in clear_pmd_entry() 179 VM_BUG_ON(kvm_pmd_huge(*pmd)); in clear_pmd_entry() 180 pmd_clear(pmd); in clear_pmd_entry() [all …]
|
/linux-4.4.14/arch/arm64/mm/ |
D | mmu.c | 80 static void split_pmd(pmd_t *pmd, pte_t *pte) in split_pmd() argument 82 unsigned long pfn = pmd_pfn(*pmd); in split_pmd() 95 static void alloc_init_pte(pmd_t *pmd, unsigned long addr, in alloc_init_pte() argument 102 if (pmd_none(*pmd) || pmd_sect(*pmd)) { in alloc_init_pte() 104 if (pmd_sect(*pmd)) in alloc_init_pte() 105 split_pmd(pmd, pte); in alloc_init_pte() 106 __pmd_populate(pmd, __pa(pte), PMD_TYPE_TABLE); in alloc_init_pte() 109 BUG_ON(pmd_bad(*pmd)); in alloc_init_pte() 111 pte = pte_offset_kernel(pmd, addr); in alloc_init_pte() 118 static void split_pud(pud_t *old_pud, pmd_t *pmd) in split_pud() argument [all …]
|
D | kasan_init.c | 26 static void __init kasan_early_pte_populate(pmd_t *pmd, unsigned long addr, in kasan_early_pte_populate() argument 32 if (pmd_none(*pmd)) in kasan_early_pte_populate() 33 pmd_populate_kernel(&init_mm, pmd, kasan_zero_pte); in kasan_early_pte_populate() 35 pte = pte_offset_kernel(pmd, addr); in kasan_early_pte_populate() 47 pmd_t *pmd; in kasan_early_pmd_populate() local 53 pmd = pmd_offset(pud, addr); in kasan_early_pmd_populate() 56 kasan_early_pte_populate(pmd, addr, next); in kasan_early_pmd_populate() 57 } while (pmd++, addr = next, addr != end && pmd_none(*pmd)); in kasan_early_pmd_populate()
|
D | dump.c | 249 static void walk_pte(struct pg_state *st, pmd_t *pmd, unsigned long start) in walk_pte() argument 251 pte_t *pte = pte_offset_kernel(pmd, 0); in walk_pte() 263 pmd_t *pmd = pmd_offset(pud, 0); in walk_pmd() local 267 for (i = 0; i < PTRS_PER_PMD; i++, pmd++) { in walk_pmd() 269 if (pmd_none(*pmd) || pmd_sect(*pmd)) { in walk_pmd() 270 note_page(st, addr, 3, pmd_val(*pmd)); in walk_pmd() 272 BUG_ON(pmd_bad(*pmd)); in walk_pmd() 273 walk_pte(st, pmd, addr); in walk_pmd()
|
D | hugetlbpage.c | 30 int pmd_huge(pmd_t pmd) in pmd_huge() argument 32 return pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT); in pmd_huge()
|
/linux-4.4.14/mm/ |
D | huge_memory.c | 699 pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma) in maybe_pmd_mkwrite() argument 702 pmd = pmd_mkwrite(pmd); in maybe_pmd_mkwrite() 703 return pmd; in maybe_pmd_mkwrite() 716 unsigned long address, pmd_t *pmd, in __do_huge_pmd_anonymous_page() argument 748 ptl = pmd_lock(mm, pmd); in __do_huge_pmd_anonymous_page() 749 if (unlikely(!pmd_none(*pmd))) { in __do_huge_pmd_anonymous_page() 776 pgtable_trans_huge_deposit(mm, pmd, pgtable); in __do_huge_pmd_anonymous_page() 777 set_pmd_at(mm, haddr, pmd, entry); in __do_huge_pmd_anonymous_page() 794 struct vm_area_struct *vma, unsigned long haddr, pmd_t *pmd, in set_huge_zero_page() argument 798 if (!pmd_none(*pmd)) in set_huge_zero_page() [all …]
|
D | pgtable-generic.c | 31 void pmd_clear_bad(pmd_t *pmd) in pmd_clear_bad() argument 33 pmd_ERROR(*pmd); in pmd_clear_bad() 34 pmd_clear(pmd); in pmd_clear_bad() 133 pmd_t pmd; in pmdp_huge_clear_flush() local 136 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); in pmdp_huge_clear_flush() 138 return pmd; in pmdp_huge_clear_flush() 146 pmd_t pmd = pmd_mksplitting(*pmdp); in pmdp_splitting_flush() local 148 set_pmd_at(vma->vm_mm, address, pmdp, pmd); in pmdp_splitting_flush() 208 pmd_t pmd; in pmdp_collapse_flush() local 212 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); in pmdp_collapse_flush() [all …]
|
D | memory.c | 392 static void free_pte_range(struct mmu_gather *tlb, pmd_t *pmd, in free_pte_range() argument 395 pgtable_t token = pmd_pgtable(*pmd); in free_pte_range() 396 pmd_clear(pmd); in free_pte_range() 405 pmd_t *pmd; in free_pmd_range() local 410 pmd = pmd_offset(pud, addr); in free_pmd_range() 413 if (pmd_none_or_clear_bad(pmd)) in free_pmd_range() 415 free_pte_range(tlb, pmd, addr); in free_pmd_range() 416 } while (pmd++, addr = next, addr != end); in free_pmd_range() 429 pmd = pmd_offset(pud, start); in free_pmd_range() 431 pmd_free_tlb(tlb, pmd, start); in free_pmd_range() [all …]
|
D | mprotect.c | 41 static pte_t *lock_pte_protection(struct vm_area_struct *vma, pmd_t *pmd, in lock_pte_protection() argument 49 return pte_offset_map_lock(vma->vm_mm, pmd, addr, ptl); in lock_pte_protection() 51 pmdl = pmd_lock(vma->vm_mm, pmd); in lock_pte_protection() 52 if (unlikely(pmd_trans_huge(*pmd) || pmd_none(*pmd))) { in lock_pte_protection() 57 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, ptl); in lock_pte_protection() 62 static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd, in change_pte_range() argument 71 pte = lock_pte_protection(vma, pmd, addr, prot_numa, &ptl); in change_pte_range() 140 pmd_t *pmd; in change_pmd_range() local 147 pmd = pmd_offset(pud, addr); in change_pmd_range() 152 if (!pmd_trans_huge(*pmd) && pmd_none_or_clear_bad(pmd)) in change_pmd_range() [all …]
|
D | gup.c | 62 unsigned long address, pmd_t *pmd, unsigned int flags) in follow_page_pte() argument 70 if (unlikely(pmd_bad(*pmd))) in follow_page_pte() 73 ptep = pte_offset_map_lock(mm, pmd, address, &ptl); in follow_page_pte() 90 migration_entry_wait(mm, pmd, address); in follow_page_pte() 183 pmd_t *pmd; in follow_page_mask() local 212 pmd = pmd_offset(pud, address); in follow_page_mask() 213 if (pmd_none(*pmd)) in follow_page_mask() 215 if (pmd_huge(*pmd) && vma->vm_flags & VM_HUGETLB) { in follow_page_mask() 216 page = follow_huge_pmd(mm, address, pmd, flags); in follow_page_mask() 221 if ((flags & FOLL_NUMA) && pmd_protnone(*pmd)) in follow_page_mask() [all …]
|
D | sparse-vmemmap.c | 101 pte_t * __meminit vmemmap_pte_populate(pmd_t *pmd, unsigned long addr, int node) in vmemmap_pte_populate() argument 103 pte_t *pte = pte_offset_kernel(pmd, addr); in vmemmap_pte_populate() 117 pmd_t *pmd = pmd_offset(pud, addr); in vmemmap_pmd_populate() local 118 if (pmd_none(*pmd)) { in vmemmap_pmd_populate() 122 pmd_populate_kernel(&init_mm, pmd, p); in vmemmap_pmd_populate() 124 return pmd; in vmemmap_pmd_populate() 157 pmd_t *pmd; in vmemmap_populate_basepages() local 167 pmd = vmemmap_pmd_populate(pud, addr, node); in vmemmap_populate_basepages() 168 if (!pmd) in vmemmap_populate_basepages() 170 pte = vmemmap_pte_populate(pmd, addr, node); in vmemmap_populate_basepages()
|
D | pagewalk.c | 6 static int walk_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, in walk_pte_range() argument 12 pte = pte_offset_map(pmd, addr); in walk_pte_range() 30 pmd_t *pmd; in walk_pmd_range() local 34 pmd = pmd_offset(pud, addr); in walk_pmd_range() 38 if (pmd_none(*pmd) || !walk->vma) { in walk_pmd_range() 50 err = walk->pmd_entry(pmd, addr, next, walk); in walk_pmd_range() 61 split_huge_page_pmd_mm(walk->mm, addr, pmd); in walk_pmd_range() 62 if (pmd_trans_unstable(pmd)) in walk_pmd_range() 64 err = walk_pte_range(pmd, addr, next, walk); in walk_pmd_range() 67 } while (pmd++, addr = next, addr != end); in walk_pmd_range()
|
D | migrate.c | 111 pmd_t *pmd; in remove_migration_pte() local 121 pmd = mm_find_pmd(mm, addr); in remove_migration_pte() 122 if (!pmd) in remove_migration_pte() 125 ptep = pte_offset_map(pmd, addr); in remove_migration_pte() 132 ptl = pte_lockptr(mm, pmd); in remove_migration_pte() 239 void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, in migration_entry_wait() argument 242 spinlock_t *ptl = pte_lockptr(mm, pmd); in migration_entry_wait() 243 pte_t *ptep = pte_offset_map(pmd, address); in migration_entry_wait() 1670 bool pmd_trans_migrating(pmd_t pmd) in pmd_trans_migrating() argument 1672 struct page *page = pmd_page(pmd); in pmd_trans_migrating() [all …]
|
D | mremap.c | 36 pmd_t *pmd; in get_old_pmd() local 46 pmd = pmd_offset(pud, addr); in get_old_pmd() 47 if (pmd_none(*pmd)) in get_old_pmd() 50 return pmd; in get_old_pmd() 58 pmd_t *pmd; in alloc_new_pmd() local 65 pmd = pmd_alloc(mm, pud, addr); in alloc_new_pmd() 66 if (!pmd) in alloc_new_pmd() 69 VM_BUG_ON(pmd_trans_huge(*pmd)); in alloc_new_pmd() 71 return pmd; in alloc_new_pmd()
|
D | page_idle.c | 59 pmd_t *pmd; in page_idle_clear_pte_refs_one() local 64 pmd = page_check_address_pmd(page, mm, addr, in page_idle_clear_pte_refs_one() 66 if (pmd) { in page_idle_clear_pte_refs_one() 67 referenced = pmdp_clear_young_notify(vma, addr, pmd); in page_idle_clear_pte_refs_one()
|
D | mincore.c | 111 static int mincore_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, in mincore_pte_range() argument 120 if (pmd_trans_huge_lock(pmd, vma, &ptl) == 1) { in mincore_pte_range() 126 if (pmd_trans_unstable(pmd)) { in mincore_pte_range() 131 ptep = pte_offset_map_lock(walk->mm, pmd, addr, &ptl); in mincore_pte_range()
|
/linux-4.4.14/mm/kasan/ |
D | kasan_init.c | 46 static void __init zero_pte_populate(pmd_t *pmd, unsigned long addr, in zero_pte_populate() argument 49 pte_t *pte = pte_offset_kernel(pmd, addr); in zero_pte_populate() 58 pte = pte_offset_kernel(pmd, addr); in zero_pte_populate() 65 pmd_t *pmd = pmd_offset(pud, addr); in zero_pmd_populate() local 72 pmd_populate_kernel(&init_mm, pmd, kasan_zero_pte); in zero_pmd_populate() 76 if (pmd_none(*pmd)) { in zero_pmd_populate() 77 pmd_populate_kernel(&init_mm, pmd, in zero_pmd_populate() 80 zero_pte_populate(pmd, addr, next); in zero_pmd_populate() 81 } while (pmd++, addr = next, addr != end); in zero_pmd_populate() 93 pmd_t *pmd; in zero_pud_populate() local [all …]
|
/linux-4.4.14/include/linux/ |
D | huge_mm.h | 6 unsigned long address, pmd_t *pmd, 13 unsigned long address, pmd_t *pmd, 16 unsigned long address, pmd_t *pmd, 20 pmd_t *pmd, 24 pmd_t *pmd, unsigned long addr); 25 extern int mincore_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, 33 extern int change_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd, 104 unsigned long address, pmd_t *pmd); 121 pmd_t *pmd); 131 extern int __pmd_trans_huge_lock(pmd_t *pmd, struct vm_area_struct *vma, [all …]
|
D | migrate.h | 69 extern bool pmd_trans_migrating(pmd_t pmd); 73 static inline bool pmd_trans_migrating(pmd_t pmd) in pmd_trans_migrating() argument 87 pmd_t *pmd, pmd_t entry, 93 pmd_t *pmd, pmd_t entry, in migrate_misplaced_transhuge_page() argument
|
D | mm.h | 1088 pmd_t pmd); 1118 int (*pmd_entry)(pmd_t *pmd, unsigned long addr, 1482 pmd_t *pmd, unsigned long address); 1483 int __pte_alloc_kernel(pmd_t *pmd, unsigned long address); 1533 static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd) in pte_lockptr() argument 1535 return ptlock_ptr(pmd_page(*pmd)); in pte_lockptr() 1565 static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd) in pte_lockptr() argument 1594 #define pte_offset_map_lock(mm, pmd, address, ptlp) \ argument 1596 spinlock_t *__ptl = pte_lockptr(mm, pmd); \ 1597 pte_t *__pte = pte_offset_map(pmd, address); \ [all …]
|
/linux-4.4.14/arch/sh/mm/ |
D | hugetlbpage.c | 29 pmd_t *pmd; in huge_pte_alloc() local 36 pmd = pmd_alloc(mm, pud, addr); in huge_pte_alloc() 37 if (pmd) in huge_pte_alloc() 38 pte = pte_alloc_map(mm, NULL, pmd, addr); in huge_pte_alloc() 49 pmd_t *pmd; in huge_pte_offset() local 56 pmd = pmd_offset(pud, addr); in huge_pte_offset() 57 if (pmd) in huge_pte_offset() 58 pte = pte_offset_map(pmd, addr); in huge_pte_offset() 65 int pmd_huge(pmd_t pmd) in pmd_huge() argument
|
D | init.c | 49 pmd_t *pmd; in __get_pte_phys() local 63 pmd = pmd_alloc(NULL, pud, addr); in __get_pte_phys() 64 if (unlikely(!pmd)) { in __get_pte_phys() 65 pmd_ERROR(*pmd); in __get_pte_phys() 69 return pte_offset_kernel(pmd, addr); in __get_pte_phys() 129 pmd_t *pmd; in one_md_table_init() local 131 pmd = alloc_bootmem_pages(PAGE_SIZE); in one_md_table_init() 132 pud_populate(&init_mm, pud, pmd); in one_md_table_init() 133 BUG_ON(pmd != pmd_offset(pud, 0)); in one_md_table_init() 139 static pte_t * __init one_page_table_init(pmd_t *pmd) in one_page_table_init() argument [all …]
|
D | fault.c | 78 pmd_t *pmd; in show_pte() local 102 pmd = pmd_offset(pud, addr); in show_pte() 104 printk(", *pmd=%0*Lx", (u32)(sizeof(*pmd) * 2), in show_pte() 105 (u64)pmd_val(*pmd)); in show_pte() 107 if (pmd_none(*pmd)) in show_pte() 110 if (pmd_bad(*pmd)) { in show_pte() 116 if (PageHighMem(pfn_to_page(pmd_val(*pmd) >> PAGE_SHIFT))) in show_pte() 119 pte = pte_offset_kernel(pmd, addr); in show_pte() 132 pmd_t *pmd, *pmd_k; in vmalloc_sync_one() local 148 pmd = pmd_offset(pud, address); in vmalloc_sync_one() [all …]
|
D | tlbex_64.c | 48 pmd_t *pmd; in handle_tlbmiss() local 65 pmd = pmd_offset(pud, address); in handle_tlbmiss() 66 if (pmd_none(*pmd) || !pmd_present(*pmd)) in handle_tlbmiss() 69 pte = pte_offset_kernel(pmd, address); in handle_tlbmiss()
|
D | pgtable.c | 43 void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument 45 set_pud(pud, __pud((unsigned long)pmd)); in pud_populate() 53 void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 55 kmem_cache_free(pmd_cachep, pmd); in pmd_free()
|
D | tlbex_32.c | 27 pmd_t *pmd; in handle_tlbmiss() local 48 pmd = pmd_offset(pud, address); in handle_tlbmiss() 49 if (pmd_none_or_clear_bad(pmd)) in handle_tlbmiss() 51 pte = pte_offset_kernel(pmd, address); in handle_tlbmiss()
|
D | gup.c | 74 static noinline int gup_pte_range(pmd_t pmd, unsigned long addr, in gup_pte_range() argument 96 ptep = pte_offset_map(&pmd, addr); in gup_pte_range() 127 pmd_t pmd = *pmdp; in gup_pmd_range() local 130 if (pmd_none(pmd)) in gup_pmd_range() 132 if (!gup_pte_range(pmd, addr, next, write, pages, nr)) in gup_pmd_range()
|
/linux-4.4.14/arch/m68k/include/asm/ |
D | motorola_pgalloc.h | 74 static inline int pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 76 return free_pointer_table(pmd); in pmd_free() 79 static inline int __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() argument 82 return free_pointer_table(pmd); in __pmd_free_tlb() 97 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument 99 pmd_set(pmd, pte); in pmd_populate_kernel() 102 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t page) in pmd_populate() argument 104 pmd_set(pmd, page_address(page)); in pmd_populate() 106 #define pmd_pgtable(pmd) pmd_page(pmd) argument 108 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmd) in pgd_populate() argument [all …]
|
D | sun3_pgtable.h | 119 #define __pmd_page(pmd) \ argument 120 ((unsigned long) __va (pmd_val (pmd) & PAGE_MASK)) 134 #define pmd_page(pmd) virt_to_page(__pmd_page(pmd)) argument 137 static inline int pmd_none2 (pmd_t *pmd) { return !pmd_val (*pmd); } in pmd_none2() argument 138 #define pmd_none(pmd) pmd_none2(&(pmd)) argument 140 static inline int pmd_bad2 (pmd_t *pmd) { return 0; } in pmd_bad2() argument 141 #define pmd_bad(pmd) pmd_bad2(&(pmd)) argument 142 static inline int pmd_present2 (pmd_t *pmd) { return pmd_val (*pmd) & SUN3_PMD_VALID; } in pmd_present2() argument 144 #define pmd_present(pmd) (!pmd_none2(&(pmd))) argument 204 #define pte_offset_kernel(pmd, address) ((pte_t *) __pmd_page(*pmd) + pte_index(address)) argument [all …]
|
D | mcf_pgalloc.h | 36 #define pmd_populate(mm, pmd, page) (pmd_val(*pmd) = \ argument 39 #define pmd_populate_kernel(mm, pmd, pte) (pmd_val(*pmd) = (unsigned long)(pte)) argument 41 #define pmd_pgtable(pmd) pmd_page(pmd) argument 49 #define __pmd_free_tlb(tlb, pmd, address) do { } while (0) argument 85 #define pmd_free(mm, pmd) BUG() argument 104 #define pgd_populate(mm, pmd, pte) BUG() argument
|
D | sun3_pgalloc.h | 66 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument 68 pmd_val(*pmd) = __pa((unsigned long)pte); in pmd_populate_kernel() 71 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t page) in pmd_populate() argument 73 pmd_val(*pmd) = __pa((unsigned long)page_address(page)); in pmd_populate() 75 #define pmd_pgtable(pmd) pmd_page(pmd) argument 99 #define pgd_populate(mm, pmd, pte) BUG() argument
|
D | mcf_pgtable.h | 172 #define __pmd_page(pmd) ((unsigned long) (pmd_val(pmd))) argument 193 static inline int pmd_none2(pmd_t *pmd) { return !pmd_val(*pmd); } in pmd_none2() argument 194 #define pmd_none(pmd) pmd_none2(&(pmd)) argument 195 static inline int pmd_bad2(pmd_t *pmd) { return 0; } in pmd_bad2() argument 196 #define pmd_bad(pmd) pmd_bad2(&(pmd)) argument 197 #define pmd_present(pmd) (!pmd_none2(&(pmd))) argument 398 #define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT)) argument
|
D | motorola_pgtable.h | 111 unsigned long *ptr = pmdp->pmd; in pmd_set() 125 #define __pmd_page(pmd) ((unsigned long)__va(pmd_val(pmd) & _TABLE_MASK)) argument 137 #define pmd_none(pmd) (!pmd_val(pmd)) argument 138 #define pmd_bad(pmd) ((pmd_val(pmd) & _DESCTYPE_MASK) != _PAGE_TABLE) argument 139 #define pmd_present(pmd) (pmd_val(pmd) & _PAGE_TABLE) argument 141 unsigned long *__ptr = pmdp->pmd; \ 146 #define pmd_page(pmd) virt_to_page(__va(pmd_val(pmd))) argument
|
D | mmu_context.h | 102 pmd_t *pmd; in load_ksp_mmu() local 129 pmd = pmd_offset(pgd, mmuar); in load_ksp_mmu() 130 if (pmd_none(*pmd)) in load_ksp_mmu() 133 pte = (mmuar >= PAGE_OFFSET) ? pte_offset_kernel(pmd, mmuar) in load_ksp_mmu() 134 : pte_offset_map(pmd, mmuar); in load_ksp_mmu()
|
D | page.h | 24 typedef struct { unsigned long pmd[16]; } pmd_t; member 30 #define pmd_val(x) ((&x)->pmd[0])
|
/linux-4.4.14/arch/alpha/include/asm/ |
D | pgalloc.h | 14 pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t pte) in pmd_populate() argument 16 pmd_set(pmd, (pte_t *)(page_to_pa(pte) + PAGE_OFFSET)); in pmd_populate() 18 #define pmd_pgtable(pmd) pmd_page(pmd) argument 21 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument 23 pmd_set(pmd, pte); in pmd_populate_kernel() 27 pgd_populate(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmd) in pgd_populate() argument 29 pgd_set(pgd, pmd); in pgd_populate() 48 pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 50 free_page((unsigned long)pmd); in pmd_free()
|
D | pgtable.h | 233 pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument 235 return ((pmd_val(pmd) & _PFN_MASK) >> (32-PAGE_SHIFT)) + PAGE_OFFSET; in pmd_page_vaddr() 239 #define pmd_page(pmd) (mem_map + ((pmd_val(pmd) & _PFN_MASK) >> 32)) argument 253 extern inline int pmd_none(pmd_t pmd) { return !pmd_val(pmd); } in pmd_none() argument 254 extern inline int pmd_bad(pmd_t pmd) { return (pmd_val(pmd) & ~_PFN_MASK) != _PAGE_TABLE; } in pmd_bad() argument 255 extern inline int pmd_present(pmd_t pmd) { return pmd_val(pmd) & _PAGE_VALID; } in pmd_present() argument
|
D | tlb.h | 13 #define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd) argument
|
/linux-4.4.14/arch/x86/power/ |
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-4.4.14/arch/unicore32/kernel/ |
D | hibernate.c | 51 static pte_t *resume_one_page_table_init(pmd_t *pmd) in resume_one_page_table_init() argument 53 if (pmd_none(*pmd)) { in resume_one_page_table_init() 58 set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_KERNEL_TABLE)); in resume_one_page_table_init() 60 BUG_ON(page_table != pte_offset_kernel(pmd, 0)); in resume_one_page_table_init() 65 return pte_offset_kernel(pmd, 0); in resume_one_page_table_init() 77 pmd_t *pmd; in resume_physical_mapping_init() local 86 pmd = resume_one_md_table_init(pgd); in resume_physical_mapping_init() 87 if (!pmd) in resume_physical_mapping_init() 93 for (pmd_idx = 0; pmd_idx < PTRS_PER_PMD; pmd++, pmd_idx++) { in resume_physical_mapping_init() 102 pte = resume_one_page_table_init(pmd); in resume_physical_mapping_init()
|
/linux-4.4.14/arch/um/kernel/ |
D | mem.c | 66 static void __init one_page_table_init(pmd_t *pmd) in one_page_table_init() argument 68 if (pmd_none(*pmd)) { in one_page_table_init() 70 set_pmd(pmd, __pmd(_KERNPG_TABLE + in one_page_table_init() 72 if (pte != pte_offset_kernel(pmd, 0)) in one_page_table_init() 92 pmd_t *pmd; in fixrange_init() local 105 pmd = pmd_offset(pud, vaddr); in fixrange_init() 106 for (; (j < PTRS_PER_PMD) && (vaddr < end); pmd++, j++) { in fixrange_init() 107 one_page_table_init(pmd); in fixrange_init() 120 pmd_t *pmd; in fixaddr_user_init() local 136 pmd = pmd_offset(pud, vaddr); in fixaddr_user_init() [all …]
|
D | tlb.c | 193 static inline int update_pte_range(pmd_t *pmd, unsigned long addr, in update_pte_range() argument 200 pte = pte_offset_kernel(pmd, addr); in update_pte_range() 233 pmd_t *pmd; in update_pmd_range() local 237 pmd = pmd_offset(pud, addr); in update_pmd_range() 240 if (!pmd_present(*pmd)) { in update_pmd_range() 241 if (hvc->force || pmd_newpage(*pmd)) { in update_pmd_range() 243 pmd_mkuptodate(*pmd); in update_pmd_range() 246 else ret = update_pte_range(pmd, addr, next, hvc); in update_pmd_range() 247 } while (pmd++, addr = next, ((addr < end) && !ret)); in update_pmd_range() 313 pmd_t *pmd; in flush_tlb_kernel_range_common() local [all …]
|
/linux-4.4.14/include/asm-generic/ |
D | pgtable.h | 69 pmd_t pmd = *pmdp; in pmdp_test_and_clear_young() local 71 if (!pmd_young(pmd)) in pmdp_test_and_clear_young() 74 set_pmd_at(vma->vm_mm, address, pmdp, pmd_mkold(pmd)); in pmdp_test_and_clear_young() 128 pmd_t pmd = *pmdp; in pmdp_huge_get_and_clear() local 130 return pmd; in pmdp_huge_get_and_clear() 382 static inline int pmd_none_or_clear_bad(pmd_t *pmd) in pmd_none_or_clear_bad() argument 384 if (pmd_none(*pmd)) in pmd_none_or_clear_bad() 386 if (unlikely(pmd_bad(*pmd))) { in pmd_none_or_clear_bad() 387 pmd_clear_bad(pmd); in pmd_none_or_clear_bad() 493 static inline int pmd_soft_dirty(pmd_t pmd) in pmd_soft_dirty() argument [all …]
|
D | pgtable-nopmd.h | 33 #define pmd_ERROR(pmd) (pud_ERROR((pmd).pud)) argument 35 #define pud_populate(mm, pmd, pte) do { } while (0) argument 59 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument
|
D | 4level-fixup.h | 26 #define pud_populate(mm, pud, pmd) pgd_populate(mm, pud, pmd) argument
|
/linux-4.4.14/arch/sparc/include/asm/ |
D | pgtable_64.h | 337 static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) in pmd_modify() argument 339 pte_t pte = __pte(pmd_val(pmd)); in pmd_modify() 407 static inline pmd_t pmd_mkhuge(pmd_t pmd) in pmd_mkhuge() argument 409 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkhuge() 657 static inline unsigned long pmd_large(pmd_t pmd) in pmd_large() argument 659 pte_t pte = __pte(pmd_val(pmd)); in pmd_large() 664 static inline unsigned long pmd_pfn(pmd_t pmd) in pmd_pfn() argument 666 pte_t pte = __pte(pmd_val(pmd)); in pmd_pfn() 672 static inline unsigned long pmd_dirty(pmd_t pmd) in pmd_dirty() argument 674 pte_t pte = __pte(pmd_val(pmd)); in pmd_dirty() [all …]
|
D | pgalloc_32.h | 46 static inline void free_pmd_fast(pmd_t * pmd) in free_pmd_fast() argument 48 srmmu_free_nocache(pmd, SRMMU_PMD_TABLE_SIZE); in free_pmd_fast() 51 #define pmd_free(mm, pmd) free_pmd_fast(pmd) argument 52 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd) argument 55 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
D | pgalloc_64.h | 35 static inline void __pud_populate(pud_t *pud, pmd_t *pmd) in __pud_populate() argument 37 pud_set(pud, pmd); in __pud_populate() 59 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 61 kmem_cache_free(pgtable_cache, pmd); in pmd_free() 114 #define __pmd_free_tlb(tlb, pmd, addr) \ argument 115 pgtable_free_tlb(tlb, pmd, false)
|
D | pgtable_32.h | 127 static inline struct page *pmd_page(pmd_t pmd) in pmd_page() argument 129 if (srmmu_device_memory(pmd_val(pmd))) in pmd_page() 131 return pfn_to_page((pmd_val(pmd) & SRMMU_PTD_PMASK) >> (PAGE_SHIFT-4)); in pmd_page() 164 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument 166 return (pmd_val(pmd) & SRMMU_ET_MASK) != SRMMU_ET_PTD; in pmd_bad() 169 static inline int pmd_present(pmd_t pmd) in pmd_present() argument 171 return ((pmd_val(pmd) & SRMMU_ET_MASK) == SRMMU_ET_PTD); in pmd_present() 174 static inline int pmd_none(pmd_t pmd) in pmd_none() argument 176 return !pmd_val(pmd); in pmd_none()
|
/linux-4.4.14/arch/um/include/asm/ |
D | pgalloc.h | 13 #define pmd_populate_kernel(mm, pmd, pte) \ argument 14 set_pmd(pmd, __pmd(_PAGE_TABLE + (unsigned long) __pa(pte))) 16 #define pmd_populate(mm, pmd, pte) \ argument 17 set_pmd(pmd, __pmd(_PAGE_TABLE + \ 20 #define pmd_pgtable(pmd) pmd_page(pmd) argument 50 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 52 free_page((unsigned long)pmd); in pmd_free()
|
D | page.h | 37 typedef struct { unsigned long pmd; } pmd_t; member 52 #define pmd_val(x) ((x).pmd) 64 typedef struct { unsigned long pmd; } pmd_t; member 65 #define pmd_val(x) ((x).pmd)
|
D | pgtable.h | 111 #define pmd_page(pmd) phys_to_page(pmd_val(pmd) & PAGE_MASK) argument 317 #define pmd_page_vaddr(pmd) ((unsigned long) __va(pmd_val(pmd) & PAGE_MASK)) argument 320 #define pmd_page_vaddr(pmd) \ argument 321 ((unsigned long) __va(pmd_val(pmd) & PAGE_MASK))
|
/linux-4.4.14/arch/unicore32/mm/ |
D | pgd.c | 81 pmd_t *pmd; in free_pgd_slow() local 88 pmd = pmd_off(pgd, 0); in free_pgd_slow() 89 if (pmd_none(*pmd)) in free_pgd_slow() 91 if (pmd_bad(*pmd)) { in free_pgd_slow() 92 pmd_ERROR(*pmd); in free_pgd_slow() 93 pmd_clear(pmd); in free_pgd_slow() 97 pte = pmd_pgtable(*pmd); in free_pgd_slow() 98 pmd_clear(pmd); in free_pgd_slow() 101 pmd_free(mm, pmd); in free_pgd_slow()
|
D | mmu.c | 152 static pte_t * __init early_pte_alloc(pmd_t *pmd, unsigned long addr, in early_pte_alloc() argument 155 if (pmd_none(*pmd)) { in early_pte_alloc() 157 __pmd_populate(pmd, __pa(pte) | prot); in early_pte_alloc() 159 BUG_ON(pmd_bad(*pmd)); in early_pte_alloc() 160 return pte_offset_kernel(pmd, addr); in early_pte_alloc() 163 static void __init alloc_init_pte(pmd_t *pmd, unsigned long addr, in alloc_init_pte() argument 167 pte_t *pte = early_pte_alloc(pmd, addr, type->prot_l1); in alloc_init_pte() 178 pmd_t *pmd = pmd_offset((pud_t *)pgd, addr); in alloc_init_section() local 185 pmd_t *p = pmd; in alloc_init_section() 188 set_pmd(pmd, __pmd(phys | type->prot_sect)); in alloc_init_section() [all …]
|
D | ioremap.c | 74 pmd_t pmd, *pmdp = pmd_offset((pud_t *)pgd, addr); in unmap_area_sections() local 76 pmd = *pmdp; in unmap_area_sections() 77 if (!pmd_none(pmd)) { in unmap_area_sections() 90 if ((pmd_val(pmd) & PMD_TYPE_MASK) == PMD_TYPE_TABLE) in unmap_area_sections() 91 pte_free_kernel(&init_mm, pmd_page_vaddr(pmd)); in unmap_area_sections() 116 pmd_t *pmd = pmd_offset((pud_t *)pgd, addr); in remap_area_sections() local 118 set_pmd(pmd, __pmd(__pfn_to_phys(pfn) | type->prot_sect)); in remap_area_sections() 120 flush_pmd_entry(pmd); in remap_area_sections()
|
D | fault.c | 53 pmd_t *pmd; in show_pte() local 64 pmd = pmd_offset((pud_t *) pgd, addr); in show_pte() 66 printk(", *pmd=%08lx", pmd_val(*pmd)); in show_pte() 68 if (pmd_none(*pmd)) in show_pte() 71 if (pmd_bad(*pmd)) { in show_pte() 77 if (PageHighMem(pfn_to_page(pmd_val(*pmd) >> PAGE_SHIFT))) in show_pte() 80 pte = pte_offset_map(pmd, addr); in show_pte() 347 pmd_t *pmd, *pmd_k; in do_ifault() local 364 pmd = pmd_offset((pud_t *) pgd, addr); in do_ifault() 369 set_pmd(pmd, *pmd_k); in do_ifault() [all …]
|
/linux-4.4.14/arch/sh/include/asm/ |
D | pgalloc.h | 13 extern void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd); 15 extern void pmd_free(struct mm_struct *mm, pmd_t *pmd); 18 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() argument 21 set_pmd(pmd, __pmd((unsigned long)pte)); in pmd_populate_kernel() 24 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 27 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); in pmd_populate() 29 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
D | pgtable-3level.h | 30 typedef struct { unsigned long long pmd; } pmd_t; member 31 #define pmd_val(x) ((x).pmd)
|
/linux-4.4.14/arch/powerpc/mm/ |
D | tlb_hash32.c | 93 pmd_t *pmd; in flush_range() local 106 pmd = pmd_offset(pud_offset(pgd_offset(mm, start), start), start); in flush_range() 111 if (!pmd_none(*pmd)) { in flush_range() 113 flush_hash_pages(ctx, start, pmd_val(*pmd), count); in flush_range() 118 ++pmd; in flush_range() 157 pmd_t *pmd; in flush_tlb_page() local 164 pmd = pmd_offset(pud_offset(pgd_offset(mm, vmaddr), vmaddr), vmaddr); in flush_tlb_page() 165 if (!pmd_none(*pmd)) in flush_tlb_page() 166 flush_hash_pages(mm->context.id, vmaddr, pmd_val(*pmd), 1); in flush_tlb_page()
|
D | pgtable_64.c | 359 struct page *pmd_page(pmd_t pmd) in pmd_page() argument 361 if (pmd_trans_huge(pmd) || pmd_huge(pmd)) in pmd_page() 362 return pfn_to_page(pmd_pfn(pmd)); in pmd_page() 363 return virt_to_page(pmd_page_vaddr(pmd)); in pmd_page() 550 pmd_t pmd; in pmdp_collapse_flush() local 555 pmd = *pmdp; in pmdp_collapse_flush() 582 flush_tlb_pmd_range(vma->vm_mm, &pmd, address); in pmdp_collapse_flush() 583 return pmd; in pmdp_collapse_flush() 703 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument 709 WARN_ON(!pmd_trans_huge(pmd)); in set_pmd_at() [all …]
|
D | hugetlbpage.c | 69 int pmd_huge(pmd_t pmd) in pmd_huge() argument 74 return ((pmd_val(pmd) & 0x3) != 0x0); in pmd_huge() 112 int pmd_huge(pmd_t pmd) in pmd_huge() argument 555 pmd_t *pmd; in hugetlb_free_pmd_range() local 561 pmd = pmd_offset(pud, addr); in hugetlb_free_pmd_range() 563 if (!is_hugepd(__hugepd(pmd_val(*pmd)))) { in hugetlb_free_pmd_range() 568 WARN_ON(!pmd_none_or_clear_bad(pmd)); in hugetlb_free_pmd_range() 578 next = addr + (1 << hugepd_shift(*(hugepd_t *)pmd)); in hugetlb_free_pmd_range() 580 free_hugepd_range(tlb, (hugepd_t *)pmd, PMD_SHIFT, in hugetlb_free_pmd_range() 595 pmd = pmd_offset(pud, start); in hugetlb_free_pmd_range() [all …]
|
D | pgtable.c | 220 pmd_t *pmd; in assert_pte_locked() local 228 pmd = pmd_offset(pud, addr); in assert_pte_locked() 235 if (pmd_none(*pmd)) in assert_pte_locked() 237 BUG_ON(!pmd_present(*pmd)); in assert_pte_locked() 238 assert_spin_locked(pte_lockptr(mm, pmd)); in assert_pte_locked()
|
D | subpage-prot.c | 65 pmd_t *pmd; in hpte_flush_range() local 75 pmd = pmd_offset(pud, addr); in hpte_flush_range() 76 if (pmd_none(*pmd)) in hpte_flush_range() 78 pte = pte_offset_map_lock(mm, pmd, addr, &ptl); in hpte_flush_range() 134 static int subpage_walk_pmd_entry(pmd_t *pmd, unsigned long addr, in subpage_walk_pmd_entry() argument 138 split_huge_page_pmd(vma, addr, pmd); in subpage_walk_pmd_entry()
|
D | ppc_mmu_32.c | 168 pmd_t *pmd; in hash_preload() local 172 pmd = pmd_offset(pud_offset(pgd_offset(mm, ea), ea), ea); in hash_preload() 173 if (!pmd_none(*pmd)) in hash_preload() 174 add_hash_page(mm->context.id, ea, pmd_val(*pmd)); in hash_preload()
|
/linux-4.4.14/arch/nios2/include/asm/ |
D | pgtable.h | 186 static inline int pmd_present(pmd_t pmd) in pmd_present() argument 188 return (pmd_val(pmd) != (unsigned long) invalid_pte_table) in pmd_present() 189 && (pmd_val(pmd) != 0UL); in pmd_present() 218 static inline int pmd_none(pmd_t pmd) in pmd_none() argument 220 return (pmd_val(pmd) == in pmd_none() 221 (unsigned long) invalid_pte_table) || (pmd_val(pmd) == 0UL); in pmd_none() 224 #define pmd_bad(pmd) (pmd_val(pmd) & ~PAGE_MASK) argument 249 #define pmd_phys(pmd) virt_to_phys((void *)pmd_val(pmd)) argument 250 #define pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT)) argument 251 #define pmd_page_vaddr(pmd) pmd_val(pmd) argument
|
D | pgalloc.h | 15 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() argument 18 set_pmd(pmd, __pmd((unsigned long)pte)); in pmd_populate_kernel() 21 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 24 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); in pmd_populate() 26 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
/linux-4.4.14/arch/mn10300/include/asm/ |
D | pgalloc.h | 22 #define pmd_populate_kernel(mm, pmd, pte) \ argument 23 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE)) 26 void pmd_populate(struct mm_struct *mm, pmd_t *pmd, struct page *pte) in pmd_populate() argument 28 set_pmd(pmd, __pmd((page_to_pfn(pte) << PAGE_SHIFT) | _PAGE_TABLE)); in pmd_populate() 30 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
/linux-4.4.14/arch/sparc/mm/ |
D | gup.c | 20 static noinline int gup_pte_range(pmd_t pmd, unsigned long addr, in gup_pte_range() argument 37 ptep = pte_offset_kernel(&pmd, addr); in gup_pte_range() 69 static int gup_huge_pmd(pmd_t *pmdp, pmd_t pmd, unsigned long addr, in gup_huge_pmd() argument 76 if (!(pmd_val(pmd) & _PAGE_VALID)) in gup_huge_pmd() 79 if (write && !pmd_write(pmd)) in gup_huge_pmd() 83 head = pmd_page(pmd); in gup_huge_pmd() 99 if (unlikely(pmd_val(pmd) != pmd_val(*pmdp))) { in gup_huge_pmd() 126 pmd_t pmd = *pmdp; in gup_pmd_range() local 129 if (pmd_none(pmd) || pmd_trans_splitting(pmd)) in gup_pmd_range() 131 if (unlikely(pmd_large(pmd))) { in gup_pmd_range() [all …]
|
D | hugetlbpage.c | 134 pmd_t *pmd; in huge_pte_alloc() local 147 pmd = pmd_alloc(mm, pud, addr); in huge_pte_alloc() 148 if (pmd) in huge_pte_alloc() 149 pte = pte_alloc_map(mm, NULL, pmd, addr); in huge_pte_alloc() 158 pmd_t *pmd; in huge_pte_offset() local 167 pmd = pmd_offset(pud, addr); in huge_pte_offset() 168 if (!pmd_none(*pmd)) in huge_pte_offset() 169 pte = pte_offset_map(pmd, addr); in huge_pte_offset() 236 int pmd_huge(pmd_t pmd) in pmd_huge() argument
|
D | leon_mm.c | 39 unsigned int pgd, pmd, ped; in leon_swprobe() local 92 pmd = LEON_BYPASS_LOAD_PA(ptr); in leon_swprobe() 93 if (((pmd & SRMMU_ET_MASK) == SRMMU_ET_PTE)) { in leon_swprobe() 97 pte = pmd; in leon_swprobe() 98 paddrbase = pmd & _SRMMU_PTE_PMASK_LEON; in leon_swprobe() 101 if (((pmd & SRMMU_ET_MASK) != SRMMU_ET_PTD)) { in leon_swprobe() 108 printk(KERN_INFO "swprobe: --- pmd (%x) ---\n", pmd); in leon_swprobe() 110 ptr = (pmd & SRMMU_PTD_PMASK) << 4; in leon_swprobe()
|
D | tlb.c | 147 pmd_t pmd) in tlb_batch_pmd_scan() argument 152 pte = pte_offset_map(&pmd, vaddr); in tlb_batch_pmd_scan() 167 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument 171 *pmdp = pmd; in set_pmd_at() 176 if ((pmd_val(pmd) ^ pmd_val(orig)) & _PAGE_PMD_HUGE) { in set_pmd_at() 177 if (pmd_val(pmd) & _PAGE_PMD_HUGE) in set_pmd_at()
|
/linux-4.4.14/arch/m32r/include/asm/ |
D | pgalloc.h | 8 #define pmd_populate_kernel(mm, pmd, pte) \ argument 9 set_pmd(pmd, __pmd(_PAGE_TABLE + __pa(pte))) 11 static __inline__ void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 14 set_pmd(pmd, __pmd(_PAGE_TABLE + page_to_phys(pte))); in pmd_populate() 16 #define pmd_pgtable(pmd) pmd_page(pmd) argument 77 #define pgd_populate(mm, pmd, pte) BUG() argument
|
D | mmzone.h | 18 #define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT)) argument
|
/linux-4.4.14/arch/ia64/include/asm/ |
D | pgalloc.h | 55 pud_populate(struct mm_struct *mm, pud_t * pud_entry, pmd_t * pmd) in pud_populate() argument 57 pud_val(*pud_entry) = __pa(pmd); in pud_populate() 65 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument 67 quicklist_free(0, NULL, pmd); in pmd_free() 70 #define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd) argument 77 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
D | pgtable.h | 270 #define pmd_none(pmd) (!pmd_val(pmd)) argument 271 #define pmd_bad(pmd) (!ia64_phys_addr_valid(pmd_val(pmd))) argument 272 #define pmd_present(pmd) (pmd_val(pmd) != 0UL) argument 274 #define pmd_page_vaddr(pmd) ((unsigned long) __va(pmd_val(pmd) & _PFN_MASK)) argument 275 #define pmd_page(pmd) virt_to_page((pmd_val(pmd) + PAGE_OFFSET)) argument
|
/linux-4.4.14/arch/x86/kernel/ |
D | machine_kexec_32.c | 103 pgd_t *pgd, pmd_t *pmd, pte_t *pte, in machine_kexec_page_table_set_one() argument 111 set_pgd(pgd, __pgd(__pa(pmd) | _PAGE_PRESENT)); in machine_kexec_page_table_set_one() 114 pmd = pmd_offset(pud, vaddr); in machine_kexec_page_table_set_one() 115 if (!(pmd_val(*pmd) & _PAGE_PRESENT)) in machine_kexec_page_table_set_one() 116 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE)); in machine_kexec_page_table_set_one() 117 pte = pte_offset_kernel(pmd, vaddr); in machine_kexec_page_table_set_one() 124 pmd_t *pmd = NULL; in machine_kexec_prepare_page_tables() local 128 pmd = image->arch.pmd0; in machine_kexec_prepare_page_tables() 131 image->arch.pgd, pmd, image->arch.pte0, in machine_kexec_prepare_page_tables() 134 pmd = image->arch.pmd1; in machine_kexec_prepare_page_tables() [all …]
|
D | espfix_64.c | 142 pmd_t pmd, *pmd_p; in init_espfix_ap() local 183 pmd = *pmd_p; in init_espfix_ap() 184 if (!pmd_present(pmd)) { in init_espfix_ap() 188 pmd = __pmd(__pa(pte_p) | (PGTABLE_PROT & ptemask)); in init_espfix_ap() 191 set_pmd(&pmd_p[n], pmd); in init_espfix_ap() 194 pte_p = pte_offset_kernel(&pmd, addr); in init_espfix_ap()
|
D | machine_kexec_64.c | 40 free_page((unsigned long)image->arch.pmd); in free_transition_pgtable() 47 pmd_t *pmd; in init_transition_pgtable() local 64 pmd = (pmd_t *)get_zeroed_page(GFP_KERNEL); in init_transition_pgtable() 65 if (!pmd) in init_transition_pgtable() 67 image->arch.pmd = pmd; in init_transition_pgtable() 68 set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE)); in init_transition_pgtable() 70 pmd = pmd_offset(pud, vaddr); in init_transition_pgtable() 71 if (!pmd_present(*pmd)) { in init_transition_pgtable() 76 set_pmd(pmd, __pmd(__pa(pte) | _KERNPG_TABLE)); in init_transition_pgtable() 78 pte = pte_offset_kernel(pmd, vaddr); in init_transition_pgtable()
|
D | head64.c | 60 pmdval_t pmd, *pmd_p; in early_make_pgtable() local 104 pmd = (physaddr & PMD_MASK) + early_pmd_flags; in early_make_pgtable() 105 pmd_p[pmd_index(address)] = pmd; in early_make_pgtable()
|
/linux-4.4.14/arch/mips/mm/ |
D | pgtable-64.c | 72 pmd_t pmd = pmd_mksplitting(*pmdp); in pmdp_splitting_flush() local 73 set_pmd_at(vma->vm_mm, address, pmdp, pmd); in pmdp_splitting_flush() 81 pmd_t pmd; in mk_pmd() local 83 pmd_val(pmd) = (page_to_pfn(page) << _PFN_SHIFT) | pgprot_val(prot); in mk_pmd() 85 return pmd; in mk_pmd() 89 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument 91 *pmdp = pmd; in set_pmd_at()
|
D | hugetlbpage.c | 43 pmd_t *pmd = NULL; in huge_pte_offset() local 49 pmd = pmd_offset(pud, addr); in huge_pte_offset() 51 return (pte_t *) pmd; in huge_pte_offset() 66 int pmd_huge(pmd_t pmd) in pmd_huge() argument 68 return (pmd_val(pmd) & _PAGE_HUGE) != 0; in pmd_huge()
|
D | gup.c | 37 static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end, in gup_pte_range() argument 40 pte_t *ptep = pte_offset_map(&pmd, addr); in gup_pte_range() 71 static int gup_huge_pmd(pmd_t pmd, unsigned long addr, unsigned long end, in gup_huge_pmd() argument 74 pte_t pte = *(pte_t *)&pmd; in gup_huge_pmd() 109 pmd_t pmd = *pmdp; in gup_pmd_range() local 123 if (pmd_none(pmd) || pmd_trans_splitting(pmd)) in gup_pmd_range() 125 if (unlikely(pmd_huge(pmd))) { in gup_pmd_range() 126 if (!gup_huge_pmd(pmd, addr, next, write, pages,nr)) in gup_pmd_range() 129 if (!gup_pte_range(pmd, addr, next, write, pages,nr)) in gup_pmd_range()
|
D | ioremap.c | 45 static inline int remap_area_pmd(pmd_t * pmd, unsigned long address, in remap_area_pmd() argument 57 pte_t * pte = pte_alloc_kernel(pmd, address); in remap_area_pmd() 62 pmd++; in remap_area_pmd() 80 pmd_t *pmd; in remap_area_pages() local 86 pmd = pmd_alloc(&init_mm, pud, address); in remap_area_pages() 87 if (!pmd) in remap_area_pages() 89 if (remap_area_pmd(pmd, address, end - address, in remap_area_pages()
|
D | pgtable-32.c | 40 pmd_t *pmd; in pagetable_init() local 66 pmd = pmd_offset(pud, vaddr); in pagetable_init() 67 pte = pte_offset_kernel(pmd, vaddr); in pagetable_init()
|
/linux-4.4.14/arch/xtensa/include/asm/ |
D | pgtable.h | 238 #define pmd_page_vaddr(pmd) ((unsigned long)(pmd_val(pmd) & PAGE_MASK)) argument 239 #define pmd_page(pmd) virt_to_page(pmd_val(pmd)) argument 255 #define pmd_none(pmd) (!pmd_val(pmd)) argument 256 #define pmd_present(pmd) (pmd_val(pmd) & PAGE_MASK) argument 257 #define pmd_bad(pmd) (pmd_val(pmd) & ~PAGE_MASK) argument 415 #define _PTE_OFFSET(pmd,adr,tmp) _PTE_INDEX(tmp, adr); \ argument 416 srli pmd, pmd, PAGE_SHIFT; \ 417 slli pmd, pmd, PAGE_SHIFT; \ 418 addx4 pmd, tmp, pmd
|
D | pgalloc.h | 28 #define pmd_pgtable(pmd) pmd_page(pmd) argument 82 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
/linux-4.4.14/arch/unicore32/include/asm/ |
D | tlbflush.h | 135 static inline void flush_pmd_entry(pmd_t *pmd) in flush_pmd_entry() argument 146 : : "r" (pmd) : "r1", "r2"); in flush_pmd_entry() 150 : : "r" (pmd) : "cc"); in flush_pmd_entry() 154 static inline void clean_pmd_entry(pmd_t *pmd) in clean_pmd_entry() argument 159 : : "r" (__pa(pmd) & ~(L1_CACHE_BYTES - 1)) : "cc"); in clean_pmd_entry() 163 : : "r" (pmd) : "cc"); in clean_pmd_entry()
|
D | pgtable.h | 206 #define pmd_none(pmd) (!pmd_val(pmd)) argument 207 #define pmd_present(pmd) (pmd_val(pmd) & PMD_PRESENT) argument 208 #define pmd_bad(pmd) (((pmd_val(pmd) & \ argument 223 #define pmd_page_vaddr(pmd) ((pte_t *)__va(pmd_val(pmd) & PAGE_MASK)) argument 224 #define pmd_page(pmd) pfn_to_page(__phys_to_pfn(pmd_val(pmd))) argument
|
/linux-4.4.14/arch/cris/include/asm/ |
D | pgalloc.h | 7 #define pmd_populate_kernel(mm, pmd, pte) pmd_set(pmd, pte) argument 8 #define pmd_populate(mm, pmd, pte) pmd_set(pmd, page_address(pte)) argument 9 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
/linux-4.4.14/arch/parisc/mm/ |
D | hugetlbpage.c | 51 pmd_t *pmd; in huge_pte_alloc() local 64 pmd = pmd_alloc(mm, pud, addr); in huge_pte_alloc() 65 if (pmd) in huge_pte_alloc() 66 pte = pte_alloc_map(mm, NULL, pmd, addr); in huge_pte_alloc() 75 pmd_t *pmd; in huge_pte_offset() local 84 pmd = pmd_offset(pud, addr); in huge_pte_offset() 85 if (!pmd_none(*pmd)) in huge_pte_offset() 86 pte = pte_offset_map(pmd, addr); in huge_pte_offset() 189 int pmd_huge(pmd_t pmd) in pmd_huge() argument
|
D | init.c | 401 pmd_t *pmd; in map_pages() local 433 pmd = (pmd_t *)__pa(pg_dir); in map_pages() 435 pmd = (pmd_t *)pgd_address(*pg_dir); in map_pages() 441 if (!pmd) { in map_pages() 442 pmd = (pmd_t *) alloc_bootmem_low_pages_node(NODE_DATA(0), PAGE_SIZE << PMD_ORDER); in map_pages() 443 pmd = (pmd_t *) __pa(pmd); in map_pages() 446 pgd_populate(NULL, pg_dir, __va(pmd)); in map_pages() 452 pmd = (pmd_t *)__va(pmd) + start_pmd; in map_pages() 453 for (tmp1 = start_pmd; tmp1 < PTRS_PER_PMD; tmp1++, pmd++) { in map_pages() 459 pg_table = (pte_t *)pmd_address(*pmd); in map_pages() [all …]
|
/linux-4.4.14/arch/ia64/mm/ |
D | hugetlbpage.c | 33 pmd_t *pmd; in huge_pte_alloc() local 39 pmd = pmd_alloc(mm, pud, taddr); in huge_pte_alloc() 40 if (pmd) in huge_pte_alloc() 41 pte = pte_alloc_map(mm, NULL, pmd, taddr); in huge_pte_alloc() 52 pmd_t *pmd; in huge_pte_offset() local 59 pmd = pmd_offset(pud, taddr); in huge_pte_offset() 60 if (pmd_present(*pmd)) in huge_pte_offset() 61 pte = pte_offset_map(pmd, taddr); in huge_pte_offset() 102 int pmd_huge(pmd_t pmd) in pmd_huge() argument
|
D | init.c | 215 pmd_t *pmd; in put_kernel_page() local 224 pmd = pmd_alloc(&init_mm, pud, address); in put_kernel_page() 225 if (!pmd) in put_kernel_page() 227 pte = pte_alloc_kernel(pmd, address); in put_kernel_page() 389 pmd_t *pmd; in vmemmap_find_next_valid_pfn() local 404 pmd = pmd_offset(pud, end_address); in vmemmap_find_next_valid_pfn() 405 if (pmd_none(*pmd)) { in vmemmap_find_next_valid_pfn() 410 pte = pte_offset_kernel(pmd, end_address); in vmemmap_find_next_valid_pfn() 437 pmd_t *pmd; in create_mem_map_page_table() local 455 pmd = pmd_offset(pud, address); in create_mem_map_page_table() [all …]
|
D | fault.c | 52 pmd_t *pmd; in mapped_kernel_page_is_present() local 63 pmd = pmd_offset(pud, address); in mapped_kernel_page_is_present() 64 if (pmd_none(*pmd) || pmd_bad(*pmd)) in mapped_kernel_page_is_present() 67 ptep = pte_offset_kernel(pmd, address); in mapped_kernel_page_is_present()
|
/linux-4.4.14/lib/ |
D | ioremap.c | 53 static int ioremap_pte_range(pmd_t *pmd, unsigned long addr, in ioremap_pte_range() argument 60 pte = pte_alloc_kernel(pmd, addr); in ioremap_pte_range() 74 pmd_t *pmd; in ioremap_pmd_range() local 78 pmd = pmd_alloc(&init_mm, pud, addr); in ioremap_pmd_range() 79 if (!pmd) in ioremap_pmd_range() 87 if (pmd_set_huge(pmd, phys_addr + addr, prot)) in ioremap_pmd_range() 91 if (ioremap_pte_range(pmd, addr, next, phys_addr + addr, prot)) in ioremap_pmd_range() 93 } while (pmd++, addr = next, addr != end); in ioremap_pmd_range()
|
/linux-4.4.14/arch/metag/mm/ |
D | init.c | 47 pmd_t *pmd; in insert_gateway_page() local 55 pmd = pmd_offset(pud, address); in insert_gateway_page() 56 if (!pmd_present(*pmd)) { in insert_gateway_page() 58 set_pmd(pmd, __pmd(_PAGE_TABLE | __pa(pte))); in insert_gateway_page() 61 pte = pte_offset_kernel(pmd, address); in insert_gateway_page() 267 pmd_t *pmd; in allocate_pgtables() local 278 pmd = (pmd_t *)pgd; in allocate_pgtables() 279 for (; (j < PTRS_PER_PMD) && (vaddr != end); pmd++, j++) { in allocate_pgtables() 282 if (!pmd_none(*pmd)) in allocate_pgtables() 286 pmd_populate_kernel(&init_mm, pmd, pte); in allocate_pgtables() [all …]
|
D | hugetlbpage.c | 64 pmd_t *pmd; in huge_pte_alloc() local 69 pmd = pmd_offset(pud, addr); in huge_pte_alloc() 70 pte = pte_alloc_map(mm, NULL, pmd, addr); in huge_pte_alloc() 81 pmd_t *pmd; in huge_pte_offset() local 86 pmd = pmd_offset(pud, addr); in huge_pte_offset() 87 pte = pte_offset_kernel(pmd, addr); in huge_pte_offset() 92 int pmd_huge(pmd_t pmd) in pmd_huge() argument 94 return pmd_page_shift(pmd) > PAGE_SHIFT; in pmd_huge() 103 pmd_t *pmd, int write) in follow_huge_pmd() argument
|
/linux-4.4.14/arch/metag/include/asm/ |
D | pgalloc.h | 7 #define pmd_populate_kernel(mm, pmd, pte) \ argument 8 set_pmd(pmd, __pmd(_PAGE_TABLE | __pa(pte))) 10 #define pmd_populate(mm, pmd, pte) \ argument 11 set_pmd(pmd, __pmd(_PAGE_TABLE | page_to_phys(pte))) 13 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
D | pgtable.h | 162 static inline unsigned long pmd_page_vaddr(pmd_t pmd) in pmd_page_vaddr() argument 164 unsigned long paddr = pmd_val(pmd) & PAGE_MASK; in pmd_page_vaddr() 170 #define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT)) argument 171 #define pmd_page_shift(pmd) (12 + ((pmd_val(pmd) & _PAGE_SZ_MASK) \ argument 173 #define pmd_num_ptrs(pmd) (PGDIR_SIZE >> pmd_page_shift(pmd)) argument 195 # define pte_index(pmd, address) \ argument 199 # define pte_index(pmd, address) \ argument 200 (((address) >> pmd_page_shift(pmd)) & (pmd_num_ptrs(pmd) - 1))
|
/linux-4.4.14/arch/xtensa/mm/ |
D | mmu.c | 24 pmd_t *pmd = pmd_offset(pgd, vaddr); in init_pmd() local 38 for (i = 0; i < n_pages; i += PTRS_PER_PTE, ++pmd) { in init_pmd() 41 BUG_ON(!pmd_none(*pmd)); in init_pmd() 42 set_pmd(pmd, __pmd(((unsigned long)cur_pte) & PAGE_MASK)); in init_pmd() 43 BUG_ON(cur_pte != pte_offset_kernel(pmd, 0)); in init_pmd() 45 __func__, pmd, cur_pte); in init_pmd()
|
D | tlb.c | 174 pmd_t *pmd; in get_pte_for_vaddr() local 182 pmd = pmd_offset(pgd, vaddr); in get_pte_for_vaddr() 183 if (pmd_none_or_clear_bad(pmd)) in get_pte_for_vaddr() 185 pte = pte_offset_map(pmd, vaddr); in get_pte_for_vaddr()
|
D | fault.c | 210 pmd_t *pmd, *pmd_k; in do_page_fault() local 224 pmd = pmd_offset(pgd, address); in do_page_fault() 226 if (!pmd_present(*pmd) || !pmd_present(*pmd_k)) in do_page_fault() 229 pmd_val(*pmd) = pmd_val(*pmd_k); in do_page_fault()
|
/linux-4.4.14/arch/openrisc/include/asm/ |
D | pgalloc.h | 30 #define pmd_populate_kernel(mm, pmd, pte) \ argument 31 set_pmd(pmd, __pmd(_KERNPG_TABLE + __pa(pte))) 33 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 36 set_pmd(pmd, __pmd(_KERNPG_TABLE + in pmd_populate() 104 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
/linux-4.4.14/arch/microblaze/include/asm/ |
D | pgalloc.h | 61 extern void __bad_pte(pmd_t *pmd); 102 #define pmd_pgtable(pmd) pmd_page(pmd) argument 174 #define pmd_populate(mm, pmd, pte) \ argument 175 (pmd_val(*(pmd)) = (unsigned long)page_address(pte)) 177 #define pmd_populate_kernel(mm, pmd, pte) \ argument 178 (pmd_val(*(pmd)) = (unsigned long) (pte)) 187 #define pgd_populate(mm, pmd, pte) BUG() argument
|
D | pgtable.h | 301 #define pmd_none(pmd) (!pmd_val(pmd)) argument 302 #define pmd_bad(pmd) ((pmd_val(pmd) & _PMD_PRESENT) == 0) argument 303 #define pmd_present(pmd) ((pmd_val(pmd) & _PMD_PRESENT) != 0) argument 470 #define pmd_page_kernel(pmd) ((unsigned long) (pmd_val(pmd) & PAGE_MASK)) argument 473 #define pmd_page(pmd) (pfn_to_page(__pa(pmd_val(pmd)) >> PAGE_SHIFT)) argument
|
/linux-4.4.14/include/trace/events/ |
D | thp.h | 30 TP_PROTO(unsigned long addr, unsigned long pmd), 31 TP_ARGS(addr, pmd), 34 __field(unsigned long, pmd) 39 __entry->pmd = pmd; 42 TP_printk("Set pmd with 0x%lx with 0x%lx", __entry->addr, __entry->pmd)
|
/linux-4.4.14/arch/tile/mm/ |
D | hugetlbpage.c | 71 pmd_t *pmd = pmd_alloc(mm, pud, addr); in huge_pte_alloc() local 75 return (pte_t *)pmd; in huge_pte_alloc() 80 return pte_alloc_map(mm, NULL, pmd, addr); in huge_pte_alloc() 108 pmd_t *pmd; in huge_pte_offset() local 129 pmd = (pmd_t *)get_pte((pte_t *)pud_page_vaddr(*pud), in huge_pte_offset() 131 if (!pmd_present(*pmd)) in huge_pte_offset() 134 pmd = pmd_offset(pud, addr); in huge_pte_offset() 138 if (pmd_huge(*pmd)) in huge_pte_offset() 139 return (pte_t *)pmd; in huge_pte_offset() 143 pte = get_pte((pte_t *)pmd_page_vaddr(*pmd), pte_index(addr), 2); in huge_pte_offset() [all …]
|
D | init.c | 118 static void __init assign_pte(pmd_t *pmd, pte_t *page_table) in assign_pte() argument 125 *(pte_t *)pmd = pteval; in assign_pte() 126 if (page_table != (pte_t *)pmd_page_vaddr(*pmd)) in assign_pte() 137 static inline void assign_pmd(pud_t *pud, pmd_t *pmd) in assign_pmd() argument 139 assign_pte((pmd_t *)pud, (pte_t *)pmd); in assign_pmd() 145 void __init shatter_pmd(pmd_t *pmd) in shatter_pmd() argument 147 pte_t *pte = get_prealloc_pte(pte_pfn(*(pte_t *)pmd)); in shatter_pmd() 148 assign_pte(pmd, pte); in shatter_pmd() 184 pmd_t *pmd = get_pmd(pgd, vaddr); in page_table_range_init() local 185 if (pmd_none(*pmd)) in page_table_range_init() [all …]
|
D | pgtable.c | 102 pmd_t *pmd; in shatter_huge_page() local 115 pmd = pmd_offset(pud, addr); in shatter_huge_page() 116 BUG_ON(!pmd_present(*pmd)); in shatter_huge_page() 117 if (!pmd_huge_page(*pmd)) in shatter_huge_page() 121 if (!pmd_huge_page(*pmd)) { in shatter_huge_page() 128 pmd_populate_kernel(&init_mm, pmd, get_prealloc_pte(pmd_pfn(*pmd))); in shatter_huge_page() 138 __set_pmd(copy_pmd, *pmd); in shatter_huge_page() 344 pmd_t *pmd; in virt_to_pte() local 355 pmd = pmd_offset(pud, addr); in virt_to_pte() 356 if (!pmd_present(*pmd)) in virt_to_pte() [all …]
|
D | fault.c | 110 pmd_t *pmd, *pmd_k; in vmalloc_sync_one() local 123 pmd = pmd_offset(pud, address); in vmalloc_sync_one() 127 if (!pmd_present(*pmd)) in vmalloc_sync_one() 128 set_pmd(pmd, *pmd_k); in vmalloc_sync_one() 130 BUG_ON(pmd_ptfn(*pmd) != pmd_ptfn(*pmd_k)); in vmalloc_sync_one() 216 pmd_t *pmd; in handle_migrating_pte() local 227 pmd = pmd_offset(pud, address); in handle_migrating_pte() 228 if (!pmd || !pmd_present(*pmd)) in handle_migrating_pte() 230 pte = pmd_huge_page(*pmd) ? ((pte_t *)pmd) : in handle_migrating_pte() 231 pte_offset_kernel(pmd, address); in handle_migrating_pte()
|
/linux-4.4.14/arch/score/include/asm/ |
D | pgalloc.h | 6 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() argument 9 set_pmd(pmd, __pmd((unsigned long)pte)); in pmd_populate_kernel() 12 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 15 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); in pmd_populate() 18 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
D | pgtable.h | 48 static inline int pmd_none(pmd_t pmd) in pmd_none() argument 50 return pmd_val(pmd) == (unsigned long) invalid_pte_table; in pmd_none() 53 #define pmd_bad(pmd) (pmd_val(pmd) & ~PAGE_MASK) argument 55 static inline int pmd_present(pmd_t pmd) in pmd_present() argument 57 return pmd_val(pmd) != (unsigned long) invalid_pte_table; in pmd_present() 97 #define pmd_phys(pmd) __pa((void *)pmd_val(pmd)) argument 98 #define pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT)) argument 118 #define pmd_page_vaddr(pmd) pmd_val(pmd) argument
|
/linux-4.4.14/arch/avr32/include/asm/ |
D | pgalloc.h | 20 pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument 22 set_pmd(pmd, __pmd((unsigned long)pte)); in pmd_populate_kernel() 25 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 28 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); in pmd_populate() 30 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
/linux-4.4.14/arch/hexagon/include/asm/ |
D | pgtable.h | 259 static inline int pmd_none(pmd_t pmd) in pmd_none() argument 261 return pmd_val(pmd) == _NULL_PMD; in pmd_none() 270 static inline int pmd_present(pmd_t pmd) in pmd_present() argument 272 return pmd_val(pmd) != (unsigned long)_NULL_PMD; in pmd_present() 280 static inline int pmd_bad(pmd_t pmd) in pmd_bad() argument 288 #define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT)) argument 289 #define pmd_pgtable(pmd) pmd_page(pmd) argument 436 #define pte_offset_map_nested(pmd, addr) pte_offset_map(pmd, addr) argument
|
D | pgalloc.h | 96 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, in pmd_populate() argument 103 set_pmd(pmd, __pmd(((unsigned long)page_to_pfn(pte) << PAGE_SHIFT) | in pmd_populate() 116 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, in pmd_populate_kernel() argument 129 set_pmd(pmd, __pmd(((unsigned long)__pa(pte)) | HEXAGON_L1_PTE_SIZE)); in pmd_populate_kernel() 135 pmdindex = (pgd_t *)pmd - mm->pgd; in pmd_populate_kernel()
|
/linux-4.4.14/arch/parisc/kernel/ |
D | pci-dma.c | 110 static inline int map_pmd_uncached(pmd_t * pmd, unsigned long vaddr, in map_pmd_uncached() argument 121 pte_t * pte = pte_alloc_kernel(pmd, vaddr); in map_pmd_uncached() 128 pmd++; in map_pmd_uncached() 141 pmd_t *pmd; in map_uncached_pages() local 143 pmd = pmd_alloc(NULL, dir, vaddr); in map_uncached_pages() 144 if (!pmd) in map_uncached_pages() 146 if (map_pmd_uncached(pmd, vaddr, end - vaddr, &paddr)) in map_uncached_pages() 154 static inline void unmap_uncached_pte(pmd_t * pmd, unsigned long vaddr, in unmap_uncached_pte() argument 161 if (pmd_none(*pmd)) in unmap_uncached_pte() 163 if (pmd_bad(*pmd)) { in unmap_uncached_pte() [all …]
|
/linux-4.4.14/arch/mn10300/mm/ |
D | cache-inv-icache.c | 34 pmd_t *pmd; in flush_icache_page_range() local 51 pmd = pmd_offset(pud, start); in flush_icache_page_range() 52 if (!pmd || !pmd_val(*pmd)) in flush_icache_page_range() 55 ppte = pte_offset_map(pmd, start); in flush_icache_page_range()
|
D | fault.c | 71 pmd_t *pmd; 82 pmd = pmd_offset(pgd, address); 84 pmd, (long long)pmd_val(*pmd)); 86 if (!pmd_present(*pmd)) { 90 pte = pte_offset(pmd, address); 388 pmd_t *pmd, *pmd_k; in do_page_fault() local 406 pmd = pmd_offset(pud, address); in do_page_fault() 407 set_pmd(pmd, *pmd_k); in do_page_fault()
|
D | cache-flush-icache.c | 56 pmd_t *pmd; in flush_icache_page_range() local 73 pmd = pmd_offset(pud, start); in flush_icache_page_range() 74 if (!pmd || !pmd_val(*pmd)) in flush_icache_page_range() 77 ppte = pte_offset_map(pmd, start); in flush_icache_page_range()
|
D | pgtable.c | 39 pmd_t *pmd; in set_pmd_pfn() local 55 pmd = pmd_offset(pud, vaddr); in set_pmd_pfn() 56 set_pmd(pmd, pfn_pmd(pfn, flags)); in set_pmd_pfn()
|
/linux-4.4.14/arch/nios2/mm/ |
D | ioremap.c | 50 static inline int remap_area_pmd(pmd_t *pmd, unsigned long address, in remap_area_pmd() argument 64 pte_t *pte = pte_alloc_kernel(pmd, address); in remap_area_pmd() 71 pmd++; in remap_area_pmd() 90 pmd_t *pmd; in remap_area_pages() local 96 pmd = pmd_alloc(&init_mm, pud, address); in remap_area_pages() 97 if (!pmd) in remap_area_pages() 99 if (remap_area_pmd(pmd, address, end - address, in remap_area_pages()
|
/linux-4.4.14/arch/arm/lib/ |
D | uaccess_with_memcpy.c | 30 pmd_t *pmd; in pin_page_for_write() local 43 pmd = pmd_offset(pud, addr); in pin_page_for_write() 44 if (unlikely(pmd_none(*pmd))) in pin_page_for_write() 57 if (unlikely(pmd_thp_or_huge(*pmd))) { in pin_page_for_write() 60 if (unlikely(!pmd_thp_or_huge(*pmd) in pin_page_for_write() 61 || pmd_hugewillfault(*pmd) in pin_page_for_write() 62 || pmd_trans_splitting(*pmd))) { in pin_page_for_write() 72 if (unlikely(pmd_bad(*pmd))) in pin_page_for_write() 75 pte = pte_offset_map_lock(current->mm, pmd, addr, &ptl); in pin_page_for_write()
|
/linux-4.4.14/arch/frv/include/asm/ |
D | pgalloc.h | 23 #define pmd_populate_kernel(mm, pmd, pte) __set_pmd(pmd, __pa(pte) | _PAGE_TABLE) argument 28 #define pmd_pgtable(pmd) pmd_page(pmd) argument
|
/linux-4.4.14/arch/alpha/mm/ |
D | init.c | 148 pmd_t *pmd; in callback_init() local 187 pmd = pmd_offset(pgd, VMALLOC_START); in callback_init() 188 pmd_set(pmd, (pte_t *)(two_pages + PAGE_SIZE)); in callback_init() 216 if (pmd != pmd_offset(pgd, vaddr)) { in callback_init() 218 pmd = pmd_offset(pgd, vaddr); in callback_init() 219 pmd_set(pmd, (pte_t *)kernel_end); in callback_init() 222 set_pte(pte_offset_kernel(pmd, vaddr), in callback_init()
|
/linux-4.4.14/arch/frv/mm/ |
D | pgalloc.c | 52 void __set_pmd(pmd_t *pmdptr, unsigned long pmd) in __set_pmd() argument 57 if (!pmd) { in __set_pmd() 61 BUG_ON(pmd & (0x3f00 | xAMPRx_SS | 0xe)); in __set_pmd() 64 *__ste_p++ = pmd; in __set_pmd() 65 pmd += __frv_PT_SIZE; in __set_pmd()
|
/linux-4.4.14/fs/proc/ |
D | task_mmu.c | 523 static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr, in smaps_pmd_entry() argument 531 page = follow_trans_huge_pmd(vma, addr, pmd, FOLL_DUMP); in smaps_pmd_entry() 536 pmd_young(*pmd), pmd_dirty(*pmd)); in smaps_pmd_entry() 539 static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr, in smaps_pmd_entry() argument 545 static int smaps_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, in smaps_pte_range() argument 552 if (pmd_trans_huge_lock(pmd, vma, &ptl) == 1) { in smaps_pte_range() 553 smaps_pmd_entry(pmd, addr, walk); in smaps_pte_range() 558 if (pmd_trans_unstable(pmd)) in smaps_pte_range() 565 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl); in smaps_pte_range() 815 pmd_t pmd = pmdp_huge_get_and_clear(vma->vm_mm, addr, pmdp); in clear_soft_dirty_pmd() local [all …]
|
/linux-4.4.14/arch/cris/arch-v10/mm/ |
D | fault.c | 49 pmd_t *pmd; in handle_mmu_bus_fault() local 84 pmd = (pmd_t *)(pgd + pgd_index(address)); in handle_mmu_bus_fault() 85 if (pmd_none(*pmd)) in handle_mmu_bus_fault() 87 pte = *pte_offset_kernel(pmd, address); in handle_mmu_bus_fault()
|
/linux-4.4.14/arch/x86/xen/ |
D | mmu.c | 440 __visible pmdval_t xen_pmd_val(pmd_t pmd) in xen_pmd_val() argument 442 return pte_mfn_to_pfn(pmd.pmd); in xen_pmd_val() 499 __visible pmd_t xen_make_pmd(pmdval_t pmd) in xen_make_pmd() argument 501 pmd = pte_pfn_to_mfn(pmd); in xen_make_pmd() 502 return native_make_pmd(pmd); in xen_make_pmd() 662 pmd_t *pmd; in __xen_pgd_walk() local 671 pmd = pmd_offset(&pud[pudidx], 0); in __xen_pgd_walk() 674 flush |= (*func)(mm, virt_to_page(pmd), PT_PMD); in __xen_pgd_walk() 684 if (pmd_none(pmd[pmdidx])) in __xen_pgd_walk() 687 pte = pmd_page(pmd[pmdidx]); in __xen_pgd_walk() [all …]
|
/linux-4.4.14/arch/um/kernel/skas/ |
D | mmu.c | 22 pmd_t *pmd; in init_stub_pte() local 30 pmd = pmd_alloc(mm, pud, proc); in init_stub_pte() 31 if (!pmd) in init_stub_pte() 34 pte = pte_alloc_map(mm, NULL, pmd, proc); in init_stub_pte() 43 pmd_free(mm, pmd); in init_stub_pte()
|
D | uaccess.c | 21 pmd_t *pmd; in virt_to_pte() local 34 pmd = pmd_offset(pud, addr); in virt_to_pte() 35 if (!pmd_present(*pmd)) in virt_to_pte() 38 return pte_offset_kernel(pmd, addr); in virt_to_pte()
|
/linux-4.4.14/arch/m68k/mm/ |
D | mcfmmu.c | 89 pmd_t *pmd; in cf_tlb_miss() local 110 pmd = pmd_offset(pgd, mmuar); in cf_tlb_miss() 111 if (pmd_none(*pmd)) { in cf_tlb_miss() 116 pte = (KMAPAREA(mmuar)) ? pte_offset_kernel(pmd, mmuar) in cf_tlb_miss() 117 : pte_offset_map(pmd, mmuar); in cf_tlb_miss()
|
D | motorola.c | 72 unsigned long pmd, last; in kernel_ptr_table() local 83 pmd = __pgd_page(kernel_pg_dir[i]); in kernel_ptr_table() 84 if (pmd > last) in kernel_ptr_table() 85 last = pmd; in kernel_ptr_table() 158 pmd_dir->pmd[(virtaddr/PTRTREESIZE) & 15] = physaddr; in map_node() 167 pmd_dir->pmd[0] = virt_to_phys(pte_dir) | in map_node()
|
D | kmap.c | 200 pmd_dir->pmd[(virtaddr/PTRTREESIZE) & 15] = physaddr; in __ioremap() 265 int pmd_type = pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK; in __iounmap() 268 pmd_dir->pmd[pmd_off] = 0; in __iounmap() 344 if ((pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK) == _PAGE_PRESENT) { in kernel_set_cachemode() 345 pmd_dir->pmd[pmd_off] = (pmd_dir->pmd[pmd_off] & in kernel_set_cachemode()
|
/linux-4.4.14/arch/m32r/mm/ |
D | mmu.S | 149 or r3, r2 ; r3: pmd addr 151 ; pmd = pmd_offset(pgd, address); 152 ld r3, @r3 ; r3: pmd data 153 beqz r3, 3f ; pmd_none(*pmd) ? 157 bnez r2, 3f ; pmd_bad(*pmd) ? 160 ; pte = pte_offset(pmd, address); 266 ; pmd = pmd_offset(pgd, address); 267 ld r1, @r3 ; r1: pmd 268 beqz r1, 3f ; pmd_none(*pmd) ? 272 bne r1, r4, 3f ; pmd_bad(*pmd) ? [all …]
|
/linux-4.4.14/Documentation/devicetree/bindings/edac/ |
D | apm-xgene-edac.txt | 30 - compatible : Shall be "apm,xgene-edac-pmd" or 31 "apm,xgene-edac-pmd-v2". 33 - pmd-controller : Instance number of the PMD controller. 88 compatible = "apm,xgene-edac-pmd"; 90 pmd-controller = <0>;
|
/linux-4.4.14/arch/microblaze/mm/ |
D | pgtable.c | 194 pmd_t *pmd; in get_pteptr() local 200 pmd = pmd_offset(pgd, addr & PAGE_MASK); in get_pteptr() 201 if (pmd_present(*pmd)) { in get_pteptr() 202 pte = pte_offset_kernel(pmd, addr & PAGE_MASK); in get_pteptr()
|
/linux-4.4.14/drivers/edac/ |
D | xgene_edac.c | 528 u32 pmd; member 546 ctx->pmd * MAX_CPU_PER_PMD + cpu_idx, val, in xgene_edac_pmd_l1_check() 586 ctx->pmd * MAX_CPU_PER_PMD + cpu_idx, val, in xgene_edac_pmd_l1_check() 630 ctx->pmd * MAX_CPU_PER_PMD + cpu_idx, val, in xgene_edac_pmd_l1_check() 690 ctx->pmd, val, val_hi, val_lo); in xgene_edac_pmd_l2_check() 742 ctx->pmd, val, val_hi, val_lo); in xgene_edac_pmd_l2_check() 754 if (!((PMD0_MERR_MASK << ctx->pmd) & pcp_hp_stat)) in xgene_edac_pmd_check() 804 PMD0_MERR_MASK << ctx->pmd); in xgene_edac_pmd_hw_ctl() 807 PMD0_MERR_MASK << ctx->pmd); in xgene_edac_pmd_hw_ctl() 883 snprintf(name, sizeof(name), "PMD%d", ctx->pmd); in xgene_edac_pmd_create_debugfs_nodes() [all …]
|
/linux-4.4.14/arch/arm/mach-shmobile/ |
D | pm-rmobile.c | 337 struct device_node *np, *pmd; in rmobile_init_pm_domains() local 349 pmd = of_get_child_by_name(np, "pm-domains"); in rmobile_init_pm_domains() 350 if (!pmd) { in rmobile_init_pm_domains() 361 ret = rmobile_add_pm_domains(base, pmd, NULL); in rmobile_init_pm_domains() 362 of_node_put(pmd); in rmobile_init_pm_domains()
|
/linux-4.4.14/arch/m68k/sun3x/ |
D | dvma.c | 101 pmd_t *pmd; in dvma_map_cpu() local 104 if((pmd = pmd_alloc(&init_mm, pgd, vaddr)) == NULL) { in dvma_map_cpu() 118 if((pte = pte_alloc_kernel(pmd, vaddr)) == NULL) { in dvma_map_cpu()
|