aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go
diff options
context:
space:
mode:
authorLibravatar Rutger Broekhoff2023-12-29 21:31:53 +0100
committerLibravatar Rutger Broekhoff2023-12-29 21:31:53 +0100
commit404aeae4545d2426c089a5f8d5e82dae56f5212b (patch)
tree2d84e00af272b39fc04f3795ae06bc48970e57b5 /vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go
parent209d8b0187ed025dec9ac149ebcced3462877bff (diff)
downloadgitolfs3-404aeae4545d2426c089a5f8d5e82dae56f5212b.tar.gz
gitolfs3-404aeae4545d2426c089a5f8d5e82dae56f5212b.zip
Make Nix builds work
Diffstat (limited to 'vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go')
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go b/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go
new file mode 100644
index 0000000..1517ac6
--- /dev/null
+++ b/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go
@@ -0,0 +1,40 @@
1// Copyright 2019 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package cpu
6
7const (
8 // bit mask values from /usr/include/bits/hwcap.h
9 hwcap_ZARCH = 2
10 hwcap_STFLE = 4
11 hwcap_MSA = 8
12 hwcap_LDISP = 16
13 hwcap_EIMM = 32
14 hwcap_DFP = 64
15 hwcap_ETF3EH = 256
16 hwcap_VX = 2048
17 hwcap_VXE = 8192
18)
19
20func initS390Xbase() {
21 // test HWCAP bit vector
22 has := func(featureMask uint) bool {
23 return hwCap&featureMask == featureMask
24 }
25
26 // mandatory
27 S390X.HasZARCH = has(hwcap_ZARCH)
28
29 // optional
30 S390X.HasSTFLE = has(hwcap_STFLE)
31 S390X.HasLDISP = has(hwcap_LDISP)
32 S390X.HasEIMM = has(hwcap_EIMM)
33 S390X.HasETF3EH = has(hwcap_ETF3EH)
34 S390X.HasDFP = has(hwcap_DFP)
35 S390X.HasMSA = has(hwcap_MSA)
36 S390X.HasVX = has(hwcap_VX)
37 if S390X.HasVX {
38 S390X.HasVXE = has(hwcap_VXE)
39 }
40}