Source file
src/runtime/os_netbsd_arm.go
1
2
3
4
5 package runtime
6
7 import (
8 "internal/abi"
9 "unsafe"
10 )
11
12 func lwp_mcontext_init(mc *mcontextt, stk unsafe.Pointer, mp *m, gp *g, fn uintptr) {
13
14 mc.__gregs[_REG_R15] = uint32(abi.FuncPCABI0(lwp_tramp))
15 mc.__gregs[_REG_R13] = uint32(uintptr(stk))
16 mc.__gregs[_REG_R0] = uint32(uintptr(unsafe.Pointer(mp)))
17 mc.__gregs[_REG_R1] = uint32(uintptr(unsafe.Pointer(gp)))
18 mc.__gregs[_REG_R2] = uint32(fn)
19 }
20
21 func checkgoarm() {
22
23
24
25
26 if getCPUCount() > 1 && goarm < 7 {
27 print("runtime: this system has multiple CPUs and must use\n")
28 print("atomic synchronization instructions. Recompile using GOARM=7.\n")
29 exit(1)
30 }
31 }
32
33
34 func cputicks() int64 {
35
36 return nanotime()
37 }
38
View as plain text