aarch64: add HWCAP2_ macros from linux v5.3
[musl] / arch / or1k / pthread_arch.h
index ad63169..f75ea7e 100644 (file)
@@ -1,18 +1,16 @@
-/* or1k use variant I, but with the twist that tp points to the end of TCB */
-static inline struct pthread *__pthread_self()
+static inline uintptr_t __get_tp()
 {
 #ifdef __clang__
-       char *tp;
-       __asm__ __volatile__ ("l.ori %0, r10, 0" : "=r" (tp) );
+       uintptr_t tp;
+       __asm__ ("l.ori %0, r10, 0" : "=r" (tp) );
 #else
-       register char *tp __asm__("r10");
-       __asm__ __volatile__ ("" : "=r" (tp) );
+       register uintptr_t tp __asm__("r10");
+       __asm__ ("" : "=r" (tp) );
 #endif
-       return (struct pthread *) (tp - sizeof(struct pthread));
+       return tp;
 }
 
 #define TLS_ABOVE_TP
-#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread))
+#define GAP_ABOVE_TP 0
 
-/* word-offset to 'pc' in mcontext_t */
-#define CANCEL_REG_IP 32
+#define MC_PC regs.pc