summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMichael Pratt <mpratt@google.com>2019-02-13 11:58:49 -0800
committerShentubot <shentubot@google.com>2019-02-13 11:59:59 -0800
commit2c7488454e7fcbf98c00bcdceb70cb8e2fa98c96 (patch)
tree503725fe64b26613ce4501193a007408128c3d1c
parent3ff9dc9cc1f69605f9e9e3c028d81957c37349a3 (diff)
Expose XSAVES in /proc/cpuinfo
Linux started doing this in b8be15d588060a03569ac85dc4a0247460988f5b ("x86/fpu/xstate: Re-enable XSAVES"), which first appeared in 4.8. PiperOrigin-RevId: 233800931 Change-Id: Icac2c2b03ccf1a91f3070431efb5152ca619fca3
-rw-r--r--pkg/cpuid/cpuid.go4
-rw-r--r--pkg/cpuid/cpuid_parse_test.go5
2 files changed, 6 insertions, 3 deletions
diff --git a/pkg/cpuid/cpuid.go b/pkg/cpuid/cpuid.go
index c19606898..541715877 100644
--- a/pkg/cpuid/cpuid.go
+++ b/pkg/cpuid/cpuid.go
@@ -361,6 +361,7 @@ var x86FeatureStrings = map[Feature]string{
X86FeatureXSAVEOPT: "xsaveopt",
X86FeatureXSAVEC: "xsavec",
X86FeatureXGETBV1: "xgetbv1",
+ X86FeatureXSAVES: "xsaves",
// Block 5.
X86FeatureLAHF64: "lahf_lm", // LAHF/SAHF in long mode
@@ -415,9 +416,6 @@ var x86FeatureParseOnlyStrings = map[Feature]string{
// Block 3.
X86FeaturePREFETCHWT1: "prefetchwt1",
-
- // Block 4.
- X86FeatureXSAVES: "xsaves",
}
// Just a way to wrap cpuid function numbers.
diff --git a/pkg/cpuid/cpuid_parse_test.go b/pkg/cpuid/cpuid_parse_test.go
index 954ed53b6..88e75c110 100644
--- a/pkg/cpuid/cpuid_parse_test.go
+++ b/pkg/cpuid/cpuid_parse_test.go
@@ -114,6 +114,11 @@ func TestHostFeatureFlags(t *testing.T) {
// PKU only exposed in dfb4a70f20c5b3880da56ee4c9484bdb4e8f1e65
// (4.9).
continue
+ // Block 4.
+ case f == X86FeatureXSAVES && (major < 4 || major == 4 && minor < 8):
+ // XSAVES only exposed in
+ // b8be15d588060a03569ac85dc4a0247460988f5b (4.8).
+ continue
}
hidden := f.flagString(true) == ""