| /linux/arch/arm64/kvm/ |
| H A D | config.c | 224 return !kvm_has_feat(kvm, FEAT_AA64EL3); in not_feat_aa64el3() 229 return ((kvm_has_feat(kvm, ID_AA64MMFR4_EL1, NV_frac, NV2_ONLY) && in feat_nv2() 231 kvm_has_feat(kvm, ID_AA64MMFR2_EL1, NV, NV2)); in feat_nv2() 236 return feat_nv2(kvm) && !kvm_has_feat(kvm, FEAT_E2H0); in feat_nv2_e2h0_ni() 241 return (kvm_has_feat(kvm, ID_AA64PFR0_EL1, RAS, V1P1) || in feat_rasv1p1() 243 kvm_has_feat(kvm, ID_AA64PFR1_EL1, RAS_frac, RASv1p1))); in feat_rasv1p1() 248 return (kvm_has_feat(kvm, ID_AA64PFR0_EL1, CSV2, CSV2_2) || in feat_csv2_2_csv2_1p2() 249 (kvm_has_feat(kvm, ID_AA64PFR1_EL1, CSV2_frac, CSV2_1p2) && in feat_csv2_2_csv2_1p2() 265 return (kvm_has_feat(kvm, ID_AA64MMFR3_EL1, ADERR, FEAT_ADERR) && in feat_aderr() 266 kvm_has_feat(kvm, ID_AA64MMFR3_EL1, SDERR, FEAT_ADERR)); in feat_aderr() [all …]
|
| H A D | handle_exit.c | 310 if (kvm_has_feat(vcpu->kvm, ID_AA64PFR1_EL1, GCS, IMP)) in kvm_handle_gcs() 341 allowed = kvm_has_feat(kvm, ID_AA64ISAR1_EL1, LS64, LS64_V); in handle_other() 345 allowed = kvm_has_feat(kvm, ID_AA64ISAR1_EL1, LS64, LS64_ACCDATA); in handle_other() 349 allowed = kvm_has_feat(kvm, ID_AA64ISAR1_EL1, LS64, LS64); in handle_other() 353 allowed = kvm_has_feat(kvm, ID_AA64DFR0_EL1, TraceBuffer, TRBE_V1P1); in handle_other() 357 allowed = kvm_has_feat(kvm, ID_AA64DFR0_EL1, PMSVer, V1P5); in handle_other()
|
| H A D | nested.c | 586 if (!ttl || !kvm_has_feat(kvm, ID_AA64MMFR2_EL1, TTL, IMP)) { in compute_tlb_inval_range() 871 if (!kvm_has_feat(kvm, ID_AA64MMFR4_EL1, NV_frac, NV2_ONLY)) in kvm_invalidate_vncr_ipa() 1203 if (!kvm_has_feat(vcpu->kvm, ID_AA64MMFR4_EL1, NV_frac, NV2_ONLY)) in kvm_vcpu_allocate_vncr_tlb() 1717 if (!kvm_has_feat(kvm, ID_AA64MMFR2_EL1, CnP, IMP)) in kvm_init_nv_sysregs() 1796 if (!kvm_has_feat(kvm, ID_AA64PFR0_EL1, RME, IMP)) in kvm_init_nv_sysregs() 1798 if (!kvm_has_feat(kvm, ID_AA64MMFR0_EL1, ECV, CNTPOFF)) { in kvm_init_nv_sysregs() 1800 if (!kvm_has_feat(kvm, ID_AA64MMFR0_EL1, ECV, IMP)) in kvm_init_nv_sysregs() 1804 if (!kvm_has_feat(kvm, ID_AA64MMFR1_EL1, VH, IMP)) in kvm_init_nv_sysregs()
|
| H A D | at.c | 47 if (!kvm_has_feat(vcpu->kvm, ID_AA64MMFR0_EL1, TGRAN16, 52_BIT)) in has_52bit_pa() 51 if (!kvm_has_feat(vcpu->kvm, ID_AA64MMFR0_EL1, TGRAN4, 52_BIT)) in has_52bit_pa() 270 wi->hpd = kvm_has_feat(vcpu->kvm, ID_AA64MMFR1_EL1, HPDS, IMP); in setup_s1_walk() 301 lva = kvm_has_feat(vcpu->kvm, ID_AA64MMFR2_EL1, VARange, 52); in setup_s1_walk() 319 if (kvm_has_feat(vcpu->kvm, ID_AA64MMFR2_EL1, E0PD, IMP) && in setup_s1_walk() 349 wi->ha = kvm_has_feat(vcpu->kvm, ID_AA64MMFR1_EL1, HAFDBS, AF); in setup_s1_walk() 823 if (!kvm_has_feat(vcpu->kvm, ID_AA64PFR2_EL1, MTEPERM, IMP)) in compute_par_s12() 951 if (!kvm_has_feat(vcpu->kvm, ID_AA64MMFR1_EL1, PAN, PAN3)) in pan3_enabled()
|
| H A D | pmu-emul.c | 72 if (kvm_has_feat(kvm, ID_AA64PFR0_EL1, EL2, IMP)) in kvm_pmu_evtyper_mask() 75 if (kvm_has_feat(kvm, ID_AA64PFR0_EL1, EL3, IMP)) in kvm_pmu_evtyper_mask() 92 kvm_has_feat(vcpu->kvm, ID_AA64DFR0_EL1, PMUVer, V3P5)); in kvm_pmc_is_64bit() 597 if (!kvm_has_feat(vcpu->kvm, ID_AA64DFR0_EL1, PMUVer, V3P5)) in kvm_pmu_handle_pmcr()
|
| H A D | sys_regs.c | 706 if (!kvm_has_feat(vcpu->kvm, ID_AA64MMFR1_EL1, LO, IMP)) in trap_loregion() 1948 if (kvm_has_feat(vcpu->kvm, ID_AA64PFR1_EL1, SME, IMP)) in sme_visibility() 2739 kvm_has_feat(vcpu->kvm, ID_AA64MMFR4_EL1, NV_frac, NV2_ONLY)) in vncr_el2_visibility() 2864 kvm_has_feat(vcpu->kvm, ID_AA64MMFR0_EL1, FGT, FGT2)) in fgt2_visibility() 2874 kvm_has_feat(vcpu->kvm, ID_AA64MMFR0_EL1, FGT, IMP)) in fgt_visibility() 2953 if (!(kvm_has_feat(kvm, ID_AA64PFR0_EL1, RAS, V1P1) || in access_ras() 2955 kvm_has_feat(kvm, ID_AA64PFR1_EL1, RAS_frac, RASv1p1)))) { in access_ras() 2961 if (!kvm_has_feat(kvm, ID_AA64PFR0_EL1, RAS, IMP)) { in access_ras() 3801 !kvm_has_feat(vcpu->kvm, ID_AA64ISAR2_EL1, ATS1A, IMP)) { in handle_at_s1e2() 3829 !kvm_has_feat(kvm, ID_AA64ISAR1_EL1, XS, IMP)) in kvm_supported_tlbi_s12_op() [all …]
|
| /linux/arch/arm64/kvm/hyp/nvhe/ |
| H A D | pkvm.c | 77 if (!kvm_has_feat(kvm, ID_AA64PFR0_EL1, RAS, IMP)) { in pvm_init_traps_hcr() 82 if (!kvm_has_feat(kvm, ID_AA64PFR0_EL1, AMU, IMP)) in pvm_init_traps_hcr() 85 if (!kvm_has_feat(kvm, ID_AA64PFR1_EL1, MTE, IMP)) { in pvm_init_traps_hcr() 90 if (!kvm_has_feat(kvm, ID_AA64MMFR1_EL1, LO, IMP)) in pvm_init_traps_hcr() 101 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, PMUVer, IMP)) { in pvm_init_traps_mdcr() 106 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, DebugVer, IMP)) in pvm_init_traps_mdcr() 109 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, DoubleLock, IMP)) in pvm_init_traps_mdcr() 112 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, PMSVer, IMP)) { in pvm_init_traps_mdcr() 117 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, TraceFilt, IMP)) in pvm_init_traps_mdcr() 120 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, ExtTrcBuff, IMP)) in pvm_init_traps_mdcr() [all …]
|
| /linux/arch/arm64/include/asm/ |
| H A D | kvm_nested.h | 126 kvm_has_feat(kvm, ID_AA64MMFR1_EL1, XNX, IMP); in kvm_has_xnx() 183 kvm_has_feat(kvm, ID_AA64ISAR1_EL1, XS, IMP)))) in kvm_supported_tlbi_s1e1_op() 187 !kvm_has_feat(kvm, ID_AA64ISAR0_EL1, TLB, OS)) in kvm_supported_tlbi_s1e1_op() 192 !kvm_has_feat(kvm, ID_AA64ISAR0_EL1, TLB, RANGE)) in kvm_supported_tlbi_s1e1_op() 209 kvm_has_feat(kvm, ID_AA64ISAR1_EL1, XS, IMP)))) in kvm_supported_tlbi_s1e2_op() 216 !kvm_has_feat(kvm, ID_AA64ISAR0_EL1, TLB, OS)) in kvm_supported_tlbi_s1e2_op() 221 !kvm_has_feat(kvm, ID_AA64ISAR0_EL1, TLB, RANGE)) in kvm_supported_tlbi_s1e2_op()
|
| H A D | kvm_host.h | 1558 #define kvm_has_feat(kvm, ...) __kvm_has_feat(kvm, __VA_ARGS__) macro 1574 pa = kvm_has_feat((k), ID_AA64ISAR1_EL1, APA, l); \ 1575 pa &= kvm_has_feat((k), ID_AA64ISAR1_EL1, GPA, IMP); \ 1576 pi = kvm_has_feat((k), ID_AA64ISAR1_EL1, API, l); \ 1577 pi &= kvm_has_feat((k), ID_AA64ISAR1_EL1, GPI, IMP); \ 1578 pa3 = kvm_has_feat((k), ID_AA64ISAR2_EL1, APA3, l); \ 1579 pa3 &= kvm_has_feat((k), ID_AA64ISAR2_EL1, GPA3, IMP); \ 1586 kvm_has_feat((k), ID_AA64PFR2_EL1, FPMR, IMP)) 1589 (kvm_has_feat((k), ID_AA64MMFR3_EL1, TCRX, IMP)) 1592 (kvm_has_feat((k), ID_AA64MMFR3_EL1, S1PIE, IMP)) [all …]
|
| /linux/arch/arm64/kvm/vgic/ |
| H A D | vgic.h | 446 return kvm_has_feat(kvm, ID_AA64PFR0_EL1, GIC, IMP); in kvm_has_gicv3()
|
| /linux/arch/arm64/kvm/hyp/include/hyp/ |
| H A D | switch.h | 146 if (kvm_has_feat(vcpu->kvm, ID_AA64MMFR3_EL1, S2POE, IMP)) in __activate_cptr_traps_vhe()
|