Order feature strings by block

PiperOrigin-RevId: 218894181
Change-Id: I97d0c74175f4aa528363f768a0a85d6953ea0bfd
This commit is contained in:
Michael Pratt
2018-10-26 12:18:36 -07:00
committed by Shentubot
parent 479cd52a60
commit 624cc329d8
2 changed files with 100 additions and 75 deletions
+99 -75
View File
@@ -228,64 +228,69 @@ var linuxBlockOrder = []block{1, 6, 0, 5, 2, 4}
// names of the basic features in Linux defined in
// arch/x86/kernel/cpu/capflags.c.
var x86FeatureStrings = map[Feature]string{
X86FeatureFPU: "fpu",
X86FeatureVME: "vme",
X86FeatureDE: "de",
X86FeaturePSE: "pse",
X86FeatureTSC: "tsc",
X86FeatureMSR: "msr",
X86FeaturePAE: "pae",
X86FeatureMCE: "mce",
X86FeatureCX8: "cx8",
X86FeatureAPIC: "apic",
X86FeatureSEP: "sep",
X86FeatureMTRR: "mtrr",
X86FeaturePGE: "pge",
X86FeatureMCA: "mca",
X86FeatureCMOV: "cmov",
X86FeaturePAT: "pat",
X86FeaturePSE36: "pse36",
X86FeaturePSN: "pn",
X86FeatureCLFSH: "clflush",
X86FeatureDS: "dts",
X86FeatureACPI: "acpi",
X86FeatureMMX: "mmx",
X86FeatureFXSR: "fxsr",
X86FeatureSSE: "sse",
X86FeatureSSE2: "sse2",
X86FeatureSS: "ss",
X86FeatureHTT: "ht",
X86FeatureTM: "tm",
X86FeatureIA64: "ia64",
X86FeaturePBE: "pbe",
X86FeatureSSE3: "pni",
X86FeaturePCLMULDQ: "pclmulqdq",
X86FeatureDTES64: "dtes64",
X86FeatureMONITOR: "monitor",
X86FeatureDSCPL: "ds_cpl",
X86FeatureVMX: "vmx",
X86FeatureSMX: "smx",
X86FeatureEST: "est",
X86FeatureTM2: "tm2",
X86FeatureSSSE3: "ssse3",
X86FeatureCNXTID: "cid",
X86FeatureFMA: "fma",
X86FeatureCX16: "cx16",
X86FeatureXTPR: "xtpr",
X86FeaturePDCM: "pdcm",
X86FeaturePCID: "pcid",
X86FeatureDCA: "dca",
X86FeatureSSE4_1: "sse4_1",
X86FeatureSSE4_2: "sse4_2",
X86FeatureX2APIC: "x2apic",
X86FeatureMOVBE: "movbe",
X86FeaturePOPCNT: "popcnt",
X86FeatureTSCD: "tsc_deadline_timer",
X86FeatureAES: "aes",
X86FeatureXSAVE: "xsave",
X86FeatureAVX: "avx",
X86FeatureF16C: "f16c",
X86FeatureRDRAND: "rdrand",
// Block 0.
X86FeatureSSE3: "pni",
X86FeaturePCLMULDQ: "pclmulqdq",
X86FeatureDTES64: "dtes64",
X86FeatureMONITOR: "monitor",
X86FeatureDSCPL: "ds_cpl",
X86FeatureVMX: "vmx",
X86FeatureSMX: "smx",
X86FeatureEST: "est",
X86FeatureTM2: "tm2",
X86FeatureSSSE3: "ssse3",
X86FeatureCNXTID: "cid",
X86FeatureFMA: "fma",
X86FeatureCX16: "cx16",
X86FeatureXTPR: "xtpr",
X86FeaturePDCM: "pdcm",
X86FeaturePCID: "pcid",
X86FeatureDCA: "dca",
X86FeatureSSE4_1: "sse4_1",
X86FeatureSSE4_2: "sse4_2",
X86FeatureX2APIC: "x2apic",
X86FeatureMOVBE: "movbe",
X86FeaturePOPCNT: "popcnt",
X86FeatureTSCD: "tsc_deadline_timer",
X86FeatureAES: "aes",
X86FeatureXSAVE: "xsave",
X86FeatureAVX: "avx",
X86FeatureF16C: "f16c",
X86FeatureRDRAND: "rdrand",
// Block 1.
X86FeatureFPU: "fpu",
X86FeatureVME: "vme",
X86FeatureDE: "de",
X86FeaturePSE: "pse",
X86FeatureTSC: "tsc",
X86FeatureMSR: "msr",
X86FeaturePAE: "pae",
X86FeatureMCE: "mce",
X86FeatureCX8: "cx8",
X86FeatureAPIC: "apic",
X86FeatureSEP: "sep",
X86FeatureMTRR: "mtrr",
X86FeaturePGE: "pge",
X86FeatureMCA: "mca",
X86FeatureCMOV: "cmov",
X86FeaturePAT: "pat",
X86FeaturePSE36: "pse36",
X86FeaturePSN: "pn",
X86FeatureCLFSH: "clflush",
X86FeatureDS: "dts",
X86FeatureACPI: "acpi",
X86FeatureMMX: "mmx",
X86FeatureFXSR: "fxsr",
X86FeatureSSE: "sse",
X86FeatureSSE2: "sse2",
X86FeatureSS: "ss",
X86FeatureHTT: "ht",
X86FeatureTM: "tm",
X86FeatureIA64: "ia64",
X86FeaturePBE: "pbe",
// Block 2.
X86FeatureFSGSBase: "fsgsbase",
X86FeatureTSC_ADJUST: "tsc_adjust",
X86FeatureBMI1: "bmi1",
@@ -305,33 +310,52 @@ var x86FeatureStrings = map[Feature]string{
X86FeatureADX: "adx",
X86FeatureSMAP: "smap",
X86FeatureCLWB: "clwb",
X86FeatureAVX512PF: "avx512pf",
X86FeatureAVX512ER: "avx512er",
X86FeatureAVX512CD: "avx512cd",
X86FeatureSHA: "sha_ni",
X86FeatureAVX512BW: "avx512bw",
X86FeatureAVX512VL: "avx512vl",
X86FeatureSYSCALL: "syscall",
X86FeatureNX: "nx",
X86FeatureGBPAGES: "pdpe1gb",
X86FeatureRDTSCP: "rdtscp",
X86FeatureLM: "lm",
X86FeatureXSAVEOPT: "xsaveopt",
X86FeatureXSAVEC: "xsavec",
X86FeatureXGETBV1: "xgetbv1",
X86FeatureLAHF64: "lahf_lm", // LAHF/SAHF in long mode
X86FeatureLZCNT: "abm", // Advanced bit manipulation
X86FeaturePREFETCHW: "3dnowprefetch",
// Block 4.
X86FeatureXSAVEOPT: "xsaveopt",
X86FeatureXSAVEC: "xsavec",
X86FeatureXGETBV1: "xgetbv1",
// Block 5.
X86FeatureLAHF64: "lahf_lm", // LAHF/SAHF in long mode
X86FeatureLZCNT: "abm", // Advanced bit manipulation
X86FeaturePREFETCHW: "3dnowprefetch",
// Block 6.
X86FeatureSYSCALL: "syscall",
X86FeatureNX: "nx",
X86FeatureGBPAGES: "pdpe1gb",
X86FeatureRDTSCP: "rdtscp",
X86FeatureLM: "lm",
}
// These flags are parse only---they can be used for setting / unsetting the
// flags, but will not get printed out in /proc/cpuinfo.
var x86FeatureParseOnlyStrings = map[Feature]string{
X86FeaturePKU: "pku",
X86FeatureXSAVES: "xsaves",
X86FeatureFPCSDS: "fpcsds",
X86FeatureOSXSAVE: "osxsave",
X86FeatureIPT: "pt",
X86FeatureSDBG: "sdbg",
// Block 0.
X86FeatureSDBG: "sdbg",
X86FeatureOSXSAVE: "osxsave",
// Block 2.
X86FeatureFDP_EXCPTN_ONLY: "fdp_excptn_only",
X86FeatureFPCSDS: "fpcsds",
X86FeatureIPT: "pt",
X86FeatureCLFLUSHOPT: "clfushopt",
// Block 3.
X86FeaturePREFETCHWT1: "prefetchwt1",
X86FeatureAVX512VBMI: "avx512vbmi",
X86FeatureUMIP: "umip",
X86FeaturePKU: "pku",
// Block 4.
X86FeatureXSAVES: "xsaves",
}
// These are the default values of various FeatureSet fields.
+1
View File
@@ -22,4 +22,5 @@ go_test(
size = "small",
srcs = ["cgroup_test.go"],
embed = [":cgroup"],
tags = ["local"],
)