/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,
|
H A D | kexec.h | 150 pmd_t *pmd; member in struct:kimage_arch
|
/linux-master/arch/loongarch/kvm/ |
H A D | mmu.c | 181 * The last level is small pte page or huge pmd page 672 pmd_t pmd; local 710 pmd = READ_ONCE(*pmd_offset(&pud, hva)); 711 if (pmd_none(pmd) || !pmd_present(pmd)) 714 if (kvm_pte_huge(pmd_val(pmd))) 877 * previous pmd entry is invalid_pte_table
|
/linux-master/arch/s390/mm/ |
H A D | gmap.c | 560 pmd_t *pmd; local 603 pmd = pmd_offset(pud, vmaddr); 604 VM_BUG_ON(pmd_none(*pmd)); 606 if (pmd_leaf(*pmd) && !gmap->mm->context.allow_gmap_hpage_1m) 612 ptl = pmd_lock(mm, pmd); 618 if (pmd_leaf(*pmd)) { 619 *table = (pmd_val(*pmd) & 623 *table = pmd_val(*pmd) & 627 !(pmd_val(*pmd) & _SEGMENT_ENTRY_PROTECT)) { 922 * and return the pmd pointe 2521 thp_split_walk_pmd_entry(pmd_t *pmd, unsigned long addr, unsigned long end, struct mm_walk *walk) argument 2723 __s390_enable_skey_pmd(pmd_t *pmd, unsigned long addr, unsigned long next, struct mm_walk *walk) argument 2734 pmd_t *pmd = (pmd_t *)pte; local [all...] |
/linux-master/mm/ |
H A D | page_idle.c | 69 if (pmdp_clear_young_notify(vma, addr, pvmw.pmd)) 72 /* unexpected pmd-mapped page? */
|
H A D | rmap.c | 52 * mapping->i_mmap_rwsem (also used for hugetlb pmd sharing) 809 pmd_t *pmd = NULL; local 823 pmd = pmd_offset(pud, address); 825 return pmd; 885 pvmw.pmd)) 888 /* unexpected pmd-mapped folio? */ 1010 * We have to assume the worse case ie pmd for invalidation. Note that 1036 pmd_t *pmd = pvmw->pmd; local 1039 if (!pmd_dirty(*pmd) [all...] |
H A D | memory-failure.c | 400 pmd_t *pmd; local 416 pmd = pmd_offset(pud, address); 417 if (!pmd_present(*pmd)) 419 if (pmd_devmap(*pmd)) 421 pte = pte_offset_map(pmd, address); 777 pmd_t pmd = *pmdp; local 781 if (!pmd_present(pmd)) 783 pfn = pmd_pfn(pmd); 1201 * To narrow down kill region to one page, we need to break up pmd.
|
H A D | vmscan.c | 3297 static unsigned long get_pmd_pfn(pmd_t pmd, struct vm_area_struct *vma, unsigned long addr) argument 3299 unsigned long pfn = pmd_pfn(pmd); 3303 if (!pmd_present(pmd) || is_huge_zero_pmd(pmd)) 3306 if (WARN_ON_ONCE(pmd_devmap(pmd))) 3346 static bool walk_pte_range(pmd_t *pmd, unsigned long start, unsigned long end, argument 3361 pte = pte_offset_map_nolock(args->mm, pmd, start & PMD_MASK, &ptl); 3421 pmd_t *pmd; local 3444 pmd = pmd_offset(pud, *first); 3446 ptl = pmd_lockptr(args->mm, pmd); 3500 pmd_t *pmd; local [all...] |
H A D | migrate.c | 306 void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, argument 314 ptep = pte_offset_map_lock(mm, pmd, address, &ptl); 367 void pmd_migration_entry_wait(struct mm_struct *mm, pmd_t *pmd) argument 371 ptl = pmd_lock(mm, pmd); 372 if (!is_pmd_migration_entry(*pmd)) 374 migration_entry_wait_on_locked(pmd_to_swp_entry(*pmd), ptl); 1553 * the hugepage is pmd-based or not before kicking migration.
|
H A D | internal.h | 306 void pmd_install(struct mm_struct *mm, pmd_t *pmd, pgtable_t *pte); 844 * under page table lock for the pte/pmd being added or removed. 888 extern pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma); 1195 pmd_t *pmd, bool write);
|
H A D | swapfile.c | 1806 static int unuse_pte(struct vm_area_struct *vma, pmd_t *pmd, argument 1829 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl); 1897 static int unuse_pte_range(struct vm_area_struct *vma, pmd_t *pmd, argument 1914 pte = pte_offset_map(pmd, addr); 1939 .pmd = pmd, 1956 ret = unuse_pte(vma, pmd, addr, entry, folio); 1977 pmd_t *pmd; local 1981 pmd = pmd_offset(pud, addr); 1985 ret = unuse_pte_range(vma, pmd, add [all...] |
/linux-master/arch/x86/kernel/ |
H A D | head32.c | 98 #define SET_PL2(val) { .pmd = (val), }
|
H A D | ldt.c | 256 had_kernel = (k_pmd->pmd != 0); 257 had_user = (u_pmd->pmd != 0);
|
/linux-master/arch/riscv/mm/ |
H A D | kasan_init.c | 29 static void __init kasan_populate_pte(pmd_t *pmd, unsigned long vaddr, unsigned long end) argument 34 if (pmd_none(pmdp_get(pmd))) { 36 set_pmd(pmd, pfn_pmd(PFN_DOWN(__pa(p)), PAGE_TABLE)); 39 ptep = pte_offset_kernel(pmd, vaddr);
|
H A D | init.c | 227 * any allocation to happen between _end and the next pmd aligned page. 1216 * FIX_BTMAP_BEGIN should lie in the same pmd. Verify that and warn 1420 void __meminit vmemmap_set_pmd(pmd_t *pmd, void *p, int node, argument 1423 pmd_set_huge(pmd, virt_to_phys(p), PAGE_KERNEL); 1463 pmd_t *pmd; local 1481 lvl = "pmd"; 1482 pmd = pmd_alloc(&init_mm, pud, addr); 1483 if (!pmd)
|
/linux-master/arch/parisc/kernel/ |
H A D | cache.c | 391 pmd_t *pmd; local 398 pmd = pmd_offset(pud, addr); 399 if (!pmd_none(*pmd)) 400 ptep = pte_offset_map(pmd, addr);
|
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/mm/damon/ |
H A D | paddr.c | 29 damon_pmdp_mkold(pvmw.pmd, vma, addr); 102 *accessed = pmd_young(pmdp_get(pvmw.pmd)) ||
|
/linux-master/arch/sparc/mm/ |
H A D | srmmu.c | 106 static inline int srmmu_pmd_none(pmd_t pmd) argument 107 { return !(pmd_val(pmd) & 0xFFFFFFF); } 273 pmd_t *pmd; local 308 pmd = pmd_offset(__nocache_fix(pud), vaddr); 309 pte = pte_offset_kernel(__nocache_fix(pmd), vaddr); 697 early_pgtable_allocfail("pmd"); 731 early_pgtable_allocfail("pmd"); 782 int what; /* 0 = normal-pte, 1 = pmd-level pte, 2 = pgd-level pte */ 822 early_pgtable_allocfail("pmd"); 903 pmd_t *pmd; local [all...] |
/linux-master/arch/arm64/mm/ |
H A D | fault.c | 166 pmd_t *pmdp, pmd; local 185 pmd = READ_ONCE(*pmdp); 186 pr_cont(", pmd=%016llx", pmd_val(pmd)); 187 if (pmd_none(pmd) || pmd_bad(pmd))
|
/linux-master/include/linux/ |
H A D | hugetlb.h | 194 static inline pte_t *pte_offset_huge(pmd_t *pmd, unsigned long address) argument 196 return pte_offset_kernel(pmd, address); 198 static inline pte_t *pte_alloc_huge(struct mm_struct *mm, pmd_t *pmd, argument 201 return pte_alloc(mm, pmd) ? NULL : pte_offset_huge(pmd, address); 221 * (1) For private mappings: pmd unsharing is not possible, so holding the 226 * (2) For shared mappings: pmd unsharing is possible (so the PUD-ranged 227 * pgtable page can go away from under us! It can be done by a pmd 231 * (2.1) hugetlb vma lock read or write held, to make sure pmd unshare 239 * Option (2.1) is the safest, which guarantees pte stability from pmd [all...] |
/linux-master/arch/arc/mm/ |
H A D | tlb.c | 531 pmd_t *pmd) 533 pte_t pte = __pte(pmd_val(*pmd)); 530 update_mmu_cache_pmd(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmd) argument
|
/linux-master/arch/x86/include/asm/xen/ |
H A D | page.h | 334 #define pmd_val_ma(v) ((v).pmd)
|
/linux-master/arch/powerpc/mm/nohash/ |
H A D | 8xx.c | 219 int pmd_clear_huge(pmd_t *pmd) argument
|
/linux-master/arch/arm/kernel/ |
H A D | traps.c | 766 void __pmd_error(const char *file, int line, pmd_t pmd) argument 768 pr_err("%s:%d: bad pmd %08llx.\n", file, line, (long long)pmd_val(pmd));
|