From 0f30d227497418c6d3bef7d52244407e30454504 Mon Sep 17 00:00:00 2001 From: Kacper Date: Mon, 22 Dec 2025 23:27:56 +0100 Subject: Added c11 threads, fixed some locks and add *_unlocked functions --- lib/libc/internal/arch/x86_64/tcb.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 lib/libc/internal/arch/x86_64/tcb.c (limited to 'lib/libc/internal/arch/x86_64/tcb.c') diff --git a/lib/libc/internal/arch/x86_64/tcb.c b/lib/libc/internal/arch/x86_64/tcb.c new file mode 100644 index 00000000..6e1f0c15 --- /dev/null +++ b/lib/libc/internal/arch/x86_64/tcb.c @@ -0,0 +1,13 @@ +#include + +__attribute__((__always_inline__)) void __libc_tcb_set(uint64_t tcb) +{ + __asm__ volatile("wrfsbase %0" ::"r"(tcb)); +} + +__attribute__((__always_inline__)) void *__libc_tcb_get(void) +{ + void *tcb; + __asm__ volatile("rdfsbase %0" : "=r"(tcb)); + return tcb; +} -- cgit v1.2.3