git: 0e867a491156 - main - aarch/SYS.h: implement _SYSCALL_BODY() macro
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 02 Feb 2024 17:10:18 UTC
The branch main has been updated by brooks:
URL: https://cgit.FreeBSD.org/src/commit/?id=0e867a49115687398fd486b3af67fbb41f48b8a8
commit 0e867a49115687398fd486b3af67fbb41f48b8a8
Author: Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2024-02-02 17:08:55 +0000
Commit: Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2024-02-02 17:08:55 +0000
aarch/SYS.h: implement _SYSCALL_BODY() macro
Add _SYSCALL_BODY() macro which invokes the syscall via _SYCALL() and
calls cerror as required. Use to implement PSEUDO() and RSYSCALL().
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D43058
---
lib/libc/aarch64/SYS.h | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/lib/libc/aarch64/SYS.h b/lib/libc/aarch64/SYS.h
index af7f0200a0c7..07d14ab1bb44 100644
--- a/lib/libc/aarch64/SYS.h
+++ b/lib/libc/aarch64/SYS.h
@@ -40,21 +40,21 @@
* to jump around to use more capable unconditional branch
* instruction.
*/
-#define PSEUDO(name) \
-ENTRY(__sys_##name); \
- WEAK_REFERENCE(__sys_##name, _##name); \
+#define _SYSCALL_BODY(name) \
_SYSCALL(name); \
b.cs 1f; \
ret; \
-1: b cerror; \
+1: b cerror
+
+#define PSEUDO(name) \
+ENTRY(__sys_##name); \
+ WEAK_REFERENCE(__sys_##name, _##name); \
+ _SYSCALL_BODY(name); \
END(__sys_##name)
#define RSYSCALL(name) \
ENTRY(__sys_##name); \
WEAK_REFERENCE(__sys_##name, name); \
WEAK_REFERENCE(__sys_##name, _##name); \
- _SYSCALL(name); \
- b.cs 1f; \
- ret; \
-1: b cerror; \
+ _SYSCALL_BODY(name); \
END(__sys_##name)