cpuid
void cpuid(void);
cpuid_info cpuid;
get_current_cpuid(&cpuid, 0, 0);
uint32 maxBasicLeaf = cpuid.eax_0.max_eax;
get_current_cpuid(&cpuid, IA32_CPUID_LEAF_MWAIT, 0);
uint32 minMonitorLineSize = cpuid.regs.eax & 0xffff;
uint32 mwaitSubStates = cpuid.regs.edx;
if ((cpuid.regs.ecx & CPUID_MWAIT_ECX_SUPPORT) != CPUID_MWAIT_ECX_SUPPORT) {
cpuid_advance(if_ctx_t ctx, unsigned int cpuid, unsigned int n)
MPASS(CPU_ISSET(cpuid, &ctx->ifc_cpus));
cpuid++;
if (cpuid > last_valid)
cpuid = first_valid;
} while (!CPU_ISSET(cpuid, &ctx->ifc_cpus));
return (cpuid);
unsigned int base_cpuid, cpuid;
cpuid = get_cpuid_for_queue(ctx, base_cpuid, qid, type == IFLIB_INTR_TX);
err = taskqgroup_attach_cpu(tqg, gtask, uniq, cpuid, dev,
if (cpuid > ctx->ifc_cpuid_highest)
ctx->ifc_cpuid_highest = cpuid;
cpuid();
cpuid_info cpuid;
get_current_cpuid(&cpuid, 1, 0);
cpuid_info cpuid;
get_current_cpuid(&cpuid, 1, 0);
uint32 signature = cpuid.regs.eax;
cpuid_info cpuid;
get_current_cpuid(&cpuid, 1, 0);
uint32 signature = cpuid.regs.eax;
cpuid_info cpuid;
get_current_cpuid(&cpuid, 0x1a, 0);
return cpuid.regs.eax >> X86_HYBRID_CPU_TYPE_ID_SHIFT;
cpuid_info cpuid;
get_current_cpuid(&cpuid, 0, 0);
uint32 maxBasicLeaf = cpuid.eax_0.max_eax;
memcpy(vendorString, cpuid.eax_0.vendor_id, sizeof(cpuid.eax_0.vendor_id));
get_current_cpuid(&cpuid, 1, 0);
cpu->arch.type = cpuid.eax_1.type;
cpu->arch.family = cpuid.eax_1.family;
cpu->arch.extended_family = cpuid.eax_1.extended_family;
cpu->arch.model = cpuid.eax_1.model;
cpu->arch.extended_model = cpuid.eax_1.extended_model;
cpu->arch.stepping = cpuid.eax_1.stepping;
get_current_cpuid(&cpuid, 0x80000000, 0);
uint32 maxExtendedLeaf = cpuid.eax_0.max_eax;
get_current_cpuid(&cpuid, 0x80000002, 0);
temp = cpuid.regs.edx;
cpuid.regs.edx = cpuid.regs.ecx;
cpuid.regs.ecx = temp;
memcpy(cpu->arch.model_name, cpuid.as_chars, sizeof(cpuid.as_chars));
get_current_cpuid(&cpuid, 0x80000003, 0);
temp = cpuid.regs.edx;
cpuid.regs.edx = cpuid.regs.ecx;
cpuid.regs.ecx = temp;
memcpy(cpu->arch.model_name + 16, cpuid.as_chars,
sizeof(cpuid.as_chars));
get_current_cpuid(&cpuid, 0x80000004, 0);
temp = cpuid.regs.edx;
cpuid.regs.edx = cpuid.regs.ecx;
cpuid.regs.ecx = temp;
memcpy(cpu->arch.model_name + 32, cpuid.as_chars,
sizeof(cpuid.as_chars));
get_current_cpuid(&cpuid, 1, 0);
cpu->arch.feature[FEATURE_COMMON] = cpuid.eax_1.features; // edx
cpu->arch.feature[FEATURE_EXT] = cpuid.eax_1.extended_features; // ecx
get_current_cpuid(&cpuid, 0x80000001, 0);
cpu->arch.feature[FEATURE_EXT_AMD_ECX] = cpuid.regs.ecx; // ecx
cpu->arch.feature[FEATURE_EXT_AMD] = cpuid.regs.edx; // edx
get_current_cpuid(&cpuid, 6, 0);
cpu->arch.feature[FEATURE_6_EAX] = cpuid.regs.eax;
cpu->arch.feature[FEATURE_6_ECX] = cpuid.regs.ecx;
get_current_cpuid(&cpuid, 7, 0);
cpu->arch.feature[FEATURE_7_EBX] = cpuid.regs.ebx;
cpu->arch.feature[FEATURE_7_ECX] = cpuid.regs.ecx;
cpu->arch.feature[FEATURE_7_EDX] = cpuid.regs.edx;
get_current_cpuid(&cpuid, 0xd, 1);
cpu->arch.feature[FEATURE_D_1_EAX] = cpuid.regs.eax;
get_current_cpuid(&cpuid, 0x80000007, 0);
cpu->arch.feature[FEATURE_EXT_7_EDX] = cpuid.regs.edx;
get_current_cpuid(&cpuid, 0x80000008, 0);
cpu->arch.feature[FEATURE_EXT_8_EBX] = cpuid.regs.ebx;
cpuid_info cpuid;
get_current_cpuid(&cpuid, 0, 0);
uint32 maxBasicLeaf = cpuid.eax_0.max_eax;
get_current_cpuid(&cpuid, IA32_CPUID_LEAF_TSC, 0);
if (cpuid.regs.eax == 0 || cpuid.regs.ebx == 0)
uint32 khz = cpuid.regs.ecx / 1000;
uint32 denominator = cpuid.regs.eax;
uint32 numerator = cpuid.regs.ebx;
get_current_cpuid(&cpuid, IA32_CPUID_LEAF_FREQUENCY, 0);
khz = cpuid.regs.eax * 1000 * denominator / numerator;
cpuid_info cpuid;
get_current_cpuid(&cpuid, IA32_CPUID_LEAF_XSTATE, 0);
gXsaveMask |= (cpuid.regs.eax & IA32_XCR0_AVX);
get_current_cpuid(&cpuid, IA32_CPUID_LEAF_XSTATE, 0);
gFPUSaveLength = cpuid.regs.ebx;
cpuid_info cpuid;
get_current_cpuid(&cpuid, 1, 0);
return cpuid.regs.ebx >> 24;
cpuid_info cpuid;
get_current_cpuid(&cpuid, 1, 0);
int maxLogicalID = next_power_of_2((cpuid.regs.ebx >> 16) & 0xff);
get_current_cpuid(&cpuid, 0x80000008, 0);
maxCoreID = (cpuid.regs.ecx >> 12) & 0xf;
maxCoreID = next_power_of_2((cpuid.regs.edx & 0xf) + 1);
get_current_cpuid(&cpuid, 0x80000001, 0);
cpuid_info cpuid;
get_current_cpuid(&cpuid, 0x8000001d, currentLevel);
cacheType = cpuid.regs.eax & 0x1f;
int cacheLevel = (cpuid.regs.eax >> 5) & 0x7;
int coresCount = next_power_of_2(((cpuid.regs.eax >> 14) & 0x3f) + 1);
cpuid_info cpuid;
get_current_cpuid(&cpuid, 11, 0);
return cpuid.regs.edx;
cpuid_info cpuid;
get_current_cpuid(&cpuid, 0x1f, 0);
if (cpuid.regs.ebx != 0)
get_current_cpuid(&cpuid, 0xb, 0);
if (cpuid.regs.ebx != 0)
cpuid_info cpuid;
get_current_cpuid(&cpuid, leaf, currentLevel++);
int levelType = (cpuid.regs.ecx >> 8) & 0xff;
int levelValue = cpuid.regs.eax & 0x1f;
cpuid_info cpuid;
get_current_cpuid(&cpuid, 1, 0);
int maxLogicalID = next_power_of_2((cpuid.regs.ebx >> 16) & 0xff);
get_current_cpuid(&cpuid, 4, 0);
maxCoreID = next_power_of_2((cpuid.regs.eax >> 26) + 1);
cpuid_info cpuid;
get_current_cpuid(&cpuid, 4, currentLevel);
cacheType = cpuid.regs.eax & 0x1f;
int cacheLevel = (cpuid.regs.eax >> 5) & 0x7;
= next_power_of_2(((cpuid.regs.eax >> 14) & 0x3f) + 1);
cpuid_info cpuid;
get_current_cpuid(&cpuid, 0, 0);
uint32 maxBasicLeaf = cpuid.eax_0.max_eax;
get_current_cpuid(&cpuid, 0x16, 0);
if (cpuid.regs.eax != 0) {
sCPUClockSpeed = cpuid.regs.eax * 1000000LL;
unsigned int cpuid = 0;
xtoi(argv[1], &cpuid);
printf("cpuid: 0x%X\n", cpuid);
int family = ((cpuid >> 8) & 0xf) | ((cpuid >> 16) & 0xff0);
int model = ((cpuid >> 4) & 0xf) | ((cpuid >> 12) & 0xf0);
int stepping = cpuid & 0xf;