/kernel/linux/linux-5.10/arch/arm64/kvm/ |
H A D | reset.c | 432 u64 vtcr = VTCR_EL2_FLAGS, mmfr0; in kvm_arm_setup_stage2() local 458 vtcr |= parange << VTCR_EL2_PS_SHIFT; in kvm_arm_setup_stage2() 460 vtcr |= VTCR_EL2_T0SZ(phys_shift); in kvm_arm_setup_stage2() 468 vtcr |= VTCR_EL2_LVLS_TO_SL0(lvls); in kvm_arm_setup_stage2() 475 vtcr |= VTCR_EL2_HA; in kvm_arm_setup_stage2() 478 vtcr |= (kvm_get_vmid_bits() == 16) ? in kvm_arm_setup_stage2() 481 kvm->arch.vtcr = vtcr; in kvm_arm_setup_stage2()
|
/kernel/linux/linux-5.10/drivers/iommu/ |
H A D | io-pgtable-arm.c | 865 typeof(&cfg->arm_lpae_s2_cfg.vtcr) vtcr = &cfg->arm_lpae_s2_cfg.vtcr; in arm_64_lpae_alloc_pgtable_s2() 891 vtcr->sh = ARM_LPAE_TCR_SH_IS; in arm_64_lpae_alloc_pgtable_s2() 892 vtcr->irgn = ARM_LPAE_TCR_RGN_WBWA; in arm_64_lpae_alloc_pgtable_s2() 893 vtcr->orgn = ARM_LPAE_TCR_RGN_WBWA; in arm_64_lpae_alloc_pgtable_s2() 895 vtcr->sh = ARM_LPAE_TCR_SH_OS; in arm_64_lpae_alloc_pgtable_s2() 896 vtcr->irgn = ARM_LPAE_TCR_RGN_NC; in arm_64_lpae_alloc_pgtable_s2() 897 vtcr->orgn = ARM_LPAE_TCR_RGN_NC; in arm_64_lpae_alloc_pgtable_s2() 904 vtcr in arm_64_lpae_alloc_pgtable_s2() [all...] |
/kernel/linux/linux-6.6/drivers/iommu/ |
H A D | io-pgtable-arm.c | 906 typeof(&cfg->arm_lpae_s2_cfg.vtcr) vtcr = &cfg->arm_lpae_s2_cfg.vtcr; in arm_64_lpae_alloc_pgtable_s2() 932 vtcr->sh = ARM_LPAE_TCR_SH_IS; in arm_64_lpae_alloc_pgtable_s2() 933 vtcr->irgn = ARM_LPAE_TCR_RGN_WBWA; in arm_64_lpae_alloc_pgtable_s2() 934 vtcr->orgn = ARM_LPAE_TCR_RGN_WBWA; in arm_64_lpae_alloc_pgtable_s2() 936 vtcr->sh = ARM_LPAE_TCR_SH_OS; in arm_64_lpae_alloc_pgtable_s2() 937 vtcr->irgn = ARM_LPAE_TCR_RGN_NC; in arm_64_lpae_alloc_pgtable_s2() 938 vtcr->orgn = ARM_LPAE_TCR_RGN_NC; in arm_64_lpae_alloc_pgtable_s2() 945 vtcr in arm_64_lpae_alloc_pgtable_s2() [all...] |
/kernel/linux/linux-5.10/arch/arm64/include/asm/ |
H A D | kvm_arm.h | 189 #define VTCR_EL2_LVLS(vtcr) \ 190 VTCR_EL2_SL0_TO_LVLS(((vtcr) & VTCR_EL2_SL0_MASK) >> VTCR_EL2_SL0_SHIFT) 193 #define VTCR_EL2_IPA(vtcr) (64 - ((vtcr) & VTCR_EL2_T0SZ_MASK))
|
H A D | kvm_mmu.h | 107 #define kvm_phys_shift(kvm) VTCR_EL2_IPA(kvm->arch.vtcr) 277 write_sysreg(kern_hyp_va(mmu->kvm)->arch.vtcr, vtcr_el2);
|
H A D | stage2_pgtable.h | 31 #define kvm_stage2_levels(kvm) VTCR_EL2_LVLS(kvm->arch.vtcr)
|
H A D | kvm_host.h | 96 u64 vtcr; member
|
/kernel/linux/linux-5.10/drivers/iommu/arm/arm-smmu/ |
H A D | arm-smmu.h | 410 FIELD_PREP(ARM_SMMU_VTCR_PS, cfg->arm_lpae_s2_cfg.vtcr.ps) | in arm_smmu_lpae_vtcr() 411 FIELD_PREP(ARM_SMMU_VTCR_TG0, cfg->arm_lpae_s2_cfg.vtcr.tg) | in arm_smmu_lpae_vtcr() 412 FIELD_PREP(ARM_SMMU_VTCR_SH0, cfg->arm_lpae_s2_cfg.vtcr.sh) | in arm_smmu_lpae_vtcr() 413 FIELD_PREP(ARM_SMMU_VTCR_ORGN0, cfg->arm_lpae_s2_cfg.vtcr.orgn) | in arm_smmu_lpae_vtcr() 414 FIELD_PREP(ARM_SMMU_VTCR_IRGN0, cfg->arm_lpae_s2_cfg.vtcr.irgn) | in arm_smmu_lpae_vtcr() 415 FIELD_PREP(ARM_SMMU_VTCR_SL0, cfg->arm_lpae_s2_cfg.vtcr.sl) | in arm_smmu_lpae_vtcr() 416 FIELD_PREP(ARM_SMMU_VTCR_T0SZ, cfg->arm_lpae_s2_cfg.vtcr.tsz); in arm_smmu_lpae_vtcr()
|
/kernel/linux/linux-6.6/drivers/iommu/arm/arm-smmu/ |
H A D | arm-smmu.h | 414 FIELD_PREP(ARM_SMMU_VTCR_PS, cfg->arm_lpae_s2_cfg.vtcr.ps) | in arm_smmu_lpae_vtcr() 415 FIELD_PREP(ARM_SMMU_VTCR_TG0, cfg->arm_lpae_s2_cfg.vtcr.tg) | in arm_smmu_lpae_vtcr() 416 FIELD_PREP(ARM_SMMU_VTCR_SH0, cfg->arm_lpae_s2_cfg.vtcr.sh) | in arm_smmu_lpae_vtcr() 417 FIELD_PREP(ARM_SMMU_VTCR_ORGN0, cfg->arm_lpae_s2_cfg.vtcr.orgn) | in arm_smmu_lpae_vtcr() 418 FIELD_PREP(ARM_SMMU_VTCR_IRGN0, cfg->arm_lpae_s2_cfg.vtcr.irgn) | in arm_smmu_lpae_vtcr() 419 FIELD_PREP(ARM_SMMU_VTCR_SL0, cfg->arm_lpae_s2_cfg.vtcr.sl) | in arm_smmu_lpae_vtcr() 420 FIELD_PREP(ARM_SMMU_VTCR_T0SZ, cfg->arm_lpae_s2_cfg.vtcr.tsz); in arm_smmu_lpae_vtcr()
|
/kernel/linux/linux-6.6/arch/arm64/kvm/hyp/ |
H A D | pgtable.c | 626 u64 vtcr = VTCR_EL2_FLAGS; in kvm_get_vtcr() local 629 vtcr |= kvm_get_parange(mmfr0) << VTCR_EL2_PS_SHIFT; in kvm_get_vtcr() 630 vtcr |= VTCR_EL2_T0SZ(phys_shift); in kvm_get_vtcr() 638 vtcr |= VTCR_EL2_LVLS_TO_SL0(lvls); in kvm_get_vtcr() 654 vtcr |= VTCR_EL2_HA; in kvm_get_vtcr() 658 vtcr |= (get_vmid_bits(mmfr1) == 16) ? in kvm_get_vtcr() 662 return vtcr; in kvm_get_vtcr() 1514 u64 vtcr = mmu->arch->vtcr; in __kvm_pgtable_stage2_init() local 1515 u32 ia_bits = VTCR_EL2_IPA(vtcr); in __kvm_pgtable_stage2_init() 1536 kvm_pgtable_stage2_pgd_size(u64 vtcr) kvm_pgtable_stage2_pgd_size() argument [all...] |
/kernel/linux/linux-6.6/arch/arm64/include/asm/ |
H A D | kvm_arm.h | 212 #define VTCR_EL2_LVLS(vtcr) \ 213 VTCR_EL2_SL0_TO_LVLS(((vtcr) & VTCR_EL2_SL0_MASK) >> VTCR_EL2_SL0_SHIFT) 216 #define VTCR_EL2_IPA(vtcr) (64 - ((vtcr) & VTCR_EL2_T0SZ_MASK))
|
H A D | stage2_pgtable.h | 24 #define kvm_stage2_levels(kvm) VTCR_EL2_LVLS(kvm->arch.vtcr)
|
H A D | kvm_mmu.h | 153 #define kvm_phys_shift(kvm) VTCR_EL2_IPA(kvm->arch.vtcr) 302 write_sysreg(arch->vtcr, vtcr_el2);
|
H A D | kvm_pgtable.h | 435 * @vtcr: Content of the VTCR register. 439 size_t kvm_pgtable_stage2_pgd_size(u64 vtcr);
|
H A D | kvm_asm.h | 181 unsigned long vtcr; member
|
/kernel/linux/linux-6.6/arch/arm64/kvm/hyp/nvhe/ |
H A D | pkvm.c | 306 hyp_vm->kvm.arch.vtcr = host_mmu.arch.vtcr; in init_pkvm_hyp_vm() 486 pgd_size = kvm_pgtable_stage2_pgd_size(host_mmu.arch.vtcr); in __pkvm_init_vm()
|
H A D | mem_protect.c | 132 host_mmu.arch.vtcr = kvm_get_vtcr(id_aa64mmfr0_el1_sys_val, in prepare_host_vtcr() 238 nr_pages = kvm_pgtable_stage2_pgd_size(vm->kvm.arch.vtcr) >> PAGE_SHIFT; in kvm_guest_prepare_stage2() 298 params->vtcr = host_mmu.arch.vtcr; in __pkvm_prot_finalize()
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | io-pgtable.h | 129 } vtcr; member
|
/kernel/linux/linux-5.10/arch/arm64/kvm/hyp/ |
H A D | pgtable.c | 859 u64 vtcr = kvm->arch.vtcr; in kvm_pgtable_stage2_init() local 860 u32 ia_bits = VTCR_EL2_IPA(vtcr); in kvm_pgtable_stage2_init() 861 u32 sl0 = FIELD_GET(VTCR_EL2_SL0_MASK, vtcr); in kvm_pgtable_stage2_init()
|
/kernel/linux/linux-5.10/drivers/iommu/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3.c | 1301 FIELD_PREP(STRTAB_STE_2_VTCR, s2_cfg->vtcr) | in arm_smmu_write_strtab_ent() 1920 typeof(&pgtbl_cfg->arm_lpae_s2_cfg.vtcr) vtcr; in arm_smmu_domain_finalise_s2() 1926 vtcr = &pgtbl_cfg->arm_lpae_s2_cfg.vtcr; in arm_smmu_domain_finalise_s2() 1929 cfg->vtcr = FIELD_PREP(STRTAB_STE_2_VTCR_S2T0SZ, vtcr->tsz) | in arm_smmu_domain_finalise_s2() 1930 FIELD_PREP(STRTAB_STE_2_VTCR_S2SL0, vtcr->sl) | in arm_smmu_domain_finalise_s2() 1931 FIELD_PREP(STRTAB_STE_2_VTCR_S2IR0, vtcr->irgn) | in arm_smmu_domain_finalise_s2() 1932 FIELD_PREP(STRTAB_STE_2_VTCR_S2OR0, vtcr in arm_smmu_domain_finalise_s2() [all...] |
H A D | arm-smmu-v3.h | 570 u64 vtcr; member
|
/kernel/linux/linux-6.6/drivers/iommu/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3.c | 1373 FIELD_PREP(STRTAB_STE_2_VTCR, s2_cfg->vtcr) | in arm_smmu_write_strtab_ent() 2155 typeof(&pgtbl_cfg->arm_lpae_s2_cfg.vtcr) vtcr; in arm_smmu_domain_finalise_s2() 2163 vtcr = &pgtbl_cfg->arm_lpae_s2_cfg.vtcr; in arm_smmu_domain_finalise_s2() 2166 cfg->vtcr = FIELD_PREP(STRTAB_STE_2_VTCR_S2T0SZ, vtcr->tsz) | in arm_smmu_domain_finalise_s2() 2167 FIELD_PREP(STRTAB_STE_2_VTCR_S2SL0, vtcr->sl) | in arm_smmu_domain_finalise_s2() 2168 FIELD_PREP(STRTAB_STE_2_VTCR_S2IR0, vtcr->irgn) | in arm_smmu_domain_finalise_s2() 2169 FIELD_PREP(STRTAB_STE_2_VTCR_S2OR0, vtcr in arm_smmu_domain_finalise_s2() [all...] |
/kernel/linux/linux-6.6/arch/arm64/kvm/ |
H A D | pkvm.c | 137 pgd_sz = kvm_pgtable_stage2_pgd_size(host_kvm->arch.vtcr); in __pkvm_create_hyp_vm()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | io-pgtable.h | 128 } vtcr; member
|
/kernel/linux/linux-6.6/arch/arm64/kernel/ |
H A D | asm-offsets.c | 149 DEFINE(NVHE_INIT_VTCR, offsetof(struct kvm_nvhe_init_params, vtcr)); in main()
|