| /linux/drivers/net/ethernet/mellanox/mlxsw/ |
| H A D | spectrum_pgt.c | 32 mutex_lock(&mlxsw_sp->pgt->lock); in mlxsw_sp_pgt_mid_alloc() 33 index = idr_alloc(&mlxsw_sp->pgt->pgt_idr, NULL, 0, in mlxsw_sp_pgt_mid_alloc() 34 mlxsw_sp->pgt->end_index, GFP_KERNEL); in mlxsw_sp_pgt_mid_alloc() 42 mutex_unlock(&mlxsw_sp->pgt->lock); in mlxsw_sp_pgt_mid_alloc() 46 mutex_unlock(&mlxsw_sp->pgt->lock); in mlxsw_sp_pgt_mid_alloc() 52 mutex_lock(&mlxsw_sp->pgt->lock); in mlxsw_sp_pgt_mid_free() 53 WARN_ON(idr_remove(&mlxsw_sp->pgt->pgt_idr, mid_base)); in mlxsw_sp_pgt_mid_free() 54 mutex_unlock(&mlxsw_sp->pgt->lock); in mlxsw_sp_pgt_mid_free() 63 mutex_lock(&mlxsw_sp->pgt->lock); in mlxsw_sp_pgt_mid_alloc_range() 65 mid_base = idr_get_cursor(&mlxsw_sp->pgt->pgt_idr); in mlxsw_sp_pgt_mid_alloc_range() [all …]
|
| /linux/arch/arm64/kvm/hyp/ |
| H A D | pgtable.c | 56 static u32 kvm_pgd_page_idx(struct kvm_pgtable *pgt, u64 addr) in kvm_pgd_page_idx() argument 58 u64 shift = kvm_granule_shift(pgt->start_level - 1); /* May underflow */ in kvm_pgd_page_idx() 59 u64 mask = BIT(pgt->ia_bits) - 1; in kvm_pgd_page_idx() 66 struct kvm_pgtable pgt = { in kvm_pgd_pages() local 71 return kvm_pgd_page_idx(&pgt, -1ULL) + 1; in kvm_pgd_pages() 240 static int _kvm_pgtable_walk(struct kvm_pgtable *pgt, struct kvm_pgtable_walk_data *data) in _kvm_pgtable_walk() argument 244 u64 limit = BIT(pgt->ia_bits); in _kvm_pgtable_walk() 249 if (!pgt->pgd) in _kvm_pgtable_walk() 252 for (idx = kvm_pgd_page_idx(pgt, data->addr); data->addr < data->end; ++idx) { in _kvm_pgtable_walk() 253 kvm_pteref_t pteref = &pgt->pgd[idx * PTRS_PER_PTE]; in _kvm_pgtable_walk() [all …]
|
| /linux/arch/arm64/kvm/ |
| H A D | pkvm.c | 328 int pkvm_pgtable_stage2_init(struct kvm_pgtable *pgt, struct kvm_s2_mmu *mmu, in pkvm_pgtable_stage2_init() argument 331 pgt->pkvm_mappings = RB_ROOT_CACHED; in pkvm_pgtable_stage2_init() 332 pgt->mmu = mmu; in pkvm_pgtable_stage2_init() 337 static int __pkvm_pgtable_stage2_reclaim(struct kvm_pgtable *pgt, u64 start, u64 end) in __pkvm_pgtable_stage2_reclaim() argument 339 struct kvm *kvm = kvm_s2_mmu_to_kvm(pgt->mmu); in __pkvm_pgtable_stage2_reclaim() 344 for_each_mapping_in_range_safe(pgt, start, end, mapping) { in __pkvm_pgtable_stage2_reclaim() 356 pkvm_mapping_remove(mapping, &pgt->pkvm_mappings); in __pkvm_pgtable_stage2_reclaim() 363 static int __pkvm_pgtable_stage2_unshare(struct kvm_pgtable *pgt, u64 start, u64 end) in __pkvm_pgtable_stage2_unshare() argument 365 struct kvm *kvm = kvm_s2_mmu_to_kvm(pgt->mmu); in __pkvm_pgtable_stage2_unshare() 370 for_each_mapping_in_range_safe(pgt, start, end, mapping) { in __pkvm_pgtable_stage2_unshare() [all …]
|
| H A D | mmu.c | 72 struct kvm_pgtable *pgt = mmu->pgt; in stage2_apply_range() local 73 if (!pgt) in stage2_apply_range() 77 ret = fn(pgt, addr, next - addr); in stage2_apply_range() 124 struct kvm_pgtable *pgt; in kvm_mmu_split_huge_pages() local 151 pgt = kvm->arch.mmu.pgt; in kvm_mmu_split_huge_pages() 152 if (!pgt) in kvm_mmu_split_huge_pages() 156 ret = KVM_PGT_FN(kvm_pgtable_stage2_split)(pgt, addr, next - addr, cache); in kvm_mmu_split_huge_pages() 851 struct kvm_pgtable pgt = { in get_user_mapping_size() local 855 ARM64_HW_PGTABLE_LEVELS(pgt.ia_bits) + 1), in get_user_mapping_size() 869 ret = kvm_pgtable_get_leaf(&pgt, addr, &pte, &level); in get_user_mapping_size() [all …]
|
| H A D | nested.c | 106 tmp[i].pgt->mmu = &tmp[i]; in kvm_vcpu_init_nested() 644 if (kvm_pgtable_get_leaf(mmu->pgt, tmp, &pte, NULL)) in get_guest_mapping_ttl() 1232 kvm_invalidate_vncr_ipa(kvm, 0, BIT(kvm->arch.mmu.pgt->ia_bits)); in kvm_nested_s2_wp() 1251 kvm_invalidate_vncr_ipa(kvm, 0, BIT(kvm->arch.mmu.pgt->ia_bits)); in kvm_nested_s2_unmap()
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
| H A D | vmm.c | 30 struct nvkm_vmm_pt *pgt = *ppgt; in nvkm_vmm_pt_del() local 31 if (pgt) { in nvkm_vmm_pt_del() 32 kvfree(pgt->pde); in nvkm_vmm_pt_del() 33 kfree(pgt); in nvkm_vmm_pt_del() 44 struct nvkm_vmm_pt *pgt; in nvkm_vmm_pt_new() local 56 pgt = kzalloc_flex(*pgt, pte, lpte); in nvkm_vmm_pt_new() 57 if (!pgt) in nvkm_vmm_pt_new() 59 pgt->page = page ? page->shift : 0; in nvkm_vmm_pt_new() 60 pgt->sparse = sparse; in nvkm_vmm_pt_new() 63 pgt->pde = kvzalloc_objs(*pgt->pde, pten); in nvkm_vmm_pt_new() [all …]
|
| H A D | vmmnv50.c | 106 nv50_vmm_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgt, u64 *pdata) in nv50_vmm_pde() argument 110 if (pgt && (pt = pgt->pt[0])) { in nv50_vmm_pde() 111 switch (pgt->page) { in nv50_vmm_pde()
|
| H A D | vmmgf100.c | 108 struct nvkm_vmm_pt *pgt = pgd->pde[pdei]; in gf100_vmm_pgd_pde() local 113 if ((pt = pgt->pt[0])) { in gf100_vmm_pgd_pde() 127 if ((pt = pgt->pt[1])) { in gf100_vmm_pgd_pde()
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/dma/ |
| H A D | usernv04.c | 52 struct nvkm_memory *pgt = in nv04_dmaobj_bind() local 55 return nvkm_gpuobj_wrap(pgt, pgpuobj); in nv04_dmaobj_bind() 56 nvkm_kmap(pgt); in nv04_dmaobj_bind() 57 offset = nvkm_ro32(pgt, 8 + (offset >> 10)); in nv04_dmaobj_bind() 59 nvkm_done(pgt); in nv04_dmaobj_bind()
|
| /linux/arch/powerpc/kvm/ |
| H A D | book3s_64_mmu_radix.c | 1288 pgd_t *pgt; in debugfs_radix_read() local 1326 pgt = NULL; in debugfs_radix_read() 1330 pgt = NULL; in debugfs_radix_read() 1340 if (!pgt) { in debugfs_radix_read() 1342 pgt = kvm->arch.pgtable; in debugfs_radix_read() 1349 pgt = nested->shadow_pgtable; in debugfs_radix_read() 1358 "pgdir: %lx\n", (unsigned long)pgt); in debugfs_radix_read() 1363 pgdp = pgt + pgd_index(gpa); in debugfs_radix_read()
|
| /linux/arch/arm64/kvm/hyp/nvhe/ |
| H A D | pkvm.c | 445 mmu->pgt = &hyp_vm->pgt; in init_pkvm_hyp_vm() 737 .pgt = &selftest_vm.pgt,
|
| /linux/drivers/accel/habanalabs/common/mmu/ |
| H A D | mmu.c | 953 u64 hl_mmu_hr_pte_phys_to_virt(struct hl_ctx *ctx, struct pgt_info *pgt, in hl_mmu_hr_pte_phys_to_virt() argument 959 return pgt->virt_addr + pte_offset; in hl_mmu_hr_pte_phys_to_virt()
|
| /linux/drivers/net/ethernet/broadcom/bnx2x/ |
| H A D | bnx2x_self_test.c | 78 static int pgt(struct st_pred_args *args) in pgt() function 395 NA, 1, 0, pgt,
|