/linux-master/mm/ |
H A D | hugetlb_vmemmap.c | 49 static int vmemmap_split_pmd(pmd_t *pmd, struct page *head, unsigned long start, argument 73 if (likely(pmd_leaf(*pmd))) { 82 /* Make pte visible before pmd. See comment in pmd_install(). */ 84 pmd_populate_kernel(&init_mm, pmd, pgtable); 95 static int vmemmap_pmd_entry(pmd_t *pmd, unsigned long addr, argument 107 head = pmd_leaf(*pmd) ? pmd_page(*pmd) : NULL; 124 pte_page(ptep_get(pte_offset_kernel(pmd, addr))); 133 return vmemmap_split_pmd(pmd, head, addr & PMD_MASK, vmemmap_walk);
|
H A D | mremap.c | 59 pmd_t *pmd; local 65 pmd = pmd_offset(pud, addr); 66 if (pmd_none(*pmd)) 69 return pmd; 90 pmd_t *pmd; local 96 pmd = pmd_alloc(mm, pud, addr); 97 if (!pmd) 100 VM_BUG_ON(pmd_trans_huge(*pmd)); 102 return pmd; 241 pmd_t pmd; local [all...] |
/linux-master/mm/damon/ |
H A D | vaddr.c | 300 static int damon_mkold_pmd_entry(pmd_t *pmd, unsigned long addr, argument 307 if (pmd_trans_huge(pmdp_get(pmd))) { 308 ptl = pmd_lock(walk->mm, pmd); 309 pmde = pmdp_get(pmd); 317 damon_pmdp_mkold(pmd, walk->vma, addr); 324 pte = pte_offset_map_lock(walk->mm, pmd, addr, &ptl); 437 static int damon_young_pmd_entry(pmd_t *pmd, unsigned long addr, argument 447 if (pmd_trans_huge(pmdp_get(pmd))) { 450 ptl = pmd_lock(walk->mm, pmd); 451 pmde = pmdp_get(pmd); [all...] |
H A D | ops-common.c | 54 void damon_pmdp_mkold(pmd_t *pmd, struct vm_area_struct *vma, unsigned long addr) argument 57 struct folio *folio = damon_get_folio(pmd_pfn(pmdp_get(pmd))); 62 if (pmdp_clear_young_notify(vma, addr, pmd))
|
/linux-master/include/linux/ |
H A D | rmap.h | 646 pmd_t *pmd; member in struct:page_vma_mapped_walk
|
/linux-master/arch/x86/include/asm/ |
H A D | paravirt.h | 439 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) argument 441 PVOP_VCALL2(mmu.set_pmd, pmdp, native_pmd_val(pmd)); 450 static inline pmdval_t pmd_val(pmd_t pmd) argument 452 return PVOP_ALT_CALLEE1(pmdval_t, mmu.pmd_val, pmd.pmd,
|
/linux-master/arch/mips/mm/ |
H A D | pgtable-64.c | 95 pmd_t pmd; local 97 pmd_val(pmd) = (page_to_pfn(page) << PFN_PTE_SHIFT) | pgprot_val(prot); 99 return pmd; 103 pmd_t *pmdp, pmd_t pmd) 105 *pmdp = pmd; 102 set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) argument
|
/linux-master/arch/mips/include/asm/ |
H A D | pgtable.h | 65 #define pmd_phys(pmd) virt_to_phys((void *)pmd_val(pmd)) 67 static inline unsigned long pmd_pfn(pmd_t pmd) argument 69 return pmd_val(pmd) >> PFN_PTE_SHIFT; 73 #define pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT)) 76 #define pmd_page_vaddr(pmd) pmd_val(pmd) 413 static inline int pmd_write(pmd_t pmd) argument 415 return !!(pmd_val(pmd) 418 pmd_page(pmd_t pmd) argument 628 pmd_trans_huge(pmd_t pmd) argument 633 pmd_mkhuge(pmd_t pmd) argument 643 pmd_wrprotect(pmd_t pmd) argument 649 pmd_mkwrite_novma(pmd_t pmd) argument 659 pmd_dirty(pmd_t pmd) argument 664 pmd_mkclean(pmd_t pmd) argument 670 pmd_mkdirty(pmd_t pmd) argument 680 pmd_young(pmd_t pmd) argument 685 pmd_mkold(pmd_t pmd) argument 692 pmd_mkyoung(pmd_t pmd) argument 703 pmd_soft_dirty(pmd_t pmd) argument 708 pmd_mksoft_dirty(pmd_t pmd) argument 714 pmd_clear_soft_dirty(pmd_t pmd) argument 725 pmd_modify(pmd_t pmd, pgprot_t newprot) argument 732 pmd_mkinvalid(pmd_t pmd) argument [all...] |
H A D | pgalloc.h | 21 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, argument 24 set_pmd(pmd, __pmd((unsigned long)pte)); 27 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument 30 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); 34 * Initialize a new pmd table with invalid pointers. 40 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument 42 set_pud(pud, __pud((unsigned long)pmd)); 67 pmd_t *pmd; local 79 pmd = ptdesc_address(ptdesc); 80 pmd_init(pmd); [all...] |
/linux-master/arch/microblaze/include/asm/ |
H A D | pgtable.h | 226 #define pmd_none(pmd) (!pmd_val(pmd)) 227 #define pmd_bad(pmd) ((pmd_val(pmd) & _PMD_PRESENT) == 0) 228 #define pmd_present(pmd) ((pmd_val(pmd) & _PMD_PRESENT) != 0) 374 /* Convert pmd entry to page */ 375 /* our pmd entry is an effective address of pte table*/ 376 /* returns effective address of the pmd entry*/ 377 static inline unsigned long pmd_page_vaddr(pmd_t pmd) argument [all...] |
/linux-master/arch/arc/include/asm/ |
H A D | page.h | 58 unsigned long pmd; member in struct:__anon3 61 #define pmd_val(x) ((x).pmd)
|
H A D | pgtable-levels.h | 138 * 3rd level paging: pmd 141 pr_crit("%s:%d: bad pmd %08lx.\n", __FILE__, __LINE__, pmd_val(e)) 143 #define pmd_pfn(pmd) ((pmd_val(pmd) & PMD_MASK) >> PAGE_SHIFT) 154 * In 3+ level paging (pgd -> pmd -> pte), pmd_* macros work on pmd 160 #define pmd_page_vaddr(pmd) (pmd_val(pmd) & PAGE_MASK) 161 #define pmd_pfn(pmd) ((pmd_val(pmd) [all...] |
H A D | hugepage.h | 20 static inline pte_t pmd_pte(pmd_t pmd) argument 22 return __pte(pmd_val(pmd)); 30 #define pmd_wrprotect(pmd) pte_pmd(pte_wrprotect(pmd_pte(pmd))) 31 #define pmd_mkwrite_novma(pmd) pte_pmd(pte_mkwrite_novma(pmd_pte(pmd))) 32 #define pmd_mkdirty(pmd) pte_pmd(pte_mkdirty(pmd_pte(pmd))) 33 #define pmd_mkold(pmd) pte_pmd(pte_mkold(pmd_pte(pmd))) 49 pmd_modify(pmd_t pmd, pgprot_t newprot) argument 58 set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) argument [all...] |
/linux-master/fs/ |
H A D | dax.c | 709 * pte or pmd without holding the respective lock, so we are 1230 ptl = pmd_lock(vmf->vma->vm_mm, vmf->pmd); 1231 if (!pmd_none(*(vmf->pmd))) { 1237 pgtable_trans_huge_deposit(vma->vm_mm, vmf->pmd, pgtable); 1242 set_pmd_at(vmf->vma->vm_mm, pmd_addr, vmf->pmd, pmd_entry); 1640 * @pmd: distinguish whether it is a pmd fault 1644 struct xa_state *xas, void **entry, bool pmd) 1648 size_t size = pmd ? PMD_SIZE : PAGE_SIZE; 1651 unsigned long entry_flags = pmd 1642 dax_fault_iter(struct vm_fault *vmf, const struct iomap_iter *iter, pfn_t *pfnp, struct xa_state *xas, void **entry, bool pmd) argument [all...] |
/linux-master/arch/parisc/kernel/ |
H A D | entry.S | 386 .macro L2_ptep pmd,pte,index,va,fault 392 dep %r0,31,PAGE_SHIFT,\pmd /* clear offset */ 396 ldw,s \index(\pmd),\pmd 397 bb,>=,n \pmd,_PxD_PRESENT_BIT,\fault 398 dep %r0,31,PxD_FLAG_SHIFT,\pmd /* clear flags */ 399 SHLREG \pmd,PxD_VALUE_SHIFT,\pmd 401 dep %r0,31,PAGE_SHIFT,\pmd /* clear offset */ 402 shladd \index,BITS_PER_PTE_ENTRY,\pmd,\pm [all...] |
/linux-master/arch/x86/kernel/ |
H A D | head32.c | 98 #define SET_PL2(val) { .pmd = (val), }
|
/linux-master/arch/powerpc/include/asm/nohash/64/ |
H A D | pgtable.h | 96 static inline pte_t pmd_pte(pmd_t pmd) argument 98 return __pte(pmd_val(pmd)); 101 #define pmd_none(pmd) (!pmd_val(pmd)) 102 #define pmd_bad(pmd) (!is_kernel_addr(pmd_val(pmd)) \ 103 || (pmd_val(pmd) & PMD_BAD_BITS)) 104 #define pmd_present(pmd) (!pmd_none(pmd)) 105 #define pmd_page_vaddr(pmd) ((cons [all...] |
/linux-master/arch/powerpc/include/asm/nohash/ |
H A D | pgtable.h | 354 static inline int pmd_huge(pmd_t pmd) argument
|
/linux-master/arch/powerpc/include/asm/nohash/32/ |
H A D | pte-8xx.h | 176 static inline int number_of_cells_per_pte(pmd_t *pmd, pte_basic_t val, int huge) argument 180 else if (hugepd_ok(*((hugepd_t *)pmd))) 195 pmd_t *pmd = pmd_off(mm, addr); local 197 num = number_of_cells_per_pte(pmd, new, huge);
|
H A D | pgtable.h | 40 * are an index to the second level table. The combined pgdir/pmd first 156 #define pmd_none(pmd) (!pmd_val(pmd)) 157 #define pmd_bad(pmd) (pmd_val(pmd) & _PMD_BAD) 158 #define pmd_present(pmd) (pmd_val(pmd) & _PMD_PRESENT_MASK) 165 * Note that on Book E processors, the pmd contains the kernel virtual 168 * handler). On everything else the pmd contains the physical address 172 #define pmd_pfn(pmd) (pmd_va [all...] |
/linux-master/arch/powerpc/include/asm/book3s/32/ |
H A D | pgtable.h | 124 * are an index to the second level table. The combined pgdir/pmd first 218 #define pmd_none(pmd) (!pmd_val(pmd)) 219 #define pmd_bad(pmd) (pmd_val(pmd) & _PMD_BAD) 220 #define pmd_present(pmd) (pmd_val(pmd) & _PMD_PRESENT_MASK) 343 #define pmd_pfn(pmd) (pmd_val(pmd) >> PAGE_SHIFT) 344 #define pmd_page(pmd) pfn_to_pag [all...] |
/linux-master/include/asm-generic/ |
H A D | pgalloc.h | 146 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) argument 148 struct ptdesc *ptdesc = virt_to_ptdesc(pmd); 150 BUG_ON((unsigned long)pmd & (PAGE_SIZE-1));
|
/linux-master/drivers/pmdomain/starfive/ |
H A D | jh71xx-pmu.c | 65 int (*pmu_set_state)(struct jh71xx_pmu_dev *pmd, 85 static int jh71xx_pmu_get_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool *is_on) argument 87 struct jh71xx_pmu *pmu = pmd->pmu; 97 static int jh7110_pmu_set_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool on) argument 99 struct jh71xx_pmu *pmu = pmd->pmu; 158 pmd->genpd.name, on ? "on" : "off"); 165 static int jh7110_aon_pmu_set_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool on) argument 167 struct jh71xx_pmu *pmu = pmd->pmu; 185 static int jh71xx_pmu_set_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool on) argument 187 struct jh71xx_pmu *pmu = pmd 210 struct jh71xx_pmu_dev *pmd = container_of(genpd, local 219 struct jh71xx_pmu_dev *pmd = container_of(genpd, local 289 struct jh71xx_pmu_dev *pmd; local [all...] |
/linux-master/drivers/pmdomain/renesas/ |
H A D | rmobile-sysc.c | 303 struct device_node *np, *pmd; local 315 pmd = of_get_child_by_name(np, "pm-domains"); 316 if (!pmd) { 328 ret = rmobile_add_pm_domains(base, pmd, NULL); 329 of_node_put(pmd);
|
/linux-master/arch/m68k/sun3x/ |
H A D | dvma.c | 98 pmd_t *pmd; local 101 if((pmd = pmd_alloc(&init_mm, pud, vaddr)) == NULL) { 115 if((pte = pte_alloc_kernel(pmd, vaddr)) == NULL) {
|