Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct CPUIDinfo
- {
- uint32_t EAX;
- uint32_t EBX;
- uint32_t ECX;
- uint32_t EDX;
- };
- typedef struct CPUIDinfo CPUIDinfo;
- void CpuId(unsigned int func, unsigned int subfunc, CPUIDinfo* info)
- {
- __asm__ __volatile__ ( "cpuid" : "=a"(info->EAX), "=b"(info->EBX), "=c"(info->ECX), "=d"(info->EDX) : "a"(func), "c"(subfunc) : );
- }
- uint8_t curr_cpu_apic_id()
- {
- CPUIDinfo info;
- CpuId(1, 0, &info);
- return (uint8_t)(info.EBX >> 24);
- }
Add Comment
Please, Sign In to add comment