cpu_feature_enabled
#define has_cpuflag(f) cpu_feature_enabled(f)
if (cpu_feature_enabled(X86_FEATURE_COHERENCY_SFW_NO))
#define has_cpuflag(f) cpu_feature_enabled(f)
if (cpu_feature_enabled(X86_FEATURE_XENPV))
if (cpu_feature_enabled(X86_FEATURE_XENPV))
if (cpu_feature_enabled(X86_FEATURE_XENPV))
if (cpu_feature_enabled(X86_FEATURE_NX))
if (!cpu_feature_enabled(X86_FEATURE_BRS))
if (!cpu_feature_enabled(X86_FEATURE_BRS))
if (cpu_feature_enabled(X86_FEATURE_ZEN4) || boot_cpu_data.x86 >= 0x1a)
if (cpu_feature_enabled(X86_FEATURE_ZEN2) || boot_cpu_data.x86 >= 0x19)
if (cpu_feature_enabled(X86_FEATURE_ZEN1))
if (cpu_feature_enabled(X86_FEATURE_AMD_LBR_PMC_FREEZE)) {
if (WARN_ON_ONCE(cpu_feature_enabled(X86_FEATURE_HYBRID_CPU)) ||
if (cpu_feature_enabled(X86_FEATURE_HYBRID_CPU)) {
if (cpu_feature_enabled(X86_FEATURE_AMD_LBR_PMC_FREEZE)) {
if (cpu_feature_enabled(X86_FEATURE_XSAVE))
if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR)) \
return cpu_feature_enabled(X86_FEATURE_XENPV);
if (cpu_feature_enabled(X86_FEATURE_SMAP) ||
cpu_feature_enabled(X86_FEATURE_XENPV))
if (cpu_feature_enabled(X86_FEATURE_IBPB_EXIT_TO_USER) &&
cpu_feature_enabled(X86_FEATURE_FPU) &&
if (cpu_feature_enabled(X86_FEATURE_FRED) && (__this_cpu_read(fred_rsp0) != rsp0)) {
if (cpu_feature_enabled(X86_FEATURE_LKGS)) {
if (cpu_feature_enabled(X86_FEATURE_LKGS))
if (!cpu_feature_enabled(X86_FEATURE_FRED)) \
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_OSPKE)) {
if (!cpu_feature_enabled(X86_FEATURE_OSPKE))
if (cpu_feature_enabled(X86_FEATURE_PTI))
return cpu_feature_enabled(X86_FEATURE_SHSTK) &&
return !cpu_feature_enabled(X86_FEATURE_XENPV);
return cpu_feature_enabled(X86_FEATURE_SHSTK) &&
return cpu_feature_enabled(X86_FEATURE_SHSTK) &&
#define pgtable_l5_enabled() cpu_feature_enabled(X86_FEATURE_LA57)
#define arch_max_pkey() (cpu_feature_enabled(X86_FEATURE_OSPKE) ? 16 : 1)
return cpu_feature_enabled(X86_FEATURE_OSPKE);
if (!cpu_feature_enabled(X86_FEATURE_OSPKE))
if (!cpu_feature_enabled(X86_FEATURE_OSPKE))
if (cpu_feature_enabled(X86_FEATURE_OSPKE))
if (!cpu_feature_enabled(X86_FEATURE_OSPKE))
if (!cpu_feature_enabled(X86_FEATURE_OSPKE))
if (!cpu_feature_enabled(X86_FEATURE_FRED) && cpu_feature_enabled(X86_FEATURE_XENPV))
!cpu_feature_enabled(X86_FEATURE_TSC))
if (!cpu_feature_enabled(X86_FEATURE_INVLPGB))
if (cpu_feature_enabled(X86_FEATURE_INVLPGB)) {
if (!cpu_feature_enabled(X86_FEATURE_INVLPGB))
!cpu_feature_enabled(X86_FEATURE_TSC))
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST)) {
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (!cpu_feature_enabled(X86_FEATURE_APERFMPERF))
if (cpu_feature_enabled(X86_FEATURE_CPPC)) {
if (cpu_feature_enabled(X86_FEATURE_ZEN4)) {
if (cpu_feature_enabled(X86_FEATURE_AMD_HTR_CORES)) {
if (cpu_feature_enabled(X86_FEATURE_ZEN)) {
return cpu_feature_enabled(X86_FEATURE_RETHUNK);
if (!cpu_feature_enabled(X86_FEATURE_RETHUNK))
if (HAS_KERNEL_IBT && cpu_feature_enabled(X86_FEATURE_IBT)) {
if (!cpu_feature_enabled(X86_FEATURE_FRED))
if (!cpu_feature_enabled(X86_FEATURE_INDIRECT_THUNK_ITS))
if (!cpu_feature_enabled(X86_FEATURE_INDIRECT_THUNK_ITS))
if (!cpu_feature_enabled(X86_FEATURE_INDIRECT_THUNK_ITS))
if (!cpu_feature_enabled(X86_FEATURE_INDIRECT_THUNK_ITS))
if (cpu_feature_enabled(X86_FEATURE_RETPOLINE) &&
!cpu_feature_enabled(X86_FEATURE_RETPOLINE_LFENCE)) {
if (cpu_feature_enabled(X86_FEATURE_CALL_DEPTH))
if (cpu_feature_enabled(X86_FEATURE_RETPOLINE_LFENCE)) {
if (cpu_feature_enabled(X86_FEATURE_ZEN))
if (!cpu_feature_enabled(X86_FEATURE_ZEN))
if (!cpu_feature_enabled(X86_FEATURE_CALL_DEPTH))
if (cpu_feature_enabled(X86_FEATURE_USER_SHSTK))
if (cpu_feature_enabled(X86_FEATURE_IBT))
if (!cpu_feature_enabled(X86_FEATURE_XENPV))
if (!cpu_feature_enabled(X86_FEATURE_BPEXT))
if (!cpu_feature_enabled(X86_FEATURE_BPEXT))
if (cpu_feature_enabled(X86_FEATURE_ZEN2))
if (!cpu_feature_enabled(X86_FEATURE_ZEN))
(cpu_feature_enabled(X86_FEATURE_ZEN3) ||
cpu_feature_enabled(X86_FEATURE_ZEN4) ||
cpu_feature_enabled(X86_FEATURE_RMPREAD)) &&
if (!cpu_feature_enabled(X86_FEATURE_APERFMPERF))
if (!cpu_feature_enabled(X86_FEATURE_APERFMPERF))
if (!cpu_feature_enabled(X86_FEATURE_APERFMPERF))
if (cpu_feature_enabled(X86_FEATURE_APERFMPERF))
if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
if (!cpu_feature_enabled(X86_FEATURE_KERNEL_IBRS))
if (spectre_v2_cmd == SPECTRE_V2_CMD_IBRS && cpu_feature_enabled(X86_FEATURE_XENPV)) {
if (cpu_feature_enabled(X86_FEATURE_MSR_SPEC_CTRL)) {
if (cpu_feature_enabled(X86_FEATURE_PGE)) {
if (cpu_feature_enabled(X86_FEATURE_MTRR))
if (cpu_feature_enabled(X86_FEATURE_MTRR))
if (cpu_feature_enabled(X86_FEATURE_PGE))
!cpu_feature_enabled(X86_FEATURE_SEV_SNP))) {
if (HAS_KERNEL_IBT && cpu_feature_enabled(X86_FEATURE_IBT))
if (!cpu_feature_enabled(X86_FEATURE_FRED))
if (!cpu_feature_enabled(X86_FEATURE_FRED))
if (cpu_feature_enabled(X86_FEATURE_FSGSBASE)) {
if (cpu_feature_enabled(X86_FEATURE_FRED)) {
if (cpu_feature_enabled(X86_FEATURE_FRED))
if (IS_ENABLED(CONFIG_X86_64) || cpu_feature_enabled(X86_FEATURE_VME) ||
if (!cpu_feature_enabled(X86_FEATURE_UMIP))
if (!cpu_feature_enabled(X86_FEATURE_LASS))
if (pku_disabled || !cpu_feature_enabled(X86_FEATURE_PKU))
} else if (!cpu_feature_enabled(X86_FEATURE_OSPKE)) {
if (cpu_feature_enabled(X86_FEATURE_IBT)) {
if (cpu_feature_enabled(X86_FEATURE_IBT)) {
kernel_ibt = HAS_KERNEL_IBT && cpu_feature_enabled(X86_FEATURE_IBT);
user_shstk = cpu_feature_enabled(X86_FEATURE_SHSTK) &&
if (!(cpu_feature_enabled(X86_FEATURE_IBT) ||
cpu_feature_enabled(X86_FEATURE_SHSTK)))
if (!cpu_feature_enabled(X86_FEATURE_XENPV))
if (cpu_feature_enabled(X86_FEATURE_HYBRID_CPU))
mce_flags.overflow_recov = cpu_feature_enabled(X86_FEATURE_OVERFLOW_RECOV);
mce_flags.succor = cpu_feature_enabled(X86_FEATURE_SUCCOR);
mce_flags.smca = cpu_feature_enabled(X86_FEATURE_SMCA);
if (cpu_feature_enabled(X86_FEATURE_SMCA)) {
if (cpu_feature_enabled(X86_FEATURE_SMCA)) {
if (!cpu_feature_enabled(X86_FEATURE_SMCA))
if (cpu_feature_enabled(X86_FEATURE_SMCA)) {
if (cpu_feature_enabled(X86_FEATURE_FRED))
if (!cpu_feature_enabled(X86_FEATURE_MTRR) || enable_mtrr_cleanup < 1)
if (!cpu_feature_enabled(X86_FEATURE_MTRR) || disable_mtrr_trim)
if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
!cpu_feature_enabled(X86_FEATURE_XENPV) &&
!cpu_feature_enabled(X86_FEATURE_TDX_GUEST))
if (cpu_feature_enabled(X86_FEATURE_K6_MTRR))
if (cpu_feature_enabled(X86_FEATURE_CENTAUR_MCR))
if (cpu_feature_enabled(X86_FEATURE_CYRIX_ARR))
bool generic_mtrrs = cpu_feature_enabled(X86_FEATURE_MTRR);
if (!cpu_feature_enabled(X86_FEATURE_SGX_LC)) {
if (cpu_feature_enabled(X86_FEATURE_OSXSAVE)) {
if (cpu_feature_enabled(X86_FEATURE_SGX2) &&
if (!(cpu_feature_enabled(X86_FEATURE_SGX2)))
if (!cpu_feature_enabled(X86_FEATURE_SGX))
if (!cpu_feature_enabled(X86_FEATURE_SGX_EUPDATESVN))
if (!cpu_feature_enabled(X86_FEATURE_VMX))
if (!cpu_feature_enabled(X86_FEATURE_SGX_LC)) {
if (cpu_feature_enabled(X86_FEATURE_AMD_HTR_CORES))
if (!cpu_feature_enabled(X86_FEATURE_XTOPOLOGY)) {
} else if (cpu_feature_enabled(X86_FEATURE_MSR_TSX_CTRL)) {
!cpu_feature_enabled(X86_FEATURE_MSR_TSX_CTRL) ||
!cpu_feature_enabled(X86_FEATURE_SRBDS_CTRL))
if (cpu_feature_enabled(X86_FEATURE_FRED))
if (cpu_feature_enabled(X86_FEATURE_FRED))
if (cpu_feature_enabled(X86_FEATURE_AMX_TILE) &&
if (cpu_feature_enabled(X86_FEATURE_XSAVE)) {
if (!cpu_feature_enabled(X86_FEATURE_XSAVE)) {
if (!cpu_feature_enabled(X86_FEATURE_FPU)) {
if (cpu_feature_enabled(X86_FEATURE_FXSR))
if (!cpu_feature_enabled(X86_FEATURE_FPU))
if (!cpu_feature_enabled(X86_FEATURE_FPU)) {
if (!cpu_feature_enabled(X86_FEATURE_FPU)) {
} else if (cpu_feature_enabled(X86_FEATURE_FXSR)) {
return cpu_feature_enabled(X86_FEATURE_XSAVE);
return cpu_feature_enabled(X86_FEATURE_FXSR);
if (!cpu_feature_enabled(X86_FEATURE_XSAVE))
if (!cpu_feature_enabled(X86_FEATURE_XSAVE))
if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK) ||
if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK) ||
if (!cpu_feature_enabled(X86_FEATURE_FPU))
if (!cpu_feature_enabled(X86_FEATURE_FXSR)) {
if (!cpu_feature_enabled(X86_FEATURE_FPU))
if (cpu_feature_enabled(X86_FEATURE_FXSR))
if (cpu_feature_enabled(X86_FEATURE_XSAVE))
if (!cpu_feature_enabled(X86_FEATURE_FXSR))
if (!cpu_feature_enabled(X86_FEATURE_FXSR))
if (!IS_ENABLED(CONFIG_X86_64) && !cpu_feature_enabled(X86_FEATURE_FPU)) {
if (cpu_feature_enabled(X86_FEATURE_XCOMPACTED)) {
if (!cpu_feature_enabled(X86_FEATURE_OSPKE))
if (WARN_ON_FPU(!cpu_feature_enabled(X86_FEATURE_XSAVES)))
bool compacted = cpu_feature_enabled(X86_FEATURE_XCOMPACTED);
if (!cpu_feature_enabled(X86_FEATURE_XCOMPACTED) ||
if (cpu_feature_enabled(X86_FEATURE_AVX512F))
if (cpu_feature_enabled(X86_FEATURE_XFD))
if (cpu_feature_enabled(X86_FEATURE_XSAVES))
bool compacted = cpu_feature_enabled(X86_FEATURE_XCOMPACTED);
bool xsaves = cpu_feature_enabled(X86_FEATURE_XSAVES);
bool compacted = cpu_feature_enabled(X86_FEATURE_XCOMPACTED);
if (!cpu_feature_enabled(X86_FEATURE_XFD))
if (!cpu_feature_enabled(X86_FEATURE_XSAVES))
if (cpu_feature_enabled(X86_FEATURE_XSAVEC) ||
cpu_feature_enabled(X86_FEATURE_XSAVES))
if (cpu_feature_enabled(X86_FEATURE_XSAVE))
if (cpu_feature_enabled(X86_FEATURE_XSAVES)) {
if (cpu_feature_enabled(X86_FEATURE_XCOMPACTED))
if (cpu_feature_enabled(X86_FEATURE_XSAVES))
if (!cpu_feature_enabled(X86_FEATURE_ARCH_LBR))
if (unlikely(!cpu_feature_enabled(X86_FEATURE_OSPKE)))
if (!cpu_feature_enabled(X86_FEATURE_MWAIT))
if (!cpu_feature_enabled(X86_FEATURE_FRED))
} else if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST)) {
if (!cpu_feature_enabled(X86_FEATURE_FRED) &&
!cpu_feature_enabled(X86_FEATURE_XENPV)) {
if (!cpu_feature_enabled(X86_FEATURE_FRED) &&
!cpu_feature_enabled(X86_FEATURE_XENPV)) {
if (!cpu_feature_enabled(X86_FEATURE_OSPKE))
if (cpu_feature_enabled(X86_FEATURE_FRED)) {
if (cpu_feature_enabled(X86_FEATURE_AMD_WORKLOAD_CLASS))
if (!cpu_feature_enabled(X86_FEATURE_LAM))
if (!cpu_feature_enabled(X86_FEATURE_LAM))
if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK) || in_ia32_syscall())
if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK) ||
if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK) ||
if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK) ||
if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK))
if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK))
if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK))
if (cpu_feature_enabled(X86_FEATURE_KERNEL_IBRS))
if (cpu_feature_enabled(X86_FEATURE_TOPOEXT) && topology_amd_nodes_per_pkg() > 1)
if (!cpu_feature_enabled(X86_FEATURE_FRED) &&
if (!IS_ENABLED(CONFIG_X86_64) || !cpu_feature_enabled(X86_FEATURE_XFD))
if (!cpu_feature_enabled(X86_FEATURE_FRED))
if (cpu_feature_enabled(X86_FEATURE_LASS))
if (!cpu_feature_enabled(X86_FEATURE_ENQCMD))
if (!cpu_feature_enabled(X86_FEATURE_TSC)) {
if (!cpu_feature_enabled(X86_FEATURE_TSC_ADJUST) || tsc_clocksource_reliable)
if (cpu_feature_enabled(X86_FEATURE_CLEAR_CPU_BUF_VM_MMIO) &&
if (cpu_feature_enabled(X86_FEATURE_HYBRID_CPU)) {
(cpu_feature_enabled(X86_FEATURE_ZEN4) || boot_cpu_data.x86 >= 0x1A);
if (cpu_feature_enabled(X86_FEATURE_X2AVIC_EXT))
if (sev_es_enabled && cpu_feature_enabled(X86_FEATURE_DEBUG_SWAP) &&
cpu_feature_enabled(X86_FEATURE_NO_NESTED_DATA_BP))
if (sev_snp_enabled && tsc_khz && cpu_feature_enabled(X86_FEATURE_SNP_SECURE_TSC))
if (cpu_feature_enabled(X86_FEATURE_ALLOWED_SEV_FEATURES))
(sev_snp_guest(kvm) && cpu_feature_enabled(X86_FEATURE_DEBUG_SWAP))) {
if (cpu_feature_enabled(X86_FEATURE_V_TSC_AUX) &&
if (cpu_feature_enabled(X86_FEATURE_IDLE_HLT))
if (!cpu_feature_enabled(X86_FEATURE_SRSO_BP_SPEC_REDUCE))
if (!cpu_feature_enabled(X86_FEATURE_SRSO_BP_SPEC_REDUCE))
if (cpu_feature_enabled(X86_FEATURE_SRSO_BP_SPEC_REDUCE) &&
if (cpu_feature_enabled(X86_FEATURE_LFENCE_RDTSC))
if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR) &&
if (cpu_feature_enabled(X86_FEATURE_ERAPS))
if (cpu_feature_enabled(X86_FEATURE_BUS_LOCK_THRESHOLD))
if (cpu_feature_enabled(X86_FEATURE_IBPB))
if (cpu_feature_enabled(X86_FEATURE_FLUSH_L1D))
if (cpu_feature_enabled(X86_FEATURE_V_SPEC_CTRL))
if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
if (!cpu_feature_enabled(X86_FEATURE_OSXSAVE)) {
if (!cpu_feature_enabled(X86_FEATURE_MOVDIR64B)) {
if (!cpu_feature_enabled(X86_FEATURE_SELFSNOOP)) {
if (!cpu_feature_enabled(X86_FEATURE_TDX_HOST_PLATFORM)) {
if (cpu_feature_enabled(X86_FEATURE_CLEAR_CPU_BUF_VM_MMIO) &&
if (cpu_feature_enabled(X86_FEATURE_IBPB))
if (cpu_feature_enabled(X86_FEATURE_FLUSH_L1D))
vmx->disable_fb_clear = !cpu_feature_enabled(X86_FEATURE_CLEAR_CPU_BUF) &&
!cpu_feature_enabled(X86_FEATURE_SGX2));
if (!cpu_feature_enabled(X86_FEATURE_MSR_SPEC_CTRL))
if (cpu_feature_enabled(X86_FEATURE_KERNEL_IBRS) ||
if (cpu_feature_enabled(X86_FEATURE_FRED))
if (!cpu_feature_enabled(X86_FEATURE_ARCH_LBR) &&
if (cpu_feature_enabled(X86_FEATURE_IBPB_EXIT_TO_USER))
if (cpu_feature_enabled(X86_FEATURE_PKU) &&
if (cpu_feature_enabled(X86_FEATURE_PKU) &&
if (cpu_feature_enabled(X86_FEATURE_AMD_IBRS_SAME_MODE))
#define has_cpuflag(f) cpu_feature_enabled(f)
if (unlikely(cpu_feature_enabled(X86_FEATURE_SMAP) &&
address = cpu_feature_enabled(X86_FEATURE_FRED) ? fred_event_data(regs) : read_cr2();
if (!cpu_feature_enabled(X86_FEATURE_OSPKE))
cpu_feature_enabled(X86_FEATURE_PSE)) {
if (cpu_feature_enabled(X86_FEATURE_PTI))
if (IS_ENABLED(CONFIG_X86_64) && cpu_feature_enabled(X86_FEATURE_PTI))
if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
return !cpu_feature_enabled(X86_FEATURE_SME_COHERENT);
if (!cpu_feature_enabled(X86_FEATURE_PAT))
if (pat_disabled || cpu_feature_enabled(X86_FEATURE_XENPV)) {
if (!cpu_feature_enabled(X86_FEATURE_PSE))
return !cpu_feature_enabled(X86_FEATURE_HYPERVISOR);
if (!cpu_feature_enabled(X86_FEATURE_OSPKE))
if (cpu_feature_enabled(X86_FEATURE_INVLPGB)) {
if (cpu_feature_enabled(X86_FEATURE_PCID))
if (cpu_feature_enabled(X86_FEATURE_INVLPGB))
if (cpu_feature_enabled(X86_FEATURE_INVLPGB))
if (cpu_feature_enabled(X86_FEATURE_INVLPGB))
if (cpu_feature_enabled(X86_FEATURE_PGE)) {
if (cpu_feature_enabled(X86_FEATURE_INVLPGB) && batch->unmapped_pages) {
if (cpu_feature_enabled(X86_FEATURE_INVLPGB)) {
if (!cpu_feature_enabled(X86_FEATURE_INVLPGB))
if (!cpu_feature_enabled(X86_FEATURE_INVLPGB))
if (!cpu_feature_enabled(X86_FEATURE_INVLPGB))
if (cpu_feature_enabled(X86_FEATURE_PTI))
if (cpu_feature_enabled(X86_FEATURE_PTI))
if (!cpu_feature_enabled(X86_FEATURE_PCID))
if (cpu_feature_enabled(X86_FEATURE_CLEAR_BHB_LOOP)) {
if ((cpu_feature_enabled(X86_FEATURE_CLEAR_BHB_LOOP) &&
cpu_feature_enabled(X86_FEATURE_HYPERVISOR)) ||
cpu_feature_enabled(X86_FEATURE_CLEAR_BHB_HW)) {
if (cpu_feature_enabled(X86_FEATURE_INDIRECT_THUNK_ITS)) {
} else if (cpu_feature_enabled(X86_FEATURE_RETPOLINE_LFENCE)) {
} else if (cpu_feature_enabled(X86_FEATURE_RETPOLINE)) {
if (cpu_feature_enabled(X86_FEATURE_CALL_DEPTH))
if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR)) {
if (cpu_feature_enabled(X86_FEATURE_SEGMENTED_RMP))
if (cpu_feature_enabled(X86_FEATURE_RMPREAD)) {
if (!cpu_feature_enabled(X86_FEATURE_SYSFAST32))
if (cpu_feature_enabled(X86_FEATURE_SYSCALL32)) {
if (!cpu_feature_enabled(X86_FEATURE_ZEN))
if (cpu_feature_enabled(X86_FEATURE_CPPC))
current_pstate_driver->boost_enabled = cpu_feature_enabled(X86_FEATURE_CPB);
if (cpu_feature_enabled(X86_FEATURE_CPPC) || cppc_state == AMD_PSTATE_ACTIVE)
if (cpu_feature_enabled(X86_FEATURE_ZEN2)) {
if (!cpu_feature_enabled(X86_FEATURE_CPPC)) {
if (cpu_feature_enabled(X86_FEATURE_ZEN2)) {
} else if (cpu_feature_enabled(X86_FEATURE_ZEN3) ||
cpu_feature_enabled(X86_FEATURE_ZEN4)) {
} else if (cpu_feature_enabled(X86_FEATURE_ZEN5)) {
if (cpu_feature_enabled(X86_FEATURE_CPPC)) {
if (!cpu_feature_enabled(X86_FEATURE_CPB)) {
if (cpu_feature_enabled(X86_FEATURE_AMD_WORKLOAD_CLASS) &&
if (cpu_feature_enabled(X86_FEATURE_AMD_FAST_CPPC))
if (!hwp_active || !cpu_feature_enabled(X86_FEATURE_HWP_NOTIFY))
if (cpu_feature_enabled(X86_FEATURE_HWP_HIGHEST_PERF_CHANGE))
if (!cpu_feature_enabled(X86_FEATURE_HWP_NOTIFY))
if (cpu_feature_enabled(X86_FEATURE_HWP_HIGHEST_PERF_CHANGE))
cpu_feature_enabled(X86_FEATURE_IDA))
if (!cpu_feature_enabled(X86_FEATURE_HYBRID_CPU))
if (!cpu_feature_enabled(X86_FEATURE_MOVDIR64B)) {
if (!cpu_feature_enabled(X86_FEATURE_ENQCMD))
if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
data->is_zen = cpu_feature_enabled(X86_FEATURE_ZEN);
if (cpu_feature_enabled(X86_FEATURE_KERNEL_IBRS) &&
if (cpu_feature_enabled(X86_FEATURE_LA57) &&
if (cpu_feature_enabled(X86_FEATURE_LA57) &&
sflags = cpu_feature_enabled(X86_FEATURE_LA57) ? PASID_FLAG_FL5LP : 0;
if (cpu_feature_enabled(X86_FEATURE_GBPAGES) &&
if (cpu_feature_enabled(X86_FEATURE_LA57) &&
!cpu_feature_enabled(X86_FEATURE_AMD_HTR_CORES) ||
!cpu_feature_enabled(X86_FEATURE_AMD_WORKLOAD_CLASS))
if (cpu_feature_enabled(X86_FEATURE_ZEN5))
if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR) && !xen_initial_domain())
if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
if (!(cpu_feature_enabled(X86_FEATURE_TSC_KNOWN_FREQ) &&
cpu_feature_enabled(X86_FEATURE_ART))) {
if (!cpu_feature_enabled(X86_FEATURE_AMD_PPIN)) {
if (!cpu_feature_enabled(X86_FEATURE_RETPOLINE))
#define xen_pv_domain() (cpu_feature_enabled(X86_FEATURE_XENPV))
if (!cpu_feature_enabled(X86_FEATURE_RETPOLINE))