x86_check_feature
bool x86_check_feature(uint32 feature, enum x86_feature_type type);
if (!x86_check_feature(IA32_FEATURE_MTRR, FEATURE_COMMON)
|| !x86_check_feature(IA32_FEATURE_MSR, FEATURE_COMMON))
if (!x86_check_feature(IA32_FEATURE_MTRR, FEATURE_COMMON))
if (!x86_check_feature(IA32_FEATURE_CPPC, FEATURE_EXT_8_EBX))
if (x86_check_feature(IA32_FEATURE_HWP, FEATURE_6_EAX))
if (x86_check_feature(IA32_FEATURE_HWP_NOTIFY, FEATURE_6_EAX))
if (x86_check_feature(IA32_FEATURE_HWP_EPP, FEATURE_6_EAX)) {
} else if (x86_check_feature(IA32_FEATURE_EPB, FEATURE_6_ECX)) {
if (!x86_check_feature(IA32_FEATURE_MSR, FEATURE_COMMON))
if (!x86_check_feature(IA32_FEATURE_APERFMPERF, FEATURE_6_ECX))
sHWPEPP = x86_check_feature(IA32_FEATURE_HWP_EPP, FEATURE_6_EAX);
sHWPActive = (x86_check_feature(IA32_FEATURE_HWP, FEATURE_6_EAX)
if (x86_check_feature(IA32_FEATURE_EXT_HYPERVISOR, FEATURE_EXT))
if (!x86_check_feature(IA32_FEATURE_EXT_MONITOR, FEATURE_EXT))
if (!x86_check_feature(IA32_FEATURE_INVARIANT_TSC, FEATURE_EXT_7_EDX))
if (x86_check_feature(IA32_FEATURE_PGE, FEATURE_COMMON)) {
if (x86_check_feature(IA32_FEATURE_PGE, FEATURE_COMMON)) {
if (x86_check_feature(IA32_FEATURE_EXT_HYPERVISOR, FEATURE_EXT))
if (x86_check_feature(IA32_FEATURE_EXT_X2APIC, FEATURE_EXT)
&& (x86_check_feature(IA32_FEATURE_EXT_HYPERVISOR, FEATURE_EXT)
if (x86_check_feature(IA32_FEATURE_MCE, FEATURE_COMMON))
bool supportsPAT = x86_check_feature(IA32_FEATURE_PAT, FEATURE_COMMON);
if (x86_check_feature(IA32_FEATURE_AMD_EXT_RDTSCP, FEATURE_EXT_AMD)
|| x86_check_feature(IA32_FEATURE_RDPID, FEATURE_7_ECX)) {
if (x86_check_feature(IA32_FEATURE_APERFMPERF, FEATURE_6_ECX)) {
if (x86_check_feature(IA32_FEATURE_SMEP, FEATURE_7_EBX)) {
if (x86_check_feature(IA32_FEATURE_SMAP, FEATURE_7_EBX)) {
gHasXsave = x86_check_feature(IA32_FEATURE_EXT_XSAVE, FEATURE_EXT);
gHasXsavec = x86_check_feature(IA32_FEATURE_XSAVEC,
if (!x86_check_feature(IA32_FEATURE_FPU, FEATURE_COMMON)) {
if (!x86_check_feature(IA32_FEATURE_SSE, FEATURE_COMMON)
|| !x86_check_feature(IA32_FEATURE_FXSR, FEATURE_COMMON)) {
if (x86_check_feature(IA32_FEATURE_AMD_EXT_CMPLEGACY,
if (!x86_check_feature(IA32_FEATURE_AMD_EXT_TOPOLOGY, FEATURE_EXT_AMD_ECX))
if (x86_check_feature(IA32_FEATURE_HTT, FEATURE_COMMON)) {
if (x86_check_feature(IA32_FEATURE_AMD_EXT_MWAITX, FEATURE_EXT_AMD_ECX))
if (x86_check_feature(IA32_FEATURE_WAITPKG, FEATURE_7_ECX))
if (x86_check_feature(IA32_FEATURE_APERFMPERF, FEATURE_6_ECX))
bool la57Available = x86_check_feature(IA32_FEATURE_LA57, FEATURE_7_ECX);
bool paeAvailable = x86_check_feature(IA32_FEATURE_PAE, FEATURE_COMMON);
bool paeNeeded = x86_check_feature(IA32_FEATURE_AMD_EXT_NX,
if (x86_check_feature(IA32_FEATURE_PGE, FEATURE_COMMON)) {
&& x86_check_feature(IA32_FEATURE_AMD_EXT_NX, FEATURE_EXT_AMD)) {
if (x86_check_feature(IA32_FEATURE_AMD_EXT_NX, FEATURE_EXT_AMD))
&& x86_check_feature(IA32_FEATURE_AMD_EXT_NX, FEATURE_EXT_AMD)) {
if (x86_check_feature(IA32_FEATURE_AMD_EXT_NX, FEATURE_EXT_AMD))
&& x86_check_feature(IA32_FEATURE_AMD_EXT_NX, FEATURE_EXT_AMD)) {
&& x86_check_feature(IA32_FEATURE_AMD_EXT_NX, FEATURE_EXT_AMD)) {
if (x86_check_feature(IA32_FEATURE_EXT_HYPERVISOR, FEATURE_EXT)) {