summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2025-07-12 21:56:08 -0400
committerRich Felker <dalias@aerifal.cx>2025-07-12 21:56:08 -0400
commit709fee55fd1f83faef91cf0542766da4421424f3 (patch)
tree743fb0d371494a0a9549f0a4780a54059c5189b6
parentbd981f3342b92f5b6a71b22ae7520a59ed4dc236 (diff)
downloadmusl-709fee55fd1f83faef91cf0542766da4421424f3.tar.gz
aarch64: replace asm source file for __set_thread_area with inline asm
this change both aligns with the intended future direction for most assembly usage, and makes it possible to add arch-specific setup logic based on hwcaps like we have for 32-bit arm.
-rw-r--r--src/thread/aarch64/__set_thread_area.c5
-rw-r--r--src/thread/aarch64/__set_thread_area.s7
2 files changed, 5 insertions, 7 deletions
diff --git a/src/thread/aarch64/__set_thread_area.c b/src/thread/aarch64/__set_thread_area.c
new file mode 100644
index 00000000..a348ee77
--- /dev/null
+++ b/src/thread/aarch64/__set_thread_area.c
@@ -0,0 +1,5 @@
+int __set_thread_area(void *p)
+{
+ __asm__ __volatile__ ("msr tpidr_el0,%0" : : "r"(p) : "memory");
+ return 0;
+}
diff --git a/src/thread/aarch64/__set_thread_area.s b/src/thread/aarch64/__set_thread_area.s
deleted file mode 100644
index fd0df34b..00000000
--- a/src/thread/aarch64/__set_thread_area.s
+++ /dev/null
@@ -1,7 +0,0 @@
-.global __set_thread_area
-.hidden __set_thread_area
-.type __set_thread_area,@function
-__set_thread_area:
- msr tpidr_el0,x0
- mov w0,#0
- ret