diff options
author | Andreas Herrmann <andreas.herrmann3@amd.com> | 2011-04-05 20:28:37 +0200 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2011-04-05 18:51:04 -0400 |
commit | c781dbc4f8959b7fbb1dacb7cce1ca12252fd0eb (patch) | |
tree | deb4b752b2666be454aceef4ac19c7c55a9256ec | |
parent | cdfb338274c516868e6774ccd40687434b28002c (diff) |
x86info, AMD: Update feature flags
See CPUID Specification, Rev. 2.34, Sept. 2010.
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
-rw-r--r-- | AMD/identify.c | 12 | ||||
-rw-r--r-- | AMD/powernow.c | 11 | ||||
-rw-r--r-- | features.c | 14 |
3 files changed, 30 insertions, 7 deletions
diff --git a/AMD/identify.c b/AMD/identify.c index dd9dd43..31c89a7 100644 --- a/AMD/identify.c +++ b/AMD/identify.c @@ -781,6 +781,18 @@ void display_AMD_info(struct cpudata *cpu) printf(", SVMLock"); if (edx & 8) printf(", NRIPSave"); + if (edx & 0x10) + printf(", TscRateMsr"); + if (edx & 0x20) + printf(", VmcbClean"); + if (edx & 0x40) + printf(", FlushByAsid"); + if (edx & 0x80) + printf(", DecodeAssists"); + if (edx & 0x400) + printf(", PauseFilter"); + if (edx & 0x1000) + printf(", PauseFilterThreshold"); printf("\n"); } diff --git a/AMD/powernow.c b/AMD/powernow.c index e977d95..520fe30 100644 --- a/AMD/powernow.c +++ b/AMD/powernow.c @@ -195,8 +195,17 @@ void decode_powernow(struct cpudata *cpu) } if (edx & (1<<8)) printf("\n\tinvariant TSC"); - if (!(edx & 0x1f)) + if (edx & (1<<9)) + printf("\n\tCore Performance Boost"); + if (edx & (1<<10)) + printf("\n\read-only Effective Frequency Interface"); + if (!(edx & 0x1ff)) printf(" None"); + + cpuid(cpu->number, 6, &eax, &ebx, &ecx, &edx); + if (ecx & 1) + printf("\n\tEffective Frequency Interface"); + printf("\n\n"); if (can_scale_fid==0 && can_scale_vid==0) @@ -320,10 +320,10 @@ static void decode_feature_flags(struct cpudata *cpu) }; const char *amd_cap_generic_ecx_flags[] = { - "sse3", NULL, NULL, "mwait", NULL, NULL, NULL, NULL, - NULL, "ssse3", NULL, NULL, NULL, "cmpxchg16b", NULL, NULL, - NULL, NULL, NULL, "sse4_1", NULL, NULL, NULL, "popcnt", - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL + "sse3", "pclmulqdq", NULL, "mwait", NULL, NULL, NULL, NULL, + NULL, "ssse3", NULL, NULL, "fma", "cmpxchg16b", NULL, NULL, + NULL, NULL, NULL, "sse4_1", "sse4_2", NULL, NULL, "popcnt", + NULL, "aes", "xsave", "osxsave", "avx", "f16c", NULL, NULL }; const char *amd_cap_generic_ecx_flags_desc[] = { "Streaming SIMD Extensions 3", // 0 @@ -369,8 +369,10 @@ static void decode_feature_flags(struct cpudata *cpu) const char *amd_cap_extended_ecx_flags[] = { "lahf/sahf", "CmpLegacy", "svm", "ExtApicSpace", "LockMovCr0", "abm", "sse4a", "misalignsse", - "3dnowPref", "osvw", "ibs", NULL, "skinit", "wdt", NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "3dnowPref", "osvw", "ibs", "xop", + "skinit", "wdt", NULL, "lwp", + "fma4", NULL, NULL, "NodeId", + NULL, "tbm", "TopoExt", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; |