Support for more than one thread in a core

This commit is contained in:
Dr-Noob
2018-03-30 01:08:41 +02:00
parent 4c991164c8
commit 4e1ee88c4c
2 changed files with 68 additions and 6 deletions

24
topology.c Normal file
View File

@@ -0,0 +1,24 @@
void cpuid(unsigned int *eax, unsigned int *ebx,
unsigned int *ecx, unsigned int *edx)
{
asm volatile("cpuid"
: "=a" (*eax),
"=b" (*ebx),
"=c" (*ecx),
"=d" (*edx)
: "0" (*eax), "2" (*ecx));
}
#include <stdio.h>
int main(int argc, char **argv)
{
unsigned eax, ebx, ecx, edx;
eax = 0x0000000B;
ecx = 0x00000000;
cpuid(&eax, &ebx, &ecx, &edx);
printf("Threads per core=%d\n", ebx & 0xF);
}