mirror of
https://github.com/golang/go
synced 2024-11-17 12:14:47 -07:00
runtime: initialise cpu.HWCap on netbsd/arm64
NetBSD does not supply AT_HWCAP, however we still need to initialise cpu.HWCaps. For now specify the bare minimum until we add some form of capabilities detection. See https://golang.org/issue/30824#issuecomment-494901591 Follows CL 174129 which did the same for openbsd/arm64. Updates #30824 Change-Id: I43a86b583bc60d259a66772703de06970124bb7f Reviewed-on: https://go-review.googlesource.com/c/go/+/257998 Trust: Tobias Klauser <tobias.klauser@gmail.com> Trust: Benny Siegert <bsiegert@gmail.com> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Benny Siegert <bsiegert@gmail.com> TryBot-Result: Go Bot <gobot@golang.org>
This commit is contained in:
parent
af18bce87c
commit
1f4d035178
@ -359,6 +359,7 @@ func sysargs(argc int32, argv **byte) {
|
||||
// now argv+n is auxv
|
||||
auxv := (*[1 << 28]uintptr)(add(unsafe.Pointer(argv), uintptr(n)*sys.PtrSize))
|
||||
sysauxv(auxv[:])
|
||||
archauxv(auxv[:])
|
||||
}
|
||||
|
||||
const (
|
||||
|
@ -14,3 +14,6 @@ func lwp_mcontext_init(mc *mcontextt, stk unsafe.Pointer, mp *m, gp *g, fn uintp
|
||||
mc.__gregs[_REG_EDX] = uint32(uintptr(unsafe.Pointer(gp)))
|
||||
mc.__gregs[_REG_ESI] = uint32(fn)
|
||||
}
|
||||
|
||||
func archauxv(auxv []uintptr) {
|
||||
}
|
||||
|
@ -14,3 +14,6 @@ func lwp_mcontext_init(mc *mcontextt, stk unsafe.Pointer, mp *m, gp *g, fn uintp
|
||||
mc.__gregs[_REG_R9] = uint64(uintptr(unsafe.Pointer(gp)))
|
||||
mc.__gregs[_REG_R12] = uint64(fn)
|
||||
}
|
||||
|
||||
func archauxv(auxv []uintptr) {
|
||||
}
|
||||
|
@ -32,3 +32,6 @@ func cputicks() int64 {
|
||||
// runtime·nanotime() is a poor approximation of CPU ticks that is enough for the profiler.
|
||||
return nanotime()
|
||||
}
|
||||
|
||||
func archauxv(auxv []uintptr) {
|
||||
}
|
||||
|
@ -4,7 +4,10 @@
|
||||
|
||||
package runtime
|
||||
|
||||
import "unsafe"
|
||||
import (
|
||||
"internal/cpu"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
func lwp_mcontext_init(mc *mcontextt, stk unsafe.Pointer, mp *m, gp *g, fn uintptr) {
|
||||
// Machine dependent mcontext initialisation for LWP.
|
||||
@ -21,3 +24,10 @@ func cputicks() int64 {
|
||||
// runtime·nanotime() is a poor approximation of CPU ticks that is enough for the profiler.
|
||||
return nanotime()
|
||||
}
|
||||
|
||||
func archauxv(auxv []uintptr) {
|
||||
// NetBSD does not supply AT_HWCAP, however we still need to initialise cpu.HWCaps.
|
||||
// For now specify the bare minimum until we add some form of capabilities
|
||||
// detection. See issue https://golang.org/issue/30824#issuecomment-494901591
|
||||
cpu.HWCap = 1<<1 | 1<<0 // ASIMD, FP
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user