Commit c6fa82c4e90d629e16f8dda990f63cec73103cac

Authored by Avi Kivity
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,39 +32,40 @@
32 32
33 //#define DEBUG_MMU 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 static void add_flagname_to_bitmaps(char *flagname, uint32_t *features, 63 static void add_flagname_to_bitmaps(char *flagname, uint32_t *features,
36 uint32_t *ext_features, 64 uint32_t *ext_features,
37 uint32_t *ext2_features, 65 uint32_t *ext2_features,
38 uint32_t *ext3_features) 66 uint32_t *ext3_features)
39 { 67 {
40 int i; 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 for ( i = 0 ; i < 32 ; i++ ) 70 for ( i = 0 ; i < 32 ; i++ )
70 if (feature_name[i] && !strcmp (flagname, feature_name[i])) { 71 if (feature_name[i] && !strcmp (flagname, feature_name[i])) {