Commit c6fa82c4e90d629e16f8dda990f63cec73103cac
Committed by
Anthony Liguori
1 parent
b827df58
Make x86 cpuid feature names available in file scope
To be used later. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing
1 changed file
with
28 additions
and
27 deletions
target-i386/helper.c
... | ... | @@ -32,39 +32,40 @@ |
32 | 32 | |
33 | 33 | //#define DEBUG_MMU |
34 | 34 | |
35 | +/* feature flags taken from "Intel Processor Identification and the CPUID | |
36 | + * Instruction" and AMD's "CPUID Specification". In cases of disagreement | |
37 | + * about feature names, the Linux name is used. */ | |
38 | +static const char *feature_name[] = { | |
39 | + "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", | |
40 | + "cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov", | |
41 | + "pat", "pse36", "pn" /* Intel psn */, "clflush" /* Intel clfsh */, NULL, "ds" /* Intel dts */, "acpi", "mmx", | |
42 | + "fxsr", "sse", "sse2", "ss", "ht" /* Intel htt */, "tm", "ia64", "pbe", | |
43 | +}; | |
44 | +static const char *ext_feature_name[] = { | |
45 | + "pni" /* Intel,AMD sse3 */, NULL, NULL, "monitor", "ds_cpl", "vmx", NULL /* Linux smx */, "est", | |
46 | + "tm2", "ssse3", "cid", NULL, NULL, "cx16", "xtpr", NULL, | |
47 | + NULL, NULL, "dca", NULL, NULL, NULL, NULL, "popcnt", | |
48 | + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | |
49 | +}; | |
50 | +static const char *ext2_feature_name[] = { | |
51 | + "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", | |
52 | + "cx8" /* AMD CMPXCHG8B */, "apic", NULL, "syscall", "mtrr", "pge", "mca", "cmov", | |
53 | + "pat", "pse36", NULL, NULL /* Linux mp */, "nx" /* Intel xd */, NULL, "mmxext", "mmx", | |
54 | + "fxsr", "fxsr_opt" /* AMD ffxsr */, "pdpe1gb" /* AMD Page1GB */, "rdtscp", NULL, "lm" /* Intel 64 */, "3dnowext", "3dnow", | |
55 | +}; | |
56 | +static const char *ext3_feature_name[] = { | |
57 | + "lahf_lm" /* AMD LahfSahf */, "cmp_legacy", "svm", "extapic" /* AMD ExtApicSpace */, "cr8legacy" /* AMD AltMovCr8 */, "abm", "sse4a", "misalignsse", | |
58 | + "3dnowprefetch", "osvw", NULL /* Linux ibs */, NULL, "skinit", "wdt", NULL, NULL, | |
59 | + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | |
60 | + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | |
61 | +}; | |
62 | + | |
35 | 63 | static void add_flagname_to_bitmaps(char *flagname, uint32_t *features, |
36 | 64 | uint32_t *ext_features, |
37 | 65 | uint32_t *ext2_features, |
38 | 66 | uint32_t *ext3_features) |
39 | 67 | { |
40 | 68 | int i; |
41 | - /* feature flags taken from "Intel Processor Identification and the CPUID | |
42 | - * Instruction" and AMD's "CPUID Specification". In cases of disagreement | |
43 | - * about feature names, the Linux name is used. */ | |
44 | - static const char *feature_name[] = { | |
45 | - "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", | |
46 | - "cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov", | |
47 | - "pat", "pse36", "pn" /* Intel psn */, "clflush" /* Intel clfsh */, NULL, "ds" /* Intel dts */, "acpi", "mmx", | |
48 | - "fxsr", "sse", "sse2", "ss", "ht" /* Intel htt */, "tm", "ia64", "pbe", | |
49 | - }; | |
50 | - static const char *ext_feature_name[] = { | |
51 | - "pni" /* Intel,AMD sse3 */, NULL, NULL, "monitor", "ds_cpl", "vmx", NULL /* Linux smx */, "est", | |
52 | - "tm2", "ssse3", "cid", NULL, NULL, "cx16", "xtpr", NULL, | |
53 | - NULL, NULL, "dca", NULL, NULL, NULL, NULL, "popcnt", | |
54 | - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | |
55 | - }; | |
56 | - static const char *ext2_feature_name[] = { | |
57 | - "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", | |
58 | - "cx8" /* AMD CMPXCHG8B */, "apic", NULL, "syscall", "mtrr", "pge", "mca", "cmov", | |
59 | - "pat", "pse36", NULL, NULL /* Linux mp */, "nx" /* Intel xd */, NULL, "mmxext", "mmx", | |
60 | - "fxsr", "fxsr_opt" /* AMD ffxsr */, "pdpe1gb" /* AMD Page1GB */, "rdtscp", NULL, "lm" /* Intel 64 */, "3dnowext", "3dnow", | |
61 | - }; | |
62 | - static const char *ext3_feature_name[] = { | |
63 | - "lahf_lm" /* AMD LahfSahf */, "cmp_legacy", "svm", "extapic" /* AMD ExtApicSpace */, "cr8legacy" /* AMD AltMovCr8 */, "abm", "sse4a", "misalignsse", | |
64 | - "3dnowprefetch", "osvw", NULL /* Linux ibs */, NULL, "skinit", "wdt", NULL, NULL, | |
65 | - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | |
66 | - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | |
67 | - }; | |
68 | 69 | |
69 | 70 | for ( i = 0 ; i < 32 ; i++ ) |
70 | 71 | if (feature_name[i] && !strcmp (flagname, feature_name[i])) { | ... | ... |