31 #define CPUID_FLAG 0x00200000UL 34 #define CPUID_EXTENDED 0x80000000UL 37 #define CPUID_HYPERVISOR 0x40000000UL 40 #define CPUID_VENDOR_ID 0x00000000UL 43 #define CPUID_FEATURES 0x00000001UL 46 #define CPUID_FEATURES_INTEL_ECX_RDRAND 0x40000000UL 49 #define CPUID_FEATURES_INTEL_ECX_HYPERVISOR 0x80000000UL 52 #define CPUID_FEATURES_INTEL_EDX_TSC 0x00000010UL 55 #define CPUID_FEATURES_INTEL_EDX_FXSR 0x01000000UL 58 #define CPUID_AMD_MAX_FN 0x80000000UL 61 #define CPUID_AMD_CHECK 0x80000000UL 64 #define CPUID_AMD_CHECK_MASK 0xffff0000UL 67 #define CPUID_AMD_FEATURES 0x80000001UL 70 #define CPUID_MODEL 0x80000002UL 73 #define CPUID_APM 0x80000007UL 76 #define CPUID_APM_EDX_TSC_INVARIANT 0x00000100UL 93 :
"=a" ( *
eax ),
"=b" ( *
ebx ),
"=c" ( *
ecx ),
"=d" ( *
edx )
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
struct x86_feature_registers intel
Intel-defined features (eax=0x00000001)
struct x86_feature_registers __attribute__
static uint32_t subfunction
static uint32_t uint32_t uint32_t * ebx
int cpuid_supported(uint32_t function)
Check whether or not CPUID function is supported.
uint32_t ecx
Features returned via ecx.
static uint32_t uint32_t uint32_t uint32_t * ecx
uint32_t features
Supported features.
static uint32_t uint32_t uint32_t uint32_t uint32_t * edx
void x86_features(struct x86_features *features)
Get x86 CPU features.
__asm__(".section \".rodata\", \"a\", " PROGBITS "\n\t" "\nprivate_key_data:\n\t" ".size private_key_data, ( . - private_key_data )\n\t" ".equ private_key_len, ( . - private_key_data )\n\t" ".previous\n\t")
uint32_t edx
Features returned via edx.
struct x86_feature_registers amd
AMD-defined features (eax=0x80000001)
static uint32_t uint32_t * eax
An x86 CPU feature register set.