summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/rseq/rseq-or1k-thread-pointer.h
diff options
context:
space:
mode:
authorStafford Horne <shorne@gmail.com>2024-12-23 13:13:18 +0000
committerStafford Horne <shorne@gmail.com>2025-01-14 17:17:16 +0000
commitea1413e5b53a8dd4fa7675edb23cdf828bbdce1e (patch)
treee3fb390fb3a7e9247f529dd20321ebb3fcf3859c /tools/testing/selftests/rseq/rseq-or1k-thread-pointer.h
parentca46ebffc2d2b243cc213d444e2a440489ecd4bc (diff)
rseq/selftests: Add support for OpenRISC
Add support for OpenRISC in the rseq selftests. OpenRISC is 32-bit only. Tested this with: Compiler: gcc version 14.2.0 (GCC) Binutils: GNU assembler version 2.43.1 (or1k-smh-linux-gnu) using BFD version (GNU Binutils) 2.43.1.20241207 Linux: Linux buildroot 6.13.0-rc2-00005-g1fa73dd6c2d3-dirty #213 SMP Sat Dec 28 22:18:39 GMT 2024 openrisc GNU/Linux Glibc: 2024-12-13 e4e49583d9 Stafford Horne or1k: Update libm-test-ulps Signed-off-by: Stafford Horne <shorne@gmail.com> Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Diffstat (limited to 'tools/testing/selftests/rseq/rseq-or1k-thread-pointer.h')
-rw-r--r--tools/testing/selftests/rseq/rseq-or1k-thread-pointer.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/testing/selftests/rseq/rseq-or1k-thread-pointer.h b/tools/testing/selftests/rseq/rseq-or1k-thread-pointer.h
new file mode 100644
index 000000000000..cda740f7aff3
--- /dev/null
+++ b/tools/testing/selftests/rseq/rseq-or1k-thread-pointer.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: LGPL-2.1-only OR MIT */
+#ifndef _RSEQ_OR1K_THREAD_POINTER
+#define _RSEQ_OR1K_THREAD_POINTER
+
+static inline void *rseq_thread_pointer(void)
+{
+ void *__thread_register;
+
+ __asm__ ("l.or %0, r10, r0" : "=r" (__thread_register));
+ return __thread_register;
+}
+
+#endif