1

Fedora に yum install cpuid をダウンロードしてインストールしました。CPUID リーフ 7 とサブリーフ 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 に答える