| /arch/powerpc/include/asm/book3s/64/ |
| A D | pgalloc.h | 42 free_page((unsigned long)pgd); in radix__pgd_free() 44 free_pages((unsigned long)pgd, 4); in radix__pgd_free() 50 pgd_t *pgd; in pgd_alloc() local 55 pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE), in pgd_alloc() 57 if (unlikely(!pgd)) in pgd_alloc() 58 return pgd; in pgd_alloc() 65 kmemleak_no_scan(pgd); in pgd_alloc() 76 memset(pgd, 0, PGD_TABLE_SIZE); in pgd_alloc() 78 return pgd; in pgd_alloc() 84 return radix__pgd_free(mm, pgd); in pgd_free() [all …]
|
| /arch/x86/mm/ |
| A D | kasan_init_64.c | 129 if (pgd_none(*pgd)) { in kasan_populate_pgd() 144 pgd_t *pgd; in kasan_populate_shadow() local 149 pgd = pgd_offset_k(addr); in kasan_populate_shadow() 170 pgd_t *pgd; in clear_pgds() local 181 pgd_clear(pgd); in clear_pgds() 196 return (p4d_t *)pgd; in early_p4d_offset() 211 if (pgd_none(*pgd)) { in kasan_early_p4d_populate() 214 set_pgd(pgd, pgd_entry); in kasan_early_p4d_populate() 237 pgd += pgd_index(addr); in kasan_map_early_shadow() 266 pgd_t *pgd; in kasan_shallow_populate_pgds() local [all …]
|
| A D | pgtable.c | 91 pgd_set_mm(pgd, mm); in pgd_ctor() 92 pgd_list_add(pgd); in pgd_ctor() 98 pgd_list_del(pgd); in pgd_dtor() 221 pgd_t pgd = *pgdp; in mop_up_one_pmd() local 324 pgd_t *pgd; in pgd_alloc() local 330 if (pgd == NULL) in pgd_alloc() 333 mm->pgd = pgd; in pgd_alloc() 353 pgd_ctor(mm, pgd); in pgd_alloc() 362 return pgd; in pgd_alloc() 371 _pgd_free(mm, pgd); in pgd_alloc() [all …]
|
| A D | pti.c | 142 if (!pgdp_maps_userspace(pgdp) || (pgd.pgd & _PAGE_NOPTISHADOW)) in __pti_set_user_pgtbl() 143 return pgd; in __pti_set_user_pgtbl() 149 kernel_to_user_pgdp(pgdp)->pgd = pgd.pgd; in __pti_set_user_pgtbl() 164 if ((pgd.pgd & (_PAGE_USER|_PAGE_PRESENT)) == (_PAGE_USER|_PAGE_PRESENT) && in __pti_set_user_pgtbl() 166 pgd.pgd |= _PAGE_NX; in __pti_set_user_pgtbl() 169 return pgd; in __pti_set_user_pgtbl() 188 if (pgd_none(*pgd)) { in pti_user_pagetable_walk_p4d() 195 BUILD_BUG_ON(pgd_leaf(*pgd)); in pti_user_pagetable_walk_p4d() 327 pgd_t *pgd; in pti_clone_pgtable() local 335 pgd = pgd_offset_k(addr); in pti_clone_pgtable() [all …]
|
| A D | ident_map.c | 50 static void free_p4d(struct x86_mapping_info *info, pgd_t *pgd) in free_p4d() argument 52 p4d_t *p4d = p4d_offset(pgd, 0); in free_p4d() 66 void kernel_ident_mapping_free(struct x86_mapping_info *info, pgd_t *pgd) in kernel_ident_mapping_free() argument 71 if (!pgd_present(pgd[i])) in kernel_ident_mapping_free() 74 free_p4d(info, &pgd[i]); in kernel_ident_mapping_free() 77 info->free_pgt_page(pgd, info->context); in kernel_ident_mapping_free() 194 pgd_t *pgd = pgd_page + pgd_index(addr); in kernel_ident_mapping_init() local 198 if (pgd_present(*pgd)) { in kernel_ident_mapping_init() 199 p4d = p4d_offset(pgd, 0); in kernel_ident_mapping_init() 213 set_pgd(pgd, __pgd(__pa(p4d) | info->kernpg_flag | _PAGE_NOPTISHADOW)); in kernel_ident_mapping_init() [all …]
|
| A D | init_64.c | 150 pgd_t *pgd; in sync_global_pgds_l5() local 161 if (pgd_none(*pgd)) in sync_global_pgds_l5() 191 pgd_t *pgd; in sync_global_pgds_l4() local 251 if (pgd_none(*pgd)) { in fill_p4d() 327 pgd_t *pgd; in set_pte_vaddr() local 333 if (pgd_none(*pgd)) { in set_pte_vaddr() 345 pgd_t *pgd; in populate_extra_pmd() local 369 pgd_t *pgd; in __init_extra_mapping() local 380 if (pgd_none(*pgd)) { in __init_extra_mapping() 1245 pgd_t *pgd; in remove_pagetable() local [all …]
|
| /arch/arm/mm/ |
| A D | pgd.c | 21 #define _pgd_free(mm, pgd) kfree(pgd) argument 24 #define _pgd_free(mm, pgd) __pgd_free(mm, pgd) argument 142 pgd_t *pgd; in pgd_free() local 151 pgd = pgd_base + pgd_index(0); in pgd_free() 152 if (pgd_none_or_clear_bad(pgd)) in pgd_free() 155 p4d = p4d_offset(pgd, 0); in pgd_free() 179 pgd_clear(pgd); in pgd_free() 186 for (pgd = pgd_base; pgd < pgd_base + PTRS_PER_PGD; pgd++) { in pgd_free() 187 if (pgd_none_or_clear_bad(pgd)) in pgd_free() 191 p4d = p4d_offset(pgd, 0); in pgd_free() [all …]
|
| /arch/riscv/include/asm/ |
| A D | pgalloc.h | 67 set_pgd(pgd, __pgd((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE)); in pgd_populate() 71 static inline void pgd_populate_safe(struct mm_struct *mm, pgd_t *pgd, in pgd_populate_safe() argument 77 set_pgd_safe(pgd, in pgd_populate_safe() 104 static inline void sync_kernel_mappings(pgd_t *pgd) in sync_kernel_mappings() argument 106 memcpy(pgd + USER_PTRS_PER_PGD, in sync_kernel_mappings() 107 init_mm.pgd + USER_PTRS_PER_PGD, in sync_kernel_mappings() 113 pgd_t *pgd; in pgd_alloc() local 115 pgd = __pgd_alloc(mm, 0); in pgd_alloc() 116 if (likely(pgd != NULL)) { in pgd_alloc() 118 sync_kernel_mappings(pgd); in pgd_alloc() [all …]
|
| A D | pgtable-64.h | 344 WRITE_ONCE(*pgdp, pgd); in set_pgd() 349 static inline int pgd_none(pgd_t pgd) in pgd_none() argument 352 return (pgd_val(pgd) == 0); in pgd_none() 357 static inline int pgd_present(pgd_t pgd) in pgd_present() argument 360 return (pgd_val(pgd) & _PAGE_PRESENT); in pgd_present() 365 static inline int pgd_bad(pgd_t pgd) in pgd_bad() argument 368 return !pgd_present(pgd); in pgd_bad() 373 static inline void pgd_clear(pgd_t *pgd) in pgd_clear() argument 376 set_pgd(pgd, __pgd(0)); in pgd_clear() 386 #define pgd_page_vaddr(pgd) ((unsigned long)pgd_pgtable(pgd)) argument [all …]
|
| /arch/sh/mm/ |
| A D | hugetlbpage.c | 27 pgd_t *pgd; in huge_pte_alloc() local 33 pgd = pgd_offset(mm, addr); in huge_pte_alloc() 34 if (pgd) { in huge_pte_alloc() 35 p4d = p4d_alloc(mm, pgd, addr); in huge_pte_alloc() 52 pgd_t *pgd; in huge_pte_offset() local 58 pgd = pgd_offset(mm, addr); in huge_pte_offset() 59 if (pgd) { in huge_pte_offset() 60 p4d = p4d_offset(pgd, addr); in huge_pte_offset()
|
| A D | fault.c | 39 pgd_t *pgd; in show_pte() local 42 pgd = mm->pgd; in show_pte() 44 pgd = get_TTB(); in show_pte() 46 if (unlikely(!pgd)) in show_pte() 47 pgd = swapper_pg_dir; in show_pte() 50 pr_alert("pgd = %p\n", pgd); in show_pte() 51 pgd += pgd_index(addr); in show_pte() 53 (u64)pgd_val(*pgd)); in show_pte() 61 if (pgd_none(*pgd)) in show_pte() 64 if (pgd_bad(*pgd)) { in show_pte() [all …]
|
| A D | pgtable.c | 14 pgd_t *pgd = x; in pgd_ctor() local 16 memset(pgd, 0, USER_PTRS_PER_PGD * sizeof(pgd_t)); in pgd_ctor() 17 memcpy(pgd + USER_PTRS_PER_PGD, in pgd_ctor() 39 void pgd_free(struct mm_struct *mm, pgd_t *pgd) in pgd_free() argument 41 kmem_cache_free(pgd_cachep, pgd); in pgd_free()
|
| /arch/riscv/kvm/ |
| A D | mmu.c | 30 gstage.pgd = kvm->arch.pgd; in mmu_wp_memory_region() 54 gstage.pgd = kvm->arch.pgd; in kvm_riscv_mmu_ioremap() 92 gstage.pgd = kvm->arch.pgd; in kvm_riscv_mmu_iounmap() 112 gstage.pgd = kvm->arch.pgd; in kvm_arch_mmu_enable_log_dirty_pt_masked() 144 gstage.pgd = kvm->arch.pgd; in kvm_arch_flush_shadow_memslot() 270 gstage.pgd = kvm->arch.pgd; in kvm_unmap_gfn_range() 292 gstage.pgd = kvm->arch.pgd; in kvm_age_gfn() 315 gstage.pgd = kvm->arch.pgd; in kvm_test_age_gfn() 344 gstage.pgd = kvm->arch.pgd; in kvm_riscv_mmu_map() 463 gstage.pgd = kvm->arch.pgd; in kvm_riscv_mmu_free_pgd() [all …]
|
| /arch/mips/mm/ |
| A D | hugetlbpage.c | 27 pgd_t *pgd; in huge_pte_alloc() local 32 pgd = pgd_offset(mm, addr); in huge_pte_alloc() 33 p4d = p4d_alloc(mm, pgd, addr); in huge_pte_alloc() 44 pgd_t *pgd; in huge_pte_offset() local 49 pgd = pgd_offset(mm, addr); in huge_pte_offset() 50 if (pgd_present(*pgd)) { in huge_pte_offset() 51 p4d = p4d_offset(pgd, addr); in huge_pte_offset()
|
| /arch/x86/power/ |
| A D | hibernate_32.c | 30 static pmd_t *resume_one_md_table_init(pgd_t *pgd) in resume_one_md_table_init() argument 41 set_pgd(pgd, __pgd(__pa(pmd_table) | _PAGE_PRESENT)); in resume_one_md_table_init() 42 p4d = p4d_offset(pgd, 0); in resume_one_md_table_init() 47 p4d = p4d_offset(pgd, 0); in resume_one_md_table_init() 84 pgd_t *pgd; in resume_physical_mapping_init() local 90 pgd = pgd_base + pgd_idx; in resume_physical_mapping_init() 93 for (; pgd_idx < PTRS_PER_PGD; pgd++, pgd_idx++) { in resume_physical_mapping_init() 94 pmd = resume_one_md_table_init(pgd); in resume_physical_mapping_init() 147 pgd_t *pgd; in set_up_temporary_text_mapping() local 151 pgd = pgd_base + pgd_index(restore_jump_address); in set_up_temporary_text_mapping() [all …]
|
| A D | hibernate_64.c | 28 static int set_up_temporary_text_mapping(pgd_t *pgd) in set_up_temporary_text_mapping() argument 77 set_pgd(pgd + pgd_index(restore_jump_address), new_pgd); in set_up_temporary_text_mapping() 81 set_pgd(pgd + pgd_index(restore_jump_address), new_pgd); in set_up_temporary_text_mapping() 100 pgd_t *pgd; in set_up_temporary_mappings() local 104 pgd = (pgd_t *)get_safe_page(GFP_ATOMIC); in set_up_temporary_mappings() 105 if (!pgd) in set_up_temporary_mappings() 109 result = set_up_temporary_text_mapping(pgd); in set_up_temporary_mappings() 118 result = kernel_ident_mapping_init(&info, pgd, mstart, mend); in set_up_temporary_mappings() 123 temp_pgt = __pa(pgd); in set_up_temporary_mappings()
|
| /arch/hexagon/include/asm/ |
| A D | pgalloc.h | 23 pgd_t *pgd; in pgd_alloc() local 25 pgd = __pgd_alloc(mm, 0); in pgd_alloc() 35 memcpy(pgd, swapper_pg_dir, PTRS_PER_PGD*sizeof(pgd_t)); in pgd_alloc() 39 mm->context.ptbase = __pa(pgd); in pgd_alloc() 41 return pgd; in pgd_alloc() 83 pmdindex = (pgd_t *)pmd - mm->pgd; in pmd_populate_kernel() 84 ppmd = (pmd_t *)current->active_mm->pgd + pmdindex; in pmd_populate_kernel()
|
| /arch/loongarch/mm/ |
| A D | hugetlbpage.c | 19 pgd_t *pgd; in huge_pte_alloc() local 24 pgd = pgd_offset(mm, addr); in huge_pte_alloc() 25 p4d = p4d_alloc(mm, pgd, addr); in huge_pte_alloc() 36 pgd_t *pgd; in huge_pte_offset() local 41 pgd = pgd_offset(mm, addr); in huge_pte_offset() 42 if (pgd_present(pgdp_get(pgd))) { in huge_pte_offset() 43 p4d = p4d_offset(pgd, addr); in huge_pte_offset()
|
| /arch/x86/kernel/acpi/ |
| A D | madt_wakeup.c | 82 pgd_t *pgd; in acpi_mp_setup_reset() local 84 pgd = alloc_pgt_page(NULL); in acpi_mp_setup_reset() 85 if (!pgd) in acpi_mp_setup_reset() 91 if (kernel_ident_mapping_init(&info, pgd, mstart, mend)) { in acpi_mp_setup_reset() 92 kernel_ident_mapping_free(&info, pgd); in acpi_mp_setup_reset() 99 if (kernel_ident_mapping_init(&info, pgd, mstart, mend)) { in acpi_mp_setup_reset() 100 kernel_ident_mapping_free(&info, pgd); in acpi_mp_setup_reset() 114 if (kernel_ident_mapping_init(&info, pgd, mstart, mend)) { in acpi_mp_setup_reset() 115 kernel_ident_mapping_free(&info, pgd); in acpi_mp_setup_reset() 124 acpi_mp_pgd = __pa(pgd); in acpi_mp_setup_reset()
|
| /arch/x86/kernel/ |
| A D | machine_kexec_32.c | 45 free_pages((unsigned long)image->arch.pgd, pgd_allocation_order()); in machine_kexec_free_page_tables() 46 image->arch.pgd = NULL; in machine_kexec_free_page_tables() 69 if (!image->arch.pgd || in machine_kexec_alloc_page_tables() 80 pgd_t *pgd, pmd_t *pmd, pte_t *pte, in machine_kexec_page_table_set_one() argument 86 pgd += pgd_index(vaddr); in machine_kexec_page_table_set_one() 88 if (!(pgd_val(*pgd) & _PAGE_PRESENT)) in machine_kexec_page_table_set_one() 89 set_pgd(pgd, __pgd(__pa(pmd) | _PAGE_PRESENT)); in machine_kexec_page_table_set_one() 91 p4d = p4d_offset(pgd, vaddr); in machine_kexec_page_table_set_one() 110 image->arch.pgd, pmd, image->arch.pte0, in machine_kexec_prepare_page_tables() 116 image->arch.pgd, pmd, image->arch.pte1, in machine_kexec_prepare_page_tables() [all …]
|
| /arch/powerpc/include/asm/nohash/ |
| A D | pgalloc.h | 22 pgd_t *pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE), in pgd_alloc() local 26 memcpy(pgd + USER_PTRS_PER_PGD, swapper_pg_dir + USER_PTRS_PER_PGD, in pgd_alloc() 29 return pgd; in pgd_alloc() 32 static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) in pgd_free() argument 34 kmem_cache_free(PGT_CACHE(PGD_INDEX_SIZE), pgd); in pgd_free()
|
| /arch/x86/boot/startup/ |
| A D | map_kernel.c | 95 pgdval_t *pgd; in __startup_64() local 126 pgd = rip_rel_ptr(early_top_pgt); in __startup_64() 127 pgd[pgd_index(__START_KERNEL_map)] += load_delta; in __startup_64() 133 pgd[pgd_index(__START_KERNEL_map)] = (pgdval_t)p4d | _PAGE_TABLE; in __startup_64() 159 pgd[i + 0] = (pgdval_t)p4d + pgtable_flags; in __startup_64() 160 pgd[i + 1] = (pgdval_t)p4d + pgtable_flags; in __startup_64() 167 pgd[i + 0] = (pgdval_t)pud + pgtable_flags; in __startup_64() 168 pgd[i + 1] = (pgdval_t)pud + pgtable_flags; in __startup_64()
|
| /arch/parisc/mm/ |
| A D | hugetlbpage.c | 29 pgd_t *pgd; in huge_pte_alloc() local 42 pgd = pgd_offset(mm, addr); in huge_pte_alloc() 43 p4d = p4d_offset(pgd, addr); in huge_pte_alloc() 56 pgd_t *pgd; in huge_pte_offset() local 64 pgd = pgd_offset(mm, addr); in huge_pte_offset() 65 if (!pgd_none(*pgd)) { in huge_pte_offset() 66 p4d = p4d_offset(pgd, addr); in huge_pte_offset()
|
| /arch/microblaze/include/asm/ |
| A D | mmu_context_mm.h | 50 extern void set_context(mm_context_t context, pgd_t *pgd); 117 tsk->thread.pgdir = next->pgd; in switch_mm() 119 set_context(next->context, next->pgd); in switch_mm() 130 current->thread.pgdir = mm->pgd; in activate_mm() 132 set_context(mm->context, mm->pgd); in activate_mm()
|
| /arch/um/kernel/ |
| A D | tlb.c | 138 static inline int update_p4d_range(pgd_t *pgd, unsigned long addr, in update_p4d_range() argument 146 p4d = p4d_offset(pgd, addr); in update_p4d_range() 163 pgd_t *pgd; in um_tlb_sync() local 180 pgd = pgd_offset(mm, addr); in um_tlb_sync() 183 if (!pgd_present(*pgd)) { in um_tlb_sync() 184 if (pgd_needsync(*pgd)) { in um_tlb_sync() 187 pgd_mkuptodate(*pgd); in um_tlb_sync() 190 ret = update_p4d_range(pgd, addr, next, &ops); in um_tlb_sync() 191 } while (pgd++, addr = next, in um_tlb_sync()
|