如何调用CPUID叶子7和子叶子0



我已经在fedora上下载并安装了yum install cpuid。你能告诉我如何调用CPUID叶子7和子叶子0吗?我想检查一下这个平台上的一些功能。我真的很感谢你的帮助。

_cpuid_count可用于获取函数7和带有子叶子的0xD。

定义在cpuid.h

#define __cpuid_count(level, count, a, b, c, d)
    __asm__ ("cpuidnt"
             : "=a" (a), "=b" (b), "=c" (c), "=d" (d)
             : "0" (level), "2" (count))

注意_cpuid_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;
}

相关内容

  • 没有找到相关文章

最新更新