summaryrefslogtreecommitdiff
path: root/arch/riscv64/pthread_arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/riscv64/pthread_arch.h')
-rw-r--r--arch/riscv64/pthread_arch.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/riscv64/pthread_arch.h b/arch/riscv64/pthread_arch.h
index 1268b72d..a20d7fba 100644
--- a/arch/riscv64/pthread_arch.h
+++ b/arch/riscv64/pthread_arch.h
@@ -1,14 +1,13 @@
-static inline struct pthread *__pthread_self()
+static inline uintptr_t __get_tp()
{
- char *tp;
+ uintptr_t tp;
__asm__ __volatile__("mv %0, tp" : "=r"(tp));
- return (void *)(tp - sizeof(struct pthread));
+ return tp;
}
#define TLS_ABOVE_TP
#define GAP_ABOVE_TP 0
-#define TP_ADJ(p) ((char *)p + sizeof(struct pthread))
#define DTP_OFFSET 0x800
-#define MC_PC gregs[0]
+#define MC_PC __gregs[0]