kvm_cpu_has
return nr_bits > feature.f.bit && !kvm_cpu_has(feature.f);
return nr_bits > feature.f.bit || kvm_cpu_has(feature.f);
return kvm_cpu_has(X86_FEATURE_NPT);
if (kvm_cpu_has(X86_FEATURE_VMX))
*pa_bits = kvm_cpu_has(X86_FEATURE_PAE) ? 36 : 32;
if (kvm_cpu_has(X86_FEATURE_VMX))
if (kvm_cpu_has(X86_FEATURE_XSAVE))
if (!kvm_cpu_has(X86_FEATURE_XSAVE))
if (!kvm_cpu_has(X86_FEATURE_VMX))
return kvm_cpu_has(X86_FEATURE_KVM_STEAL_TIME);
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_XFD));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_XSAVE));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_AMX_TILE));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_XTILECFG));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_XTILEDATA));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_XTILEDATA_XFD));
const bool has_nested = kvm_cpu_has(X86_FEATURE_SVM) || kvm_cpu_has(X86_FEATURE_VMX);
else if (kvm_cpu_has(X86_FEATURE_SVM))
if (kvm_cpu_has(X86_FEATURE_XSAVE))
if (kvm_cpu_has(X86_FEATURE_PKU))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_XSAVE));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX));
if (kvm_cpu_has(X86_FEATURE_GP_ON_USER_CPUID))
if (!kvm_cpu_has(X86_FEATURE_VMX) ||
test_hv_cpuid(NULL, kvm_cpu_has(X86_FEATURE_VMX));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX));
bool has_invtsc = kvm_cpu_has(X86_FEATURE_INVTSC);
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM));
const bool has_nested = kvm_cpu_has(X86_FEATURE_SVM) || kvm_cpu_has(X86_FEATURE_VMX);
if (kvm_cpu_has(X86_FEATURE_SVM))
if (!kvm_cpu_has(msrs[idx].feature))
(kvm_cpu_has(msr->feature) || kvm_cpu_has(msr->feature2)),
(kvm_cpu_has(msr->feature) || kvm_cpu_has(msr->feature2)) ?
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX) ||
kvm_cpu_has(X86_FEATURE_SVM));
if (kvm_cpu_has(X86_FEATURE_VMX))
if (kvm_cpu_has(X86_FEATURE_VMX))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX) || kvm_cpu_has(X86_FEATURE_SVM));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM) || kvm_cpu_has(X86_FEATURE_VMX));
if (kvm_cpu_has(X86_FEATURE_SVM))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM) || kvm_cpu_has(X86_FEATURE_VMX));
if (kvm_cpu_has(X86_FEATURE_SVM))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX) ||
kvm_cpu_has(X86_FEATURE_SVM));
if (kvm_cpu_has(X86_FEATURE_VMX))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX) ||
kvm_cpu_has(X86_FEATURE_SVM));
if (kvm_cpu_has(X86_FEATURE_VMX))
if (kvm_cpu_has(X86_FEATURE_VMX))
if (kvm_cpu_has(X86_FEATURE_VMX))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX) || kvm_cpu_has(X86_FEATURE_SVM));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX) ||
kvm_cpu_has(X86_FEATURE_SVM));
if (kvm_cpu_has(X86_FEATURE_VMX))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX) ||
kvm_cpu_has(X86_FEATURE_SVM));
if (kvm_cpu_has(X86_FEATURE_VMX))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_NPT));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_V_VMSAVE_VMLOAD));
kvm_has_perf_caps = kvm_cpu_has(X86_FEATURE_PDCM);
if (kvm_cpu_has(X86_FEATURE_UMIP))
if (kvm_cpu_has(X86_FEATURE_LA57))
if (kvm_cpu_has(X86_FEATURE_VMX))
if (kvm_cpu_has(X86_FEATURE_SMX))
if (kvm_cpu_has(X86_FEATURE_FSGSBASE))
if (kvm_cpu_has(X86_FEATURE_PCID))
if (kvm_cpu_has(X86_FEATURE_XSAVE))
if (kvm_cpu_has(X86_FEATURE_SMEP))
if (kvm_cpu_has(X86_FEATURE_SMAP))
if (kvm_cpu_has(X86_FEATURE_PKU))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SEV));
TEST_ASSERT(!have_sev || kvm_cpu_has(X86_FEATURE_SEV),
TEST_ASSERT(!have_sev_es || kvm_cpu_has(X86_FEATURE_SEV_ES),
TEST_ASSERT(!have_snp || kvm_cpu_has(X86_FEATURE_SEV_SNP),
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SEV));
if (kvm_cpu_has(X86_FEATURE_SEV_SNP))
if (kvm_cpu_has(X86_FEATURE_SEV_SNP))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SEV));
if (kvm_cpu_has(X86_FEATURE_SVM))
else if (kvm_cpu_has(X86_FEATURE_VMX))
if (kvm_cpu_has(X86_FEATURE_VGIF)) {
if (kvm_cpu_has(X86_FEATURE_NRIPS)) {
if (kvm_has_cap(KVM_CAP_NESTED_STATE) && kvm_cpu_has(X86_FEATURE_SVM))
if (kvm_cpu_has(X86_FEATURE_SVM))
else if (kvm_cpu_has(X86_FEATURE_VMX))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM));
if (npt_enabled && !kvm_cpu_has(X86_FEATURE_NPT)) { \
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM));
TEST_ASSERT(kvm_cpu_has(X86_FEATURE_NRIPS),
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_SVM));
bool has_vmx = kvm_cpu_has(X86_FEATURE_VMX);
bool has_svm = kvm_cpu_has(X86_FEATURE_SVM);
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX));
if (!kvm_cpu_has(feature))
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_LA57));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_PDCM));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_VMX));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_XSAVE));
TEST_REQUIRE(kvm_cpu_has(X86_FEATURE_XSAVES));