diff options
author | Martin Möhrmann <moehrmann@google.com> | 2020-11-21 17:44:04 +0100 |
---|---|---|
committer | Martin Möhrmann <moehrmann@google.com> | 2020-12-07 07:59:54 +0000 |
commit | c15593197453b8bf90fc3a9080ba2afeaf7934ea (patch) | |
tree | d0c9e386625721d141867690e427dfd8c84d5c62 /src/runtime/os_darwin.go | |
parent | e10c94af26b95f4af71c4a040b3d3f01499d01de (diff) | |
download | go-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.go | 12 |
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 |