Home
last modified time | relevance | path

Searched refs:pgtable (Results 1 - 25 of 924) sorted by relevance

12345678910>>...37

/kernel/linux/linux-6.6/drivers/accel/ivpu/
H A Divpu_mmu_context.c42 static int ivpu_mmu_pgtable_init(struct ivpu_device *vdev, struct ivpu_mmu_pgtable *pgtable) in ivpu_mmu_pgtable_init() argument
46 pgtable->pgd_dma_ptr = dma_alloc_coherent(vdev->drm.dev, IVPU_MMU_PGTABLE_SIZE, &pgd_dma, in ivpu_mmu_pgtable_init()
48 if (!pgtable->pgd_dma_ptr) in ivpu_mmu_pgtable_init()
51 pgtable->pgd_dma = pgd_dma; in ivpu_mmu_pgtable_init()
63 static void ivpu_mmu_pgtables_free(struct ivpu_device *vdev, struct ivpu_mmu_pgtable *pgtable) in ivpu_mmu_pgtables_free() argument
70 pud_dma_ptr = pgtable->pud_ptrs[pgd_idx]; in ivpu_mmu_pgtables_free()
71 pud_dma = pgtable->pgd_dma_ptr[pgd_idx]; in ivpu_mmu_pgtables_free()
77 pmd_dma_ptr = pgtable->pmd_ptrs[pgd_idx][pud_idx]; in ivpu_mmu_pgtables_free()
78 pmd_dma = pgtable->pud_ptrs[pgd_idx][pud_idx]; in ivpu_mmu_pgtables_free()
84 pte_dma_ptr = pgtable in ivpu_mmu_pgtables_free()
103 ivpu_mmu_ensure_pud(struct ivpu_device *vdev, struct ivpu_mmu_pgtable *pgtable, int pgd_idx) ivpu_mmu_ensure_pud() argument
139 ivpu_mmu_ensure_pmd(struct ivpu_device *vdev, struct ivpu_mmu_pgtable *pgtable, int pgd_idx, int pud_idx) ivpu_mmu_ensure_pmd() argument
168 ivpu_mmu_ensure_pte(struct ivpu_device *vdev, struct ivpu_mmu_pgtable *pgtable, int pgd_idx, int pud_idx, int pmd_idx) ivpu_mmu_ensure_pte() argument
255 struct ivpu_mmu_pgtable *pgtable = &ctx->pgtable; ivpu_mmu_context_flush_page_tables() local
[all...]
/kernel/linux/linux-6.6/drivers/iommu/amd/
H A Dio_pgtable_v2.c14 #include <linux/io-pgtable.h>
198 static u64 *fetch_pte(struct amd_io_pgtable *pgtable, in fetch_pte() argument
205 pte = &pgtable->pgd[PM_LEVEL_INDEX(level, iova)]; in fetch_pte()
293 struct amd_io_pgtable *pgtable = io_pgtable_ops_to_data(ops); in iommu_v2_unmap_pages() local
294 struct io_pgtable_cfg *cfg = &pgtable->iop.cfg; in iommu_v2_unmap_pages()
304 pte = fetch_pte(pgtable, iova, &unmap_size); in iommu_v2_unmap_pages()
319 struct amd_io_pgtable *pgtable = io_pgtable_ops_to_data(ops); in iommu_v2_iova_to_phys() local
323 pte = fetch_pte(pgtable, iova, &pte_pgsize); in iommu_v2_iova_to_phys()
360 struct amd_io_pgtable *pgtable = container_of(iop, struct amd_io_pgtable, iop); in v2_free_pgtable() local
362 pdom = container_of(pgtable, struc in v2_free_pgtable()
378 struct amd_io_pgtable *pgtable = io_pgtable_cfg_to_data(cfg); v2_alloc_pgtable() local
[all...]
H A Dio_pgtable.c14 #include <linux/io-pgtable.h>
139 /* lowest 3 bits encode pgtable mode */ in amd_iommu_domain_set_pgtable()
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()
303 pte = &pgtable->root[PM_LEVEL_INDEX(level, address)]; in fetch_pte()
443 struct amd_io_pgtable *pgtable = io_pgtable_ops_to_data(ops); in iommu_v1_unmap_pages() local
454 pte = fetch_pte(pgtable, iova, &unmap_size); in iommu_v1_unmap_pages()
474 struct amd_io_pgtable *pgtable = io_pgtable_ops_to_data(ops); in iommu_v1_iova_to_phys() local
478 pte = fetch_pte(pgtable, iov in iommu_v1_iova_to_phys()
494 struct amd_io_pgtable *pgtable = container_of(iop, struct amd_io_pgtable, iop); v1_free_pgtable() local
520 struct amd_io_pgtable *pgtable = io_pgtable_cfg_to_data(cfg); v1_alloc_pgtable() local
[all...]
/kernel/linux/linux-5.10/mm/
H A Dpgtable-generic.c3 * mm/pgtable-generic.c
5 * Generic pgtable methods declared in linux/pgtable.h
12 #include <linux/pgtable.h>
162 pgtable_t pgtable) in pgtable_trans_huge_deposit()
168 INIT_LIST_HEAD(&pgtable->lru); in pgtable_trans_huge_deposit()
170 list_add(&pgtable->lru, &pmd_huge_pte(mm, pmdp)->lru); in pgtable_trans_huge_deposit()
171 pmd_huge_pte(mm, pmdp) = pgtable; in pgtable_trans_huge_deposit()
179 pgtable_t pgtable; in pgtable_trans_huge_withdraw() local
184 pgtable in pgtable_trans_huge_withdraw()
161 pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, pgtable_t pgtable) pgtable_trans_huge_deposit() argument
[all...]
H A Dhuge_memory.c585 pgtable_t pgtable; in __do_huge_pmd_anonymous_page() local
599 pgtable = pte_alloc_one(vma->vm_mm); in __do_huge_pmd_anonymous_page()
600 if (unlikely(!pgtable)) { in __do_huge_pmd_anonymous_page()
629 pte_free(vma->vm_mm, pgtable); in __do_huge_pmd_anonymous_page()
639 pgtable_trans_huge_deposit(vma->vm_mm, vmf->pmd, pgtable); in __do_huge_pmd_anonymous_page()
652 if (pgtable) in __do_huge_pmd_anonymous_page()
653 pte_free(vma->vm_mm, pgtable); in __do_huge_pmd_anonymous_page()
695 static bool set_huge_zero_page(pgtable_t pgtable, struct mm_struct *mm, in set_huge_zero_page() argument
704 if (pgtable) in set_huge_zero_page()
705 pgtable_trans_huge_deposit(mm, pmd, pgtable); in set_huge_zero_page()
727 pgtable_t pgtable; do_huge_pmd_anonymous_page() local
772 insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmd, pfn_t pfn, pgprot_t prot, bool write, pgtable_t pgtable) insert_pfn_pmd() argument
837 pgtable_t pgtable = NULL; vmf_insert_pfn_pmd_prot() local
1020 pgtable_t pgtable = NULL; copy_huge_pmd() local
1643 pgtable_t pgtable; zap_deposited_table() local
1773 pgtable_t pgtable; move_huge_pmd() local
1996 pgtable_t pgtable; __split_huge_zero_page_pmd() local
2033 pgtable_t pgtable; __split_huge_pmd_locked() local
[all...]
/kernel/linux/linux-6.6/mm/
H A Dpgtable-generic.c3 * mm/pgtable-generic.c
5 * Generic pgtable methods declared in linux/pgtable.h
12 #include <linux/pgtable.h>
166 pgtable_t pgtable) in pgtable_trans_huge_deposit()
172 INIT_LIST_HEAD(&pgtable->lru); in pgtable_trans_huge_deposit()
174 list_add(&pgtable->lru, &pmd_huge_pte(mm, pmdp)->lru); in pgtable_trans_huge_deposit()
175 pmd_huge_pte(mm, pmdp) = pgtable; in pgtable_trans_huge_deposit()
183 pgtable_t pgtable; in pgtable_trans_huge_withdraw() local
188 pgtable in pgtable_trans_huge_withdraw()
165 pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, pgtable_t pgtable) pgtable_trans_huge_deposit() argument
245 pte_free_defer(struct mm_struct *mm, pgtable_t pgtable) pte_free_defer() argument
[all...]
H A Dhuge_memory.c651 pgtable_t pgtable; in __do_huge_pmd_anonymous_page() local
665 pgtable = pte_alloc_one(vma->vm_mm); in __do_huge_pmd_anonymous_page()
666 if (unlikely(!pgtable)) { in __do_huge_pmd_anonymous_page()
693 pte_free(vma->vm_mm, pgtable); in __do_huge_pmd_anonymous_page()
703 pgtable_trans_huge_deposit(vma->vm_mm, vmf->pmd, pgtable); in __do_huge_pmd_anonymous_page()
717 if (pgtable) in __do_huge_pmd_anonymous_page()
718 pte_free(vma->vm_mm, pgtable); in __do_huge_pmd_anonymous_page()
760 static void set_huge_zero_page(pgtable_t pgtable, struct mm_struct *mm, in set_huge_zero_page() argument
769 pgtable_trans_huge_deposit(mm, pmd, pgtable); in set_huge_zero_page()
790 pgtable_t pgtable; in do_huge_pmd_anonymous_page() local
835 insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmd, pfn_t pfn, pgprot_t prot, bool write, pgtable_t pgtable) insert_pfn_pmd() argument
897 pgtable_t pgtable = NULL; vmf_insert_pfn_pmd() local
1069 pgtable_t pgtable = NULL; copy_huge_pmd() local
1652 pgtable_t pgtable; zap_deposited_table() local
1781 pgtable_t pgtable; move_huge_pmd() local
2029 pgtable_t pgtable; __split_huge_zero_page_pmd() local
2071 pgtable_t pgtable; __split_huge_pmd_locked() local
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/etnaviv/
H A Detnaviv_iommu.c93 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()
/kernel/linux/linux-6.6/drivers/gpu/drm/etnaviv/
H A Detnaviv_iommu.c93 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()
/kernel/linux/linux-5.10/sound/core/
H A Dsgbuf.c62 struct page **pgtable; in snd_malloc_sgbuf_pages() local
84 pgtable = kcalloc(sgbuf->tblsize, sizeof(*pgtable), GFP_KERNEL); in snd_malloc_sgbuf_pages()
85 if (!pgtable) in snd_malloc_sgbuf_pages()
87 sgbuf->page_table = pgtable; in snd_malloc_sgbuf_pages()
113 *pgtable++ = virt_to_page(tmpb.area); in snd_malloc_sgbuf_pages()
/kernel/linux/linux-5.10/arch/sparc/mm/
H A Dtlb.c264 pgtable_t pgtable) in pgtable_trans_huge_deposit()
266 struct list_head *lh = (struct list_head *) pgtable; in pgtable_trans_huge_deposit()
275 pmd_huge_pte(mm, pmdp) = pgtable; in pgtable_trans_huge_deposit()
281 pgtable_t pgtable; in pgtable_trans_huge_withdraw() local
286 pgtable = pmd_huge_pte(mm, pmdp); in pgtable_trans_huge_withdraw()
287 lh = (struct list_head *) pgtable; in pgtable_trans_huge_withdraw()
294 pte_val(pgtable[0]) = 0; in pgtable_trans_huge_withdraw()
295 pte_val(pgtable[1]) = 0; in pgtable_trans_huge_withdraw()
297 return pgtable; in pgtable_trans_huge_withdraw()
263 pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, pgtable_t pgtable) pgtable_trans_huge_deposit() argument
/kernel/linux/linux-5.10/arch/powerpc/mm/book3s64/
H A Dhash_pgtable.c263 * We want to put the pgtable in pmd and use pgtable for tracking
267 pgtable_t pgtable) in hash__pgtable_trans_huge_deposit()
273 * we store the pgtable in the second half of PMD in hash__pgtable_trans_huge_deposit()
276 *pgtable_slot = pgtable; in hash__pgtable_trans_huge_deposit()
278 * expose the deposited pgtable to other cpus. in hash__pgtable_trans_huge_deposit()
280 * hash fault code looks at the deposted pgtable in hash__pgtable_trans_huge_deposit()
288 pgtable_t pgtable; in hash__pgtable_trans_huge_withdraw() local
294 pgtable = *pgtable_slot; in hash__pgtable_trans_huge_withdraw()
303 memset(pgtable, in hash__pgtable_trans_huge_withdraw()
266 hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, pgtable_t pgtable) hash__pgtable_trans_huge_deposit() argument
348 pgtable_t pgtable; hash__pmdp_huge_get_and_clear() local
[all...]
/kernel/linux/linux-6.6/arch/powerpc/mm/book3s64/
H A Dhash_pgtable.c264 * We want to put the pgtable in pmd and use pgtable for tracking
268 pgtable_t pgtable) in hash__pgtable_trans_huge_deposit()
274 * we store the pgtable in the second half of PMD in hash__pgtable_trans_huge_deposit()
277 *pgtable_slot = pgtable; in hash__pgtable_trans_huge_deposit()
279 * expose the deposited pgtable to other cpus. in hash__pgtable_trans_huge_deposit()
281 * hash fault code looks at the deposted 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, in hash__pgtable_trans_huge_withdraw()
267 hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, pgtable_t pgtable) hash__pgtable_trans_huge_deposit() argument
349 pgtable_t pgtable; hash__pmdp_huge_get_and_clear() local
[all...]
/kernel/linux/linux-6.6/arch/sparc/mm/
H A Dtlb.c269 pgtable_t pgtable) in pgtable_trans_huge_deposit()
271 struct list_head *lh = (struct list_head *) pgtable; in pgtable_trans_huge_deposit()
280 pmd_huge_pte(mm, pmdp) = pgtable; in pgtable_trans_huge_deposit()
286 pgtable_t pgtable; in pgtable_trans_huge_withdraw() local
291 pgtable = pmd_huge_pte(mm, pmdp); in pgtable_trans_huge_withdraw()
292 lh = (struct list_head *) pgtable; in pgtable_trans_huge_withdraw()
299 pte_val(pgtable[0]) = 0; in pgtable_trans_huge_withdraw()
300 pte_val(pgtable[1]) = 0; in pgtable_trans_huge_withdraw()
302 return pgtable; in pgtable_trans_huge_withdraw()
268 pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, pgtable_t pgtable) pgtable_trans_huge_deposit() argument
/kernel/linux/linux-5.10/arch/m68k/include/asm/
H A Dmotorola_pgalloc.h42 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()
H A Dmcf_pgalloc.h37 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pgtable, in __pte_free_tlb() argument
40 struct page *page = virt_to_page(pgtable); in __pte_free_tlb()
64 static inline void pte_free(struct mm_struct *mm, pgtable_t pgtable) in pte_free() argument
66 struct page *page = virt_to_page(pgtable); in pte_free()
/kernel/linux/linux-6.6/arch/m68k/include/asm/
H A Dmcf_pgalloc.h35 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pgtable, in __pte_free_tlb() argument
38 struct ptdesc *ptdesc = virt_to_ptdesc(pgtable); in __pte_free_tlb()
60 static inline void pte_free(struct mm_struct *mm, pgtable_t pgtable) in pte_free() argument
62 struct ptdesc *ptdesc = virt_to_ptdesc(pgtable); in pte_free()
H A Dmotorola_pgalloc.h42 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()
/kernel/linux/linux-5.10/drivers/iommu/
H A Dexynos-iommu.c183 static sysmmu_pte_t *section_entry(sysmmu_pte_t *pgtable, sysmmu_iova_t iova) in section_entry() argument
185 return pgtable + lv1ent_offset(iova); in section_entry()
248 sysmmu_pte_t *pgtable; /* lv1 page table, 16KB */ member
251 spinlock_t pgtablelock; /* lock for modifying page table @ pgtable */
275 phys_addr_t pgtable; /* assigned page table structure */ member
395 dev_dbg(data->sysmmu, "Page table base: %pa\n", &data->pgtable); in show_fault_information()
396 ent = section_entry(phys_to_virt(data->pgtable), fault_addr); in show_fault_information()
500 __sysmmu_set_ptbase(data, data->pgtable); in __sysmmu_enable()
757 domain->pgtable = (sysmmu_pte_t *)__get_free_pages(GFP_KERNEL, 2); in exynos_iommu_domain_alloc()
758 if (!domain->pgtable) in exynos_iommu_domain_alloc()
[all...]
/kernel/linux/linux-6.6/drivers/iommu/
H A Dexynos-iommu.c177 static sysmmu_pte_t *section_entry(sysmmu_pte_t *pgtable, sysmmu_iova_t iova) in section_entry() argument
179 return pgtable + lv1ent_offset(iova); in section_entry()
247 sysmmu_pte_t *pgtable; /* lv1 page table, 16KB */ member
250 spinlock_t pgtablelock; /* lock for modifying page table @ pgtable */
297 phys_addr_t pgtable; /* assigned page table structure */ member
554 dev_dbg(data->sysmmu, "Page table base: %pa\n", &data->pgtable); in show_fault_information()
555 ent = section_entry(phys_to_virt(data->pgtable), fault->addr); in show_fault_information()
653 __sysmmu_set_ptbase(data, data->pgtable); in __sysmmu_enable()
905 domain->pgtable = (sysmmu_pte_t *)__get_free_pages(GFP_KERNEL, 2); in exynos_iommu_domain_alloc()
906 if (!domain->pgtable) in exynos_iommu_domain_alloc()
[all...]
/kernel/linux/linux-5.10/drivers/iommu/amd/
H A Diommu.c103 struct domain_pgtable *pgtable);
156 struct domain_pgtable *pgtable) in amd_iommu_domain_get_pgtable()
160 pgtable->root = (u64 *)(pt_root & PAGE_MASK); in amd_iommu_domain_get_pgtable()
161 pgtable->mode = pt_root & 7; /* lowest 3 bits encode pgtable mode */ in amd_iommu_domain_get_pgtable()
179 /* lowest 3 bits encode pgtable mode */ in amd_iommu_domain_set_pgtable()
1482 static void free_pagetable(struct domain_pgtable *pgtable) in free_pagetable() argument
1487 if (pgtable->mode == PAGE_MODE_NONE) in free_pagetable()
1490 BUG_ON(pgtable->mode < PAGE_MODE_NONE || in free_pagetable()
1491 pgtable in free_pagetable()
155 amd_iommu_domain_get_pgtable(struct protection_domain *domain, struct domain_pgtable *pgtable) amd_iommu_domain_get_pgtable() argument
1508 struct domain_pgtable pgtable; increase_address_space() local
1558 struct domain_pgtable pgtable; alloc_pte() local
1656 struct domain_pgtable pgtable; fetch_pte() local
1908 set_dte_entry(u16 devid, struct protection_domain *domain, struct domain_pgtable *pgtable, bool ats, bool ppr) set_dte_entry() argument
1992 struct domain_pgtable pgtable; do_attach() local
2316 update_device_table(struct protection_domain *domain, struct domain_pgtable *pgtable) update_device_table() argument
2328 update_and_flush_device_table(struct protection_domain *domain, struct domain_pgtable *pgtable) update_and_flush_device_table() argument
2337 struct domain_pgtable pgtable; update_domain() local
2413 struct domain_pgtable pgtable; protection_domain_free() local
2593 struct domain_pgtable pgtable; amd_iommu_map() local
2618 struct domain_pgtable pgtable; amd_iommu_unmap() local
2632 struct domain_pgtable pgtable; amd_iommu_iova_to_phys() local
2812 struct domain_pgtable pgtable; amd_iommu_domain_direct_map() local
3016 struct domain_pgtable pgtable; __set_gcr3() local
3034 struct domain_pgtable pgtable; __clear_gcr3() local
[all...]
/kernel/linux/linux-5.10/arch/arm64/include/asm/
H A Dpgtable-types.h48 #include <asm-generic/pgtable-nopmd.h>
50 #include <asm-generic/pgtable-nopud.h>
52 #include <asm-generic/pgtable-nop4d.h>
/kernel/linux/linux-6.6/arch/arm64/include/asm/
H A Dpgtable-types.h48 #include <asm-generic/pgtable-nopmd.h>
50 #include <asm-generic/pgtable-nopud.h>
52 #include <asm-generic/pgtable-nop4d.h>
/kernel/linux/linux-5.10/arch/arm/include/asm/
H A Dpgtable-hwdef.h3 * arch/arm/include/asm/pgtable-hwdef.h
11 #include <asm/pgtable-3level-hwdef.h>
13 #include <asm/pgtable-2level-hwdef.h>
/kernel/linux/linux-6.6/arch/arm/include/asm/
H A Dpgtable-hwdef.h3 * arch/arm/include/asm/pgtable-hwdef.h
11 #include <asm/pgtable-3level-hwdef.h>
13 #include <asm/pgtable-2level-hwdef.h>

Completed in 20 milliseconds

12345678910>>...37