/linux-6.3-rc2/drivers/accel/ivpu/ |
A D | ivpu_mmu_context.c | 45 pgtable->pgd = pgd; in ivpu_mmu_pgtable_init() 46 pgtable->pgd_dma = pgd_dma; in ivpu_mmu_pgtable_init() 57 u64 *pmd = pgtable->pgd_entries[pgd_index]; in ivpu_mmu_pgtable_free() 85 if (pgtable->pgd_entries[pgd_index]) in ivpu_mmu_ensure_pmd() 86 return pgtable->pgd_entries[pgd_index]; in ivpu_mmu_ensure_pmd() 96 pgtable->pgd_entries[pgd_index] = pmd; in ivpu_mmu_ensure_pmd() 97 pgtable->pgd_cpu_entries[pgd_index] = pmd_entries; in ivpu_mmu_ensure_pmd() 165 u64 *pgd = ctx->pgtable.pgd; in ivpu_mmu_context_flush_page_tables() 173 u64 *pmd = ctx->pgtable.pgd_entries[pgd_index]; in ivpu_mmu_context_flush_page_tables() 337 drm_WARN_ON(&vdev->drm, !ctx->pgtable.pgd); in ivpu_mmu_context_fini() [all …]
|
/linux-6.3-rc2/drivers/iommu/amd/ |
A D | io_pgtable_v2.c | 204 static u64 *fetch_pte(struct amd_io_pgtable *pgtable, in fetch_pte() argument 211 pte = &pgtable->pgd[PM_LEVEL_INDEX(level, iova)]; in fetch_pte() 299 struct io_pgtable_cfg *cfg = &pgtable->iop.cfg; in iommu_v2_unmap_pages() 309 pte = fetch_pte(pgtable, iova, &unmap_size); in iommu_v2_unmap_pages() 328 pte = fetch_pte(pgtable, iova, &pte_pgsize); in iommu_v2_iova_to_phys() 378 free_pgtable(pgtable->pgd, get_pgtable_level()); in v2_free_pgtable() 387 pgtable->pgd = alloc_pgtable_page(); in v2_alloc_pgtable() 388 if (!pgtable->pgd) in v2_alloc_pgtable() 395 pgtable->iop.ops.map_pages = iommu_v2_map_pages; in v2_alloc_pgtable() 404 return &pgtable->iop; in v2_alloc_pgtable() [all …]
|
A D | io_pgtable.c | 290 static u64 *fetch_pte(struct amd_io_pgtable *pgtable, in fetch_pte() argument 299 if (address > PM_LEVEL_SIZE(pgtable->mode)) in fetch_pte() 302 level = pgtable->mode - 1; in fetch_pte() 454 pte = fetch_pte(pgtable, iova, &unmap_size); in iommu_v1_unmap_pages() 478 pte = fetch_pte(pgtable, iova, &pte_pgsize); in iommu_v1_iova_to_phys() 498 if (pgtable->mode == PAGE_MODE_NONE) in v1_free_pgtable() 504 BUG_ON(pgtable->mode < PAGE_MODE_NONE || in v1_free_pgtable() 505 pgtable->mode > PAGE_MODE_6_LEVEL); in v1_free_pgtable() 507 free_sub_pt(pgtable->root, pgtable->mode, &freelist); in v1_free_pgtable() 527 pgtable->iop.ops.map_pages = iommu_v1_map_pages; in v1_alloc_pgtable() [all …]
|
/linux-6.3-rc2/mm/ |
A D | pgtable-generic.c | 163 pgtable_t pgtable) in pgtable_trans_huge_deposit() argument 169 INIT_LIST_HEAD(&pgtable->lru); in pgtable_trans_huge_deposit() 171 list_add(&pgtable->lru, &pmd_huge_pte(mm, pmdp)->lru); in pgtable_trans_huge_deposit() 172 pmd_huge_pte(mm, pmdp) = pgtable; in pgtable_trans_huge_deposit() 180 pgtable_t pgtable; in pgtable_trans_huge_withdraw() local 185 pgtable = pmd_huge_pte(mm, pmdp); in pgtable_trans_huge_withdraw() 186 pmd_huge_pte(mm, pmdp) = list_first_entry_or_null(&pgtable->lru, in pgtable_trans_huge_withdraw() 189 list_del(&pgtable->lru); in pgtable_trans_huge_withdraw() 190 return pgtable; in pgtable_trans_huge_withdraw()
|
A D | huge_memory.c | 659 pgtable_t pgtable; in __do_huge_pmd_anonymous_page() local 725 if (pgtable) in __do_huge_pmd_anonymous_page() 798 pgtable_t pgtable; in do_huge_pmd_anonymous_page() local 845 pgtable_t pgtable) in insert_pfn_pmd() argument 875 if (pgtable) { in insert_pfn_pmd() 878 pgtable = NULL; in insert_pfn_pmd() 886 if (pgtable) in insert_pfn_pmd() 926 if (!pgtable) in vmf_insert_pfn_pmd_prot() 1666 pgtable_t pgtable; in zap_deposited_table() local 2039 pgtable_t pgtable; in __split_huge_zero_page_pmd() local [all …]
|
A D | hugetlb_vmemmap.c | 45 pte_t *pgtable = pte_alloc_one_kernel(&init_mm); in __split_vmemmap_huge_pmd() local 47 if (!pgtable) in __split_vmemmap_huge_pmd() 50 pmd_populate_kernel(&init_mm, &__pmd, pgtable); in __split_vmemmap_huge_pmd() 73 pmd_populate_kernel(&init_mm, pmd, pgtable); in __split_vmemmap_huge_pmd() 76 pte_free_kernel(&init_mm, pgtable); in __split_vmemmap_huge_pmd()
|
/linux-6.3-rc2/arch/sparc/mm/ |
A D | tlb.c | 265 pgtable_t pgtable) in pgtable_trans_huge_deposit() argument 267 struct list_head *lh = (struct list_head *) pgtable; in pgtable_trans_huge_deposit() 276 pmd_huge_pte(mm, pmdp) = pgtable; in pgtable_trans_huge_deposit() 282 pgtable_t pgtable; in pgtable_trans_huge_withdraw() local 287 pgtable = pmd_huge_pte(mm, pmdp); in pgtable_trans_huge_withdraw() 288 lh = (struct list_head *) pgtable; in pgtable_trans_huge_withdraw() 295 pte_val(pgtable[0]) = 0; in pgtable_trans_huge_withdraw() 296 pte_val(pgtable[1]) = 0; in pgtable_trans_huge_withdraw() 298 return pgtable; in pgtable_trans_huge_withdraw()
|
/linux-6.3-rc2/drivers/gpu/drm/etnaviv/ |
A D | etnaviv_iommu.c | 93 u32 pgtable; in etnaviv_iommuv1_restore() local 107 pgtable = (u32)v1_context->pgtable_dma; in etnaviv_iommuv1_restore() 109 gpu_write(gpu, VIVS_MC_MMU_FE_PAGE_TABLE, pgtable); in etnaviv_iommuv1_restore() 110 gpu_write(gpu, VIVS_MC_MMU_TX_PAGE_TABLE, pgtable); in etnaviv_iommuv1_restore() 111 gpu_write(gpu, VIVS_MC_MMU_PE_PAGE_TABLE, pgtable); in etnaviv_iommuv1_restore() 112 gpu_write(gpu, VIVS_MC_MMU_PEZ_PAGE_TABLE, pgtable); in etnaviv_iommuv1_restore() 113 gpu_write(gpu, VIVS_MC_MMU_RA_PAGE_TABLE, pgtable); in etnaviv_iommuv1_restore()
|
/linux-6.3-rc2/arch/powerpc/mm/book3s64/ |
A D | hash_pgtable.c | 268 pgtable_t pgtable) in hash__pgtable_trans_huge_deposit() argument 277 *pgtable_slot = pgtable; in hash__pgtable_trans_huge_deposit() 289 pgtable_t pgtable; in hash__pgtable_trans_huge_withdraw() local 295 pgtable = *pgtable_slot; in hash__pgtable_trans_huge_withdraw() 304 memset(pgtable, 0, PTE_FRAG_SIZE); in hash__pgtable_trans_huge_withdraw() 305 return pgtable; in hash__pgtable_trans_huge_withdraw() 349 pgtable_t pgtable; in hash__pmdp_huge_get_and_clear() local 361 pgtable = *pgtable_slot; in hash__pmdp_huge_get_and_clear() 366 memset(pgtable, 0, PTE_FRAG_SIZE); in hash__pmdp_huge_get_and_clear()
|
A D | radix_pgtable.c | 988 pgtable_t pgtable) in radix__pgtable_trans_huge_deposit() argument 990 struct list_head *lh = (struct list_head *) pgtable; in radix__pgtable_trans_huge_deposit() 999 pmd_huge_pte(mm, pmdp) = pgtable; in radix__pgtable_trans_huge_deposit() 1005 pgtable_t pgtable; in radix__pgtable_trans_huge_withdraw() local 1011 pgtable = pmd_huge_pte(mm, pmdp); in radix__pgtable_trans_huge_withdraw() 1012 lh = (struct list_head *) pgtable; in radix__pgtable_trans_huge_withdraw() 1019 ptep = (pte_t *) pgtable; in radix__pgtable_trans_huge_withdraw() 1023 return pgtable; in radix__pgtable_trans_huge_withdraw()
|
/linux-6.3-rc2/arch/m68k/include/asm/ |
A D | mcf_pgalloc.h | 35 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pgtable, in __pte_free_tlb() argument 38 struct page *page = virt_to_page(pgtable); in __pte_free_tlb() 62 static inline void pte_free(struct mm_struct *mm, pgtable_t pgtable) in pte_free() argument 64 struct page *page = virt_to_page(pgtable); in pte_free()
|
A D | motorola_pgalloc.h | 42 static inline void pte_free(struct mm_struct *mm, pgtable_t pgtable) in pte_free() argument 44 free_pointer_table(pgtable, TABLE_PTE); in pte_free() 47 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pgtable, in __pte_free_tlb() argument 50 free_pointer_table(pgtable, TABLE_PTE); in __pte_free_tlb()
|
/linux-6.3-rc2/drivers/iommu/ |
A D | Makefile | 8 obj-$(CONFIG_IOMMU_IO_PGTABLE) += io-pgtable.o 9 obj-$(CONFIG_IOMMU_IO_PGTABLE_ARMV7S) += io-pgtable-arm-v7s.o 10 obj-$(CONFIG_IOMMU_IO_PGTABLE_LPAE) += io-pgtable-arm.o 11 obj-$(CONFIG_IOMMU_IO_PGTABLE_DART) += io-pgtable-dart.o
|
A D | exynos-iommu.c | 179 return pgtable + lv1ent_offset(iova); in section_entry() 653 __sysmmu_set_ptbase(data, data->pgtable); in __sysmmu_enable() 914 if (!domain->pgtable) in exynos_iommu_domain_alloc() 923 domain->pgtable[i] = ZERO_LV2LINK; in exynos_iommu_domain_alloc() 965 data->pgtable = 0; in exynos_iommu_domain_free() 977 if (lv1ent_page(domain->pgtable + i)) { in exynos_iommu_domain_free() 1015 data->pgtable = 0; in exynos_iommu_detach_device() 1049 data->pgtable = pagetable; in exynos_iommu_attach_device() 1238 BUG_ON(domain->pgtable == NULL); in exynos_iommu_map() 1294 BUG_ON(domain->pgtable == NULL); in exynos_iommu_unmap() [all …]
|
/linux-6.3-rc2/arch/mips/mm/ |
A D | Makefile | 14 obj-y += pgtable.o 29 obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o 30 obj-$(CONFIG_64BIT) += ioremap64.o pgtable-64.o
|
/linux-6.3-rc2/arch/x86/boot/compressed/ |
A D | pgtable_64.c | 192 void cleanup_trampoline(void *pgtable) in cleanup_trampoline() argument 203 memcpy(pgtable, trampoline_pgtable, PAGE_SIZE); in cleanup_trampoline() 204 native_write_cr3((unsigned long)pgtable); in cleanup_trampoline()
|
A D | vmlinux.lds.S | 64 .pgtable : { 66 *(.pgtable) argument
|
A D | head_64.S | 214 leal rva(pgtable)(%ebx), %edi 220 leal rva(pgtable + 0)(%ebx), %edi 226 leal rva(pgtable + 0x1000)(%ebx), %edi 237 leal rva(pgtable + 0x2000)(%ebx), %edi 248 leal rva(pgtable)(%ebx), %eax 741 SYM_DATA_LOCAL(pgtable, .fill BOOT_PGT_SIZE, 1, 0)
|
/linux-6.3-rc2/Documentation/features/debug/debug-vm-pgtable/ |
A D | arch-support.txt | 2 # Feature name: debug-vm-pgtable 4 # description: arch supports pgtable tests for semantics compliance
|
/linux-6.3-rc2/arch/powerpc/mm/ |
A D | Makefile | 8 obj-y := fault.o mem.o pgtable.o maccess.o pageattr.o \ 10 pgtable-frag.o ioremap.o ioremap_$(BITS).o \
|
/linux-6.3-rc2/arch/powerpc/kvm/ |
A D | book3s_64_mmu_radix.c | 560 if (kvm->arch.pgtable) { in kvmppc_free_radix() 561 kvmppc_free_pgtable_radix(kvm, kvm->arch.pgtable, in kvmppc_free_radix() 563 pgd_free(kvm->mm, kvm->arch.pgtable); in kvmppc_free_radix() 564 kvm->arch.pgtable = NULL; in kvmppc_free_radix() 609 int kvmppc_create_pte(struct kvm *kvm, pgd_t *pgtable, pte_t pte, in kvmppc_create_pte() argument 622 pgd = pgtable + pgd_index(gpa); in kvmppc_create_pte() 915 ret = kvmppc_create_pte(kvm, kvm->arch.pgtable, pte, gpa, level, in kvmppc_book3s_instantiate_page() 1237 kvm->arch.pgtable = pgd_alloc(kvm->mm); in kvmppc_init_vm_radix() 1238 if (!kvm->arch.pgtable) in kvmppc_init_vm_radix() 1352 pgt = kvm->arch.pgtable; in debugfs_radix_read()
|
/linux-6.3-rc2/arch/microblaze/mm/ |
A D | Makefile | 6 obj-y := consistent.o init.o pgtable.o mmu_context.o fault.o
|
/linux-6.3-rc2/arch/arm64/kvm/hyp/ |
A D | Makefile | 10 obj-$(CONFIG_KVM) += vhe/ nvhe/ pgtable.o
|
/linux-6.3-rc2/arch/loongarch/mm/ |
A D | Makefile | 7 fault.o ioremap.o maccess.o mmap.o pgtable.o page.o
|
/linux-6.3-rc2/drivers/iommu/arm/arm-smmu/ |
A D | arm-smmu-qcom.c | 125 struct io_pgtable *pgtable = in qcom_adreno_smmu_get_ttbr1_cfg() local 127 return &pgtable->cfg; in qcom_adreno_smmu_get_ttbr1_cfg() 140 struct io_pgtable *pgtable = io_pgtable_ops_to_pgtable(smmu_domain->pgtbl_ops); in qcom_adreno_smmu_set_ttbr0_cfg() local 155 cb->tcr[0] = arm_smmu_lpae_tcr(&pgtable->cfg); in qcom_adreno_smmu_set_ttbr0_cfg()
|