...
Text file src/runtime/tls_arm64.h
1 // Copyright 2015 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 #ifdef GOOS_android
6 #define TLS_linux
7 #define TLSG_IS_VARIABLE
8 #endif
9 #ifdef GOOS_linux
10 #define TLS_linux
11 #endif
12 #ifdef TLS_linux
13 #define TPIDR TPIDR_EL0
14 #define MRS_TPIDR_R0 WORD $0xd53bd040 // MRS TPIDR_EL0, R0
15 #endif
16
17 #ifdef GOOS_darwin
18 #define TPIDR TPIDRRO_EL0
19 #define TLSG_IS_VARIABLE
20 #define MRS_TPIDR_R0 WORD $0xd53bd060 // MRS TPIDRRO_EL0, R0
21 #endif
22
23 #ifdef GOOS_netbsd
24 #define TPIDR TPIDRRO_EL0
25 #define MRS_TPIDR_R0 WORD $0xd53bd040 // MRS TPIDRRO_EL0, R0
26 #endif
27
28 #ifdef GOOS_openbsd
29 #define TPIDR TPIDR_EL0
30 #define MRS_TPIDR_R0 WORD $0xd53bd040 // MRS TPIDR_EL0, R0
31 #endif
32
33 // Define something that will break the build if
34 // the GOOS is unknown.
35 #ifndef TPIDR
36 #define MRS_TPIDR_R0 TPIDR_UNKNOWN
37 #endif
View as plain text