2013-03-07 1 views

답변

0

_cpuid_count를 사용하여 함수 7을 얻고 0xD를 하위 표로 가져올 수 있습니다.

정의는 cpuid.h에서 함수가 지원되는지 확인하지 않습니다 _cpuid_count

#define __cpuid_count(level, count, a, b, c, d) 
    __asm__ ("cpuid\n\t" 
      : "=a" (a), "=b" (b), "=c" (c), "=d" (d) 
      : "0" (level), "2" (count)) 

주입니다. cpuid.h에서 __get_cpuid와 유사한 확인을 할 수 있습니다. 이것은 stdc 라이브러리에 추가되어야합니다.

static __inline int 
__get_cpuid_count (unsigned int __level, unsigned int __count, 
      unsigned int *__eax, unsigned int *__ebx, 
      unsigned int *__ecx, unsigned int *__edx) 
{ 
    unsigned int __ext = __level & 0x80000000; 
    if (__get_cpuid_max (__ext, 0) < __level) 
     return 0; 

    __cpuid_count (__level, __count, *__eax, *__ebx, *__ecx, *__edx); 
    return 1; 
}