Dmitri Shuralyov
a76ec62d6c
cpu: roll back "use IsProcessorFeaturePresent to calculate ARM64 on windows"
...
Roll back CL 740880 (commit fc646e489f )
because it adds a golang.org/x/sys/windows import to the cpu package.
The cpu package is vendored into the main Go tree and the policy there
does not currently permit this dependency.
For golang/go#76791 .
Fixes golang/go#78259 .
Change-Id: I72860cdf98192f4cbd2b3398926203a752d8d0fe
Cq-Include-Trybots: luci.golang.try:x_sys-gotip-windows-arm64
Reviewed-on: https://go-review.googlesource.com/c/sys/+/757482
Reviewed-by: Michael Pratt <mpratt@google.com >
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com >
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org >
2026-03-20 13:12:12 -07:00
Egon Elbre
942780bbc1
cpu: darwin/arm64 feature detection
...
The ARM64 flags were not being correctly set for Mac M series laptops.
Fixes golang/go#43046
Change-Id: I1d884dccd3f3a0a010ad7babbab26b73731ab583
Reviewed-on: https://go-review.googlesource.com/c/sys/+/737260
Auto-Submit: Keith Randall <khr@golang.org >
Reviewed-by: Keith Randall <khr@google.com >
Reviewed-by: Keith Randall <khr@golang.org >
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Reviewed-by: David Chase <drchase@google.com >
2026-03-02 13:52:18 -08:00
Nuno Cruces
3687fbd716
cpu: better defaults on darwin ARM64
...
This is motivated by
https://github.com/wazero/wazero/pull/2473
which needs to special case darwin for testing the availability of
HasATOMICS, although all M-series CPUs support it.
We could do sysctlbyname, like syscall_darwin_x86_gc.go, if that's
preferred:
https://developer.apple.com/documentation/kernel/1387446-sysctlbyname/determining_instruction_set_characteristics
Change-Id: I0f5ea55ef5cda4956db44b2d40f2f10044fa3321
GitHub-Last-Rev: d5d0f1e989579de2a25c97c00c7e9db5d4b0cb29
GitHub-Pull-Request: golang/sys#267
Reviewed-on: https://go-review.googlesource.com/c/sys/+/743320
Auto-Submit: Keith Randall <khr@golang.org >
Reviewed-by: Keith Randall <khr@golang.org >
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Reviewed-by: Keith Randall <khr@google.com >
Reviewed-by: Junyang Shao <shaojunyang@google.com >
2026-02-12 09:29:35 -08:00
Alex Brainman
fc646e489f
cpu: use IsProcessorFeaturePresent to calculate ARM64 on windows
...
For golang/go#76791
Change-Id: I9500b38b17b5e3e141df8770d82c725c2ba8fd65
Cq-Include-Trybots: luci.golang.try:x_sys-gotip-windows-arm64
Reviewed-on: https://go-review.googlesource.com/c/sys/+/740880
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
Reviewed-by: Quim Muntal <quimmuntal@gmail.com >
Reviewed-by: Michael Pratt <mpratt@google.com >
Reviewed-by: Michael Knyszek <mknyszek@google.com >
2026-02-07 21:32:41 -08:00
Dmitri Shuralyov
1bfbee0e20
all: update go directive to 1.18
...
Done with:
go get go@1.18
go mod tidy
go fix ./...
Using go1.21.3.
Also update code generators to use only the new go:build lines,
not the old +build ones.
For golang/go#60268 .
Change-Id: I6aabc42efb6ab3329981100e1db2263aac5e92a6
Reviewed-on: https://go-review.googlesource.com/c/sys/+/534222
Reviewed-by: Ian Lance Taylor <iant@google.com >
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com >
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org >
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com >
2023-10-11 21:54:30 +00:00
Joel Sing
3d627bb497
cpu: implement CPU feature detection for openbsd/arm64
...
OpenBSD 7.1 onwards expose the aarch64 ISAR0 and ISAR1 registers via sysctl:
$ sysctl machdep
machdep.compatible=apple,j274
machdep.id_aa64isar0=153421459058925856
machdep.id_aa64isar1=1172796674562
Implement CPU feature detection for openbsd/arm64 based on this information.
Updates golang/go#31746
Change-Id: I6dc473d93ccff720582c05b75456de51269bc3e5
Reviewed-on: https://go-review.googlesource.com/c/sys/+/421799
Run-TryBot: Joel Sing <joel@sing.id.au >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@google.com >
TryBot-Result: Gopher Robot <gobot@golang.org >
Auto-Submit: Ian Lance Taylor <iant@google.com >
Reviewed-by: Than McIntosh <thanm@google.com >
Run-TryBot: Ian Lance Taylor <iant@google.com >
2022-08-08 15:39:00 +00:00
Russ Cox
9a76102bfb
all: go fmt ./...
...
Make all our package sources use Go 1.17 gofmt format
(adding //go:build lines).
Not strictly necessary but will avoid spurious changes
as files are edited.
Part of //go:build change (#41184 ).
See https://golang.org/design/draft-gobuild
Change-Id: I01667f826428426a39c84717d02efa25fa44553c
Reviewed-on: https://go-review.googlesource.com/c/sys/+/294490
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Keith Randall <khr@golang.org >
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com >
Reviewed-by: Matt Layher <mdlayher@gmail.com >
Trust: Josh Bleecher Snyder <josharian@gmail.com >
Trust: Russ Cox <rsc@golang.org >
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com >
Run-TryBot: Russ Cox <rsc@golang.org >
2021-02-20 05:07:31 +00:00
Tobias Klauser
ef9fd89ba2
cpu: read ARM64 registers using sysctl(3) on netbsd/arm64
...
Use sysctl("machdep.cpu0.cpu_id") to retrieve the ARM64 cpu_id
information on netbsd/arm64. This includes the ISAR0, ISAR1 and PFR0
registers which can be parsed using existing functionality.
In order to use sysctl(3) without depending on x/sys/unix, some
functionality needed to be copied and slightly adjusted.
Change-Id: Ic9a133917ae5da516e6794f375bd7602d9bd3aa6
Reviewed-on: https://go-review.googlesource.com/c/sys/+/264378
Trust: Tobias Klauser <tobias.klauser@gmail.com >
Trust: Benny Siegert <bsiegert@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Benny Siegert <bsiegert@gmail.com >
2020-10-24 13:24:49 +00:00
Tobias Klauser
85b82a3add
cpu: support reading arm64 CPU feature registers
...
This allows to detect ARM64 CPU features on non-Linux systems. On Linux,
this is used in case /proc/self/auxv cannot be read.
Change-Id: I67d55e989f2beda0c05a97ca5e55781840a8e01c
Reviewed-on: https://go-review.googlesource.com/c/sys/+/209478
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2019-12-04 07:21:56 +00:00
Tobias Klauser
e43da5d1f2
cpu: move empty doinit to own file
...
Avoids each GOARCH having to define an empty doinit for GOOS=linux
Change-Id: Ic7cea1be4a35c31593c4f867478194b82dd53613
Reviewed-on: https://go-review.googlesource.com/c/sys/+/206859
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2019-11-13 15:46:56 +00:00
Tobias Klauser
e77772198c
cpu: fix build for GOARCH=arm64 on GOOS!=linux
...
The current implementation for arm64 only supports linux (through HWCaps
read from /proc/self/auxv) and fails to build e.g. on darwin/arm64.
Fixes golang/go#30237
Change-Id: I9f32a285760795441a829b0a81b2d5aff04e2dc4
Reviewed-on: https://go-review.googlesource.com/c/162797
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2019-02-14 21:44:11 +00:00