1

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

4

1 回答 1

0

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

定义在 cpuid.h

#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_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;
}
于 2013-06-02T02:02:35.477 回答