github.com/4ad/go@v0.0.0-20161219182952-69a12818b605/src/runtime/tls_arm64.h (about)

     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  // Define something that will break the build if
    24  // the GOOS is unknown.
    25  #ifndef TPIDR
    26  #define MRS_TPIDR_R0 TPIDR_UNKNOWN
    27  #endif