Home
last modified time | relevance | path

Searched refs:vtcr (Results 1 – 18 of 18) sorted by relevance

/linux/drivers/iommu/
H A Dio-pgtable-arm.c1069 typeof(&cfg->arm_lpae_s2_cfg.vtcr) vtcr = &cfg->arm_lpae_s2_cfg.vtcr; in arm_64_lpae_alloc_pgtable_s2() local
1089 vtcr->sh = ARM_LPAE_TCR_SH_IS; in arm_64_lpae_alloc_pgtable_s2()
1090 vtcr->irgn = ARM_LPAE_TCR_RGN_WBWA; in arm_64_lpae_alloc_pgtable_s2()
1091 vtcr->orgn = ARM_LPAE_TCR_RGN_WBWA; in arm_64_lpae_alloc_pgtable_s2()
1093 vtcr->sh = ARM_LPAE_TCR_SH_OS; in arm_64_lpae_alloc_pgtable_s2()
1094 vtcr->irgn = ARM_LPAE_TCR_RGN_NC; in arm_64_lpae_alloc_pgtable_s2()
1095 vtcr->orgn = ARM_LPAE_TCR_RGN_NC; in arm_64_lpae_alloc_pgtable_s2()
1102 vtcr->tg = ARM_LPAE_TCR_TG0_4K; in arm_64_lpae_alloc_pgtable_s2()
1106 vtcr->tg = ARM_LPAE_TCR_TG0_16K; in arm_64_lpae_alloc_pgtable_s2()
1109 vtcr->tg = ARM_LPAE_TCR_TG0_64K; in arm_64_lpae_alloc_pgtable_s2()
[all …]
/linux/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3-test.c311 io_pgtable.cfg.arm_lpae_s2_cfg.vtcr.ps = 1; in arm_smmu_test_make_s2_ste()
312 io_pgtable.cfg.arm_lpae_s2_cfg.vtcr.tg = 2; in arm_smmu_test_make_s2_ste()
313 io_pgtable.cfg.arm_lpae_s2_cfg.vtcr.sh = 3; in arm_smmu_test_make_s2_ste()
314 io_pgtable.cfg.arm_lpae_s2_cfg.vtcr.orgn = 1; in arm_smmu_test_make_s2_ste()
315 io_pgtable.cfg.arm_lpae_s2_cfg.vtcr.irgn = 2; in arm_smmu_test_make_s2_ste()
316 io_pgtable.cfg.arm_lpae_s2_cfg.vtcr.sl = 3; in arm_smmu_test_make_s2_ste()
317 io_pgtable.cfg.arm_lpae_s2_cfg.vtcr.tsz = 4; in arm_smmu_test_make_s2_ste()
H A Darm-smmu-v3.c1665 typeof(&pgtbl_cfg->arm_lpae_s2_cfg.vtcr) vtcr = in arm_smmu_make_s2_domain_ste() local
1666 &pgtbl_cfg->arm_lpae_s2_cfg.vtcr; in arm_smmu_make_s2_domain_ste()
1685 vtcr_val = FIELD_PREP(STRTAB_STE_2_VTCR_S2T0SZ, vtcr->tsz) | in arm_smmu_make_s2_domain_ste()
1686 FIELD_PREP(STRTAB_STE_2_VTCR_S2SL0, vtcr->sl) | in arm_smmu_make_s2_domain_ste()
1687 FIELD_PREP(STRTAB_STE_2_VTCR_S2IR0, vtcr->irgn) | in arm_smmu_make_s2_domain_ste()
1688 FIELD_PREP(STRTAB_STE_2_VTCR_S2OR0, vtcr->orgn) | in arm_smmu_make_s2_domain_ste()
1689 FIELD_PREP(STRTAB_STE_2_VTCR_S2SH0, vtcr->sh) | in arm_smmu_make_s2_domain_ste()
1690 FIELD_PREP(STRTAB_STE_2_VTCR_S2TG, vtcr->tg) | in arm_smmu_make_s2_domain_ste()
1691 FIELD_PREP(STRTAB_STE_2_VTCR_S2PS, vtcr->ps); in arm_smmu_make_s2_domain_ste()
/linux/arch/arm64/include/asm/
H A Dkvm_arm.h218 #define VTCR_EL2_LVLS(vtcr) \ argument
219 VTCR_EL2_SL0_TO_LVLS(((vtcr) & VTCR_EL2_SL0_MASK) >> VTCR_EL2_SL0_SHIFT)
222 #define VTCR_EL2_IPA(vtcr) (64 - ((vtcr) & VTCR_EL2_T0SZ_MASK)) argument
H A Dstage2_pgtable.h24 #define kvm_stage2_levels(mmu) VTCR_EL2_LVLS((mmu)->vtcr)
H A Dkvm_asm.h189 unsigned long vtcr; member
H A Dkvm_pgtable.h536 size_t kvm_pgtable_stage2_pgd_size(u64 vtcr);
H A Dkvm_host.h177 u64 vtcr; member
/linux/arch/arm64/kvm/hyp/
H A Dpgtable.c583 u64 vtcr = VTCR_EL2_FLAGS; in kvm_get_vtcr() local
586 vtcr |= kvm_get_parange(mmfr0) << VTCR_EL2_PS_SHIFT; in kvm_get_vtcr()
587 vtcr |= VTCR_EL2_T0SZ(phys_shift); in kvm_get_vtcr()
604 vtcr |= VTCR_EL2_LVLS_TO_SL0(lvls); in kvm_get_vtcr()
620 vtcr |= VTCR_EL2_HA; in kvm_get_vtcr()
624 vtcr |= VTCR_EL2_DS; in kvm_get_vtcr()
627 vtcr |= (get_vmid_bits(mmfr1) == 16) ? in kvm_get_vtcr()
631 return vtcr; in kvm_get_vtcr()
1550 u64 vtcr = mmu->vtcr; in __kvm_pgtable_stage2_init() local
1551 u32 ia_bits = VTCR_EL2_IPA(vtcr); in __kvm_pgtable_stage2_init()
[all …]
/linux/arch/arm64/kvm/
H A Dnested.c376 static void vtcr_to_walk_info(u64 vtcr, struct s2_walk_info *wi) in vtcr_to_walk_info() argument
378 wi->t0sz = vtcr & TCR_EL2_T0SZ_MASK; in vtcr_to_walk_info()
380 switch (vtcr & VTCR_EL2_TG0_MASK) { in vtcr_to_walk_info()
390 wi->sl = FIELD_GET(VTCR_EL2_SL0_MASK, vtcr); in vtcr_to_walk_info()
393 ps_to_output_size(FIELD_GET(VTCR_EL2_PS_MASK, vtcr), false)); in vtcr_to_walk_info()
395 wi->ha = vtcr & VTCR_EL2_HA; in vtcr_to_walk_info()
401 u64 vtcr = vcpu_read_sys_reg(vcpu, VTCR_EL2); in kvm_walk_nested_s2() local
412 vtcr_to_walk_info(vtcr, &wi); in kvm_walk_nested_s2()
510 u64 tmp, sz = 0, vtcr = mmu->tlb_vtcr; in get_guest_mapping_ttl() local
516 switch (vtcr & VTCR_EL2_TG0_MASK) { in get_guest_mapping_ttl()
[all …]
H A Dpkvm.c148 pgd_sz = kvm_pgtable_stage2_pgd_size(kvm->arch.mmu.vtcr); in __pkvm_create_hyp_vm()
H A Dat.c587 u64 vtcr; member
609 config->vtcr = read_sysreg(vtcr_el2); in __mmu_config_save()
637 write_sysreg(config->vtcr, vtcr_el2); in __mmu_config_restore()
H A Dmmu.c902 mmu->vtcr = kvm_get_vtcr(mmfr0, mmfr1, phys_shift); in kvm_init_ipa_range()
933 unsigned int ia_bits = VTCR_EL2_IPA(pgt->mmu->vtcr); in kvm_stage2_destroy()
2072 if (fault_ipa >= BIT_ULL(VTCR_EL2_IPA(vcpu->arch.hw_mmu->vtcr))) { in kvm_handle_guest_abort()
H A Darm.c2049 params->vttbr = params->vtcr = 0; in cpu_prepare_hyp_mode()
/linux/arch/arm64/kvm/hyp/nvhe/
H A Dmem_protect.c137 host_mmu.arch.mmu.vtcr = kvm_get_vtcr(id_aa64mmfr0_el1_sys_val, in prepare_host_vtcr()
263 nr_pages = kvm_pgtable_stage2_pgd_size(mmu->vtcr) >> PAGE_SHIFT; in kvm_guest_prepare_stage2()
325 params->vtcr = mmu->vtcr; in __pkvm_prot_finalize()
1233 selftest_vm.kvm.arch.mmu.vtcr = host_mmu.arch.mmu.vtcr; in init_selftest_vm()
H A Dpkvm.c434 mmu->vtcr = host_mmu.arch.mmu.vtcr; in init_pkvm_hyp_vm()
733 pgd_size = kvm_pgtable_stage2_pgd_size(host_mmu.arch.mmu.vtcr); in __pkvm_init_vm()
/linux/include/linux/
H A Dio-pgtable.h163 } vtcr; member
/linux/arch/arm64/kernel/
H A Dasm-offsets.c126 DEFINE(NVHE_INIT_VTCR, offsetof(struct kvm_nvhe_init_params, vtcr)); in main()