23 cpuid(1, 0, &eax, &ebx, &ecx, &edx);
25 ((eax >> 8) & 0xf) + ((eax >> 20) & 0xff);
26 int model = (int) (((eax >> 4) & 0xf)
27 + (((eax >> 16) & 0xf) << 4));
28 return model + (family << 8);
void cpuid(uint32_t leaf, uint32_t subleaf, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)