Date: Mon, 18 Dec 2023 22:28:57 GMT From: Brooks Davis <brooks@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 300bbb3a43e3 - main - riscv/SYS.h: implement _SYSCALL_BODY() macro Message-ID: <202312182228.3BIMSvRC007845@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=300bbb3a43e3cc1337b827b72ff5a22c4321a317 commit 300bbb3a43e3cc1337b827b72ff5a22c4321a317 Author: Brooks Davis <brooks@FreeBSD.org> AuthorDate: 2023-12-18 22:28:42 +0000 Commit: Brooks Davis <brooks@FreeBSD.org> CommitDate: 2023-12-18 22:28:42 +0000 riscv/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(). Reviewed by: imp, markj Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D43057 --- lib/libc/riscv/SYS.h | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/libc/riscv/SYS.h b/lib/libc/riscv/SYS.h index 1e3e67834494..47c79e38f916 100644 --- a/lib/libc/riscv/SYS.h +++ b/lib/libc/riscv/SYS.h @@ -40,23 +40,22 @@ li t0, SYS_ ## name; \ ecall -#define PSEUDO(name) \ -ENTRY(__sys_##name); \ - WEAK_REFERENCE(__sys_##name, _##name); \ +#define _SYSCALL_BODY(name) \ _SYSCALL(name); \ bnez t0, 1f; \ ret; \ 1: la t1, cerror; \ - jr t1; \ + jr t1 + +#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); \ - bnez t0, 1f; \ - ret; \ -1: la t1, cerror; \ - jr t1; \ + _SYSCALL_BODY(name); \ END(__sys_##name)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202312182228.3BIMSvRC007845>