| /linux/arch/arm64/kvm/ |
| H A D | config.c | 232 return !kvm_has_feat(kvm, FEAT_AA64EL3); in not_feat_aa64el3() 237 return ((kvm_has_feat(kvm, ID_AA64MMFR4_EL1, NV_frac, NV2_ONLY) && in feat_nv2() 239 kvm_has_feat(kvm, ID_AA64MMFR2_EL1, NV, NV2)); in feat_nv2() 244 return feat_nv2(kvm) && !kvm_has_feat(kvm, FEAT_E2H0); in feat_nv2_e2h0_ni() 249 return (kvm_has_feat(kvm, ID_AA64PFR0_EL1, RAS, V1P1) || in feat_rasv1p1() 251 kvm_has_feat(kvm, ID_AA64PFR1_EL1, RAS_frac, RASv1p1))); in feat_rasv1p1() 256 return (kvm_has_feat(kvm, ID_AA64PFR0_EL1, CSV2, CSV2_2) || in feat_csv2_2_csv2_1p2() 257 (kvm_has_feat(kvm, ID_AA64PFR1_EL1, CSV2_frac, CSV2_1p2) && in feat_csv2_2_csv2_1p2() 273 return (kvm_has_feat(kvm, ID_AA64MMFR3_EL1, ADERR, FEAT_ADERR) && in feat_aderr() 274 kvm_has_feat(kvm, ID_AA64MMFR3_EL1, SDERR, FEAT_ADERR)); in feat_aderr() [all …]
|
| H A D | nested.c | 689 if (!ttl || !kvm_has_feat(kvm, ID_AA64MMFR2_EL1, TTL, IMP)) { in compute_tlb_inval_range() 1065 if (!kvm_has_feat(kvm, ID_AA64MMFR4_EL1, NV_frac, NV2_ONLY)) in kvm_invalidate_vncr_ipa() 1393 if (!kvm_has_feat(vcpu->kvm, ID_AA64MMFR4_EL1, NV_frac, NV2_ONLY)) in kvm_vcpu_allocate_vncr_tlb() 1897 if (!kvm_has_feat(kvm, ID_AA64MMFR2_EL1, CnP, IMP)) in kvm_init_nv_sysregs() 1983 if (!kvm_has_feat(kvm, ID_AA64PFR0_EL1, RME, IMP)) in kvm_init_nv_sysregs() 1985 if (!kvm_has_feat(kvm, ID_AA64MMFR0_EL1, ECV, CNTPOFF)) { in kvm_init_nv_sysregs() 1987 if (!kvm_has_feat(kvm, ID_AA64MMFR0_EL1, ECV, IMP)) in kvm_init_nv_sysregs() 1991 if (!kvm_has_feat(kvm, ID_AA64MMFR1_EL1, VH, IMP)) in kvm_init_nv_sysregs()
|
| H A D | hypercalls.c | 324 if (kvm_has_feat(vcpu->kvm, ID_AA64PFR1_EL1, SSBS, IMP)) in kvm_smccc_call_handler() 460 if (kvm_has_feat(vcpu->kvm, ID_AA64PFR1_EL1, SSBS, IMP)) in get_kernel_wa_level()
|
| H A D | sys_regs.c | 825 if (!kvm_has_feat(vcpu->kvm, ID_AA64MMFR1_EL1, LO, IMP)) in trap_loregion() 2116 if (kvm_has_feat(vcpu->kvm, ID_AA64PFR1_EL1, SME, IMP)) in sme_visibility() 2924 kvm_has_feat(vcpu->kvm, ID_AA64MMFR4_EL1, NV_frac, NV2_ONLY)) in vncr_el2_visibility() 2934 kvm_has_feat(vcpu->kvm, ID_AA64MMFR4_EL1, NV_frac, NV3)) in nvhcr_el2_visibility() 3054 kvm_has_feat(vcpu->kvm, ID_AA64MMFR0_EL1, FGT, FGT2)) in fgt2_visibility() 3064 kvm_has_feat(vcpu->kvm, ID_AA64MMFR0_EL1, FGT, IMP)) in fgt_visibility() 3143 if (!(kvm_has_feat(kvm, ID_AA64PFR0_EL1, RAS, V1P1) || in access_ras() 3145 kvm_has_feat(kvm, ID_AA64PFR1_EL1, RAS_frac, RASv1p1)))) { in access_ras() 3151 if (!kvm_has_feat(kvm, ID_AA64PFR0_EL1, RAS, IMP)) { in access_ras() 4000 !kvm_has_feat(vcpu->kvm, ID_AA64ISAR2_EL1, ATS1A, IMP)) { in handle_at_s1e2() [all …]
|
| H A D | emulate-nested.c | 2677 if (kvm_has_feat(vcpu->kvm, ID_AA64MMFR2_EL1, IDS, IMP)) in triage_sysreg_trap() 2766 if (kvm_has_feat(vcpu->kvm, ID_AA64MMFR1_EL1, PAN, IMP)) in kvm_check_illegal_exception_return() 2768 if (kvm_has_feat(vcpu->kvm, ID_AA64PFR1_EL1, NMI, IMP)) in kvm_check_illegal_exception_return() 2771 if (kvm_has_feat(vcpu->kvm, ID_AA64DFR1_EL1, EBEP, IMP)) in kvm_check_illegal_exception_return() 2777 if (kvm_has_feat(vcpu->kvm, ID_AA64PFR1_EL1, GCS, IMP)) in kvm_check_illegal_exception_return()
|
| /linux/arch/arm64/kvm/hyp/nvhe/ |
| H A D | pkvm.c | 86 if (!kvm_has_feat(kvm, ID_AA64PFR0_EL1, RAS, IMP)) { in pvm_init_traps_hcr() 91 if (!kvm_has_feat(kvm, ID_AA64PFR0_EL1, AMU, IMP)) in pvm_init_traps_hcr() 99 if (!kvm_has_feat(kvm, ID_AA64MMFR1_EL1, LO, IMP)) in pvm_init_traps_hcr() 110 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, PMUVer, IMP)) { in pvm_init_traps_mdcr() 115 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, DebugVer, IMP)) in pvm_init_traps_mdcr() 118 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, DoubleLock, IMP)) in pvm_init_traps_mdcr() 121 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, PMSVer, IMP)) { in pvm_init_traps_mdcr() 126 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, TraceFilt, IMP)) in pvm_init_traps_mdcr() 129 if (!kvm_has_feat(kvm, ID_AA64DFR0_EL1, TraceBuffer, IMP)) in pvm_init_traps_mdcr() 133 if (!kvm_has_feat(kvm, ID_AA64MMFR0_EL1, FGT, IMP)) in pvm_init_traps_mdcr() [all …]
|
| /linux/arch/arm64/include/asm/ |
| H A D | kvm_nested.h | 128 kvm_has_feat(kvm, ID_AA64MMFR1_EL1, XNX, IMP); in kvm_has_xnx() 185 kvm_has_feat(kvm, ID_AA64ISAR1_EL1, XS, IMP)))) in kvm_supported_tlbi_s1e1_op() 189 !kvm_has_feat(kvm, ID_AA64ISAR0_EL1, TLB, OS)) in kvm_supported_tlbi_s1e1_op() 194 !kvm_has_feat(kvm, ID_AA64ISAR0_EL1, TLB, RANGE)) in kvm_supported_tlbi_s1e1_op() 211 kvm_has_feat(kvm, ID_AA64ISAR1_EL1, XS, IMP)))) in kvm_supported_tlbi_s1e2_op() 218 !kvm_has_feat(kvm, ID_AA64ISAR0_EL1, TLB, OS)) in kvm_supported_tlbi_s1e2_op() 223 !kvm_has_feat(kvm, ID_AA64ISAR0_EL1, TLB, RANGE)) in kvm_supported_tlbi_s1e2_op()
|
| H A D | kvm_host.h | 1613 #define kvm_has_feat(kvm, ...) __kvm_has_feat(kvm, __VA_ARGS__) macro 1629 pa = kvm_has_feat((k), ID_AA64ISAR1_EL1, APA, l); \ 1630 pa &= kvm_has_feat((k), ID_AA64ISAR1_EL1, GPA, IMP); \ 1631 pi = kvm_has_feat((k), ID_AA64ISAR1_EL1, API, l); \ 1632 pi &= kvm_has_feat((k), ID_AA64ISAR1_EL1, GPI, IMP); \ 1633 pa3 = kvm_has_feat((k), ID_AA64ISAR2_EL1, APA3, l); \ 1634 pa3 &= kvm_has_feat((k), ID_AA64ISAR2_EL1, GPA3, IMP); \ 1641 kvm_has_feat((k), ID_AA64PFR2_EL1, FPMR, IMP)) 1644 (kvm_has_feat((k), ID_AA64MMFR3_EL1, TCRX, IMP)) 1647 (kvm_has_feat((k), ID_AA64MMFR3_EL1, S1PIE, IMP)) [all …]
|