feature_names.c 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. * Strings for the various x86 capability flags.
  3. *
  4. * This file must not contain any executable code.
  5. */
  6. #include <asm/cpufeature.h>
  7. /*
  8. * These flag bits must match the definitions in <asm/cpufeature.h>.
  9. * NULL means this bit is undefined or reserved; either way it doesn't
  10. * have meaning as far as Linux is concerned. Note that it's important
  11. * to realize there is a difference between this table and CPUID -- if
  12. * applications want to get the raw CPUID data, they should access
  13. * /dev/cpu/<cpu_nr>/cpuid instead.
  14. */
  15. const char * const x86_cap_flags[NCAPINTS*32] = {
  16. /* Intel-defined */
  17. "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce",
  18. "cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov",
  19. "pat", "pse36", "pn", "clflush", NULL, "dts", "acpi", "mmx",
  20. "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", "pbe",
  21. /* AMD-defined */
  22. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  23. NULL, NULL, NULL, "syscall", NULL, NULL, NULL, NULL,
  24. NULL, NULL, NULL, "mp", "nx", NULL, "mmxext", NULL,
  25. NULL, "fxsr_opt", "pdpe1gb", "rdtscp", NULL, "lm",
  26. "3dnowext", "3dnow",
  27. /* Transmeta-defined */
  28. "recovery", "longrun", NULL, "lrti", NULL, NULL, NULL, NULL,
  29. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  30. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  31. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  32. /* Other (Linux-defined) */
  33. "cxmmx", "k6_mtrr", "cyrix_arr", "centaur_mcr",
  34. NULL, NULL, NULL, NULL,
  35. "constant_tsc", "up", NULL, "arch_perfmon",
  36. "pebs", "bts", NULL, NULL,
  37. "rep_good", NULL, NULL, NULL,
  38. "nopl", NULL, NULL, NULL,
  39. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  40. /* Intel-defined (#2) */
  41. "pni", NULL, NULL, "monitor", "ds_cpl", "vmx", "smx", "est",
  42. "tm2", "ssse3", "cid", NULL, NULL, "cx16", "xtpr", NULL,
  43. NULL, NULL, "dca", "sse4_1", "sse4_2", NULL, NULL, "popcnt",
  44. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  45. /* VIA/Cyrix/Centaur-defined */
  46. NULL, NULL, "rng", "rng_en", NULL, NULL, "ace", "ace_en",
  47. "ace2", "ace2_en", "phe", "phe_en", "pmm", "pmm_en", NULL, NULL,
  48. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  49. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  50. /* AMD-defined (#2) */
  51. "lahf_lm", "cmp_legacy", "svm", "extapic",
  52. "cr8_legacy", "abm", "sse4a", "misalignsse",
  53. "3dnowprefetch", "osvw", "ibs", "sse5",
  54. "skinit", "wdt", NULL, NULL,
  55. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  56. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  57. /* Auxiliary (Linux-defined) */
  58. "ida", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  59. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  60. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  61. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  62. };
  63. const char *const x86_power_flags[32] = {
  64. "ts", /* temperature sensor */
  65. "fid", /* frequency id control */
  66. "vid", /* voltage id control */
  67. "ttp", /* thermal trip */
  68. "tm",
  69. "stc",
  70. "100mhzsteps",
  71. "hwpstate",
  72. "", /* tsc invariant mapped to constant_tsc */
  73. /* nothing */
  74. };