summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Herrmann <andreas.herrmann3@amd.com>2011-04-05 20:28:37 +0200
committerDave Jones <davej@redhat.com>2011-04-05 18:51:04 -0400
commitc781dbc4f8959b7fbb1dacb7cce1ca12252fd0eb (patch)
treedeb4b752b2666be454aceef4ac19c7c55a9256ec
parentcdfb338274c516868e6774ccd40687434b28002c (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.c12
-rw-r--r--AMD/powernow.c11
-rw-r--r--features.c14
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)
diff --git a/features.c b/features.c
index 8567968..b7f39c1 100644
--- a/features.c
+++ b/features.c
@@ -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
};