1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
static inline uintptr_t __get_tp() { register uintptr_t tp __asm__("$3"); #if __mips_isa_rev < 2 __asm__ (".word 0x7c03e83b" : "=r" (tp) ); #else __asm__ ("rdhwr %0, $29" : "=r" (tp) ); #endif return tp; } #define TLS_ABOVE_TP #define GAP_ABOVE_TP 0 #define TP_OFFSET 0x7000 #define DTP_OFFSET 0x8000 #define MC_PC pc