aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/os_darwin.go
diff options
context:
space:
mode:
authorMartin Möhrmann <moehrmann@google.com>2020-11-21 17:44:04 +0100
committerMartin Möhrmann <moehrmann@google.com>2020-12-07 07:59:54 +0000
commitc15593197453b8bf90fc3a9080ba2afeaf7934ea (patch)
treed0c9e386625721d141867690e427dfd8c84d5c62 /src/runtime/os_darwin.go
parente10c94af26b95f4af71c4a040b3d3f01499d01de (diff)
downloadgo-c15593197453b8bf90fc3a9080ba2afeaf7934ea.tar.gz
go-c15593197453b8bf90fc3a9080ba2afeaf7934ea.zip
internal/cpu: add darwin/arm64 CPU feature detection support
Fixes #42747 Change-Id: I6b1679348c77161f075f0678818bb003fc0e8c86 Reviewed-on: https://go-review.googlesource.com/c/go/+/271989 Trust: Martin Möhrmann <moehrmann@google.com> Run-TryBot: Martin Möhrmann <martisch@uos.de> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/runtime/os_darwin.go')
-rw-r--r--src/runtime/os_darwin.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/runtime/os_darwin.go b/src/runtime/os_darwin.go
index 52f3cd1fef..e0a43c28aa 100644
--- a/src/runtime/os_darwin.go
+++ b/src/runtime/os_darwin.go
@@ -130,6 +130,18 @@ func osinit() {
physPageSize = getPageSize()
}
+func sysctlbynameInt32(name []byte) (int32, int32) {
+ out := int32(0)
+ nout := unsafe.Sizeof(out)
+ ret := sysctlbyname(&name[0], (*byte)(unsafe.Pointer(&out)), &nout, nil, 0)
+ return ret, out
+}
+
+//go:linkname internal_cpu_getsysctlbyname internal/cpu.getsysctlbyname
+func internal_cpu_getsysctlbyname(name []byte) (int32, int32) {
+ return sysctlbynameInt32(name)
+}
+
const (
_CTL_HW = 6
_HW_NCPU = 3