mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-22 02:37:15 +00:00
powerpc/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: jhibbits Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D43323
This commit is contained in:
parent
b068bb09a1
commit
6597ea4481
|
@ -40,14 +40,17 @@
|
|||
li 0,(SYS_##name); \
|
||||
sc
|
||||
|
||||
#define _SYSCALL_BODY(name) \
|
||||
_SYSCALL(name); \
|
||||
bnslr; \
|
||||
b CNAME(HIDENAME(cerror))
|
||||
|
||||
#define PSEUDO(name) \
|
||||
.text; \
|
||||
.align 2; \
|
||||
ENTRY(__sys_##name); \
|
||||
WEAK_REFERENCE(__sys_##name, _##name); \
|
||||
_SYSCALL(name); \
|
||||
bnslr; \
|
||||
b CNAME(HIDENAME(cerror)); \
|
||||
_SYSCALL_BODY(name); \
|
||||
END(__sys_##name)
|
||||
|
||||
#define RSYSCALL(name) \
|
||||
|
@ -56,7 +59,5 @@ END(__sys_##name)
|
|||
ENTRY(__sys_##name); \
|
||||
WEAK_REFERENCE(__sys_##name, name); \
|
||||
WEAK_REFERENCE(__sys_##name, _##name); \
|
||||
_SYSCALL(name); \
|
||||
bnslr; \
|
||||
b CNAME(HIDENAME(cerror)); \
|
||||
_SYSCALL_BODY(name); \
|
||||
END(__sys_##name)
|
||||
|
|
Loading…
Reference in a new issue