printf: Remove unused 'bprintf'
[drm/drm-misc.git] / arch / powerpc / include / asm / syscall_wrapper.h
blob67486c67e8a249912eb1c871e16e75a7e9d0612d
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * syscall_wrapper.h - powerpc specific wrappers to syscall definitions
5 * Based on arch/{x86,arm64}/include/asm/syscall_wrapper.h
6 */
8 #ifndef __ASM_POWERPC_SYSCALL_WRAPPER_H
9 #define __ASM_POWERPC_SYSCALL_WRAPPER_H
11 struct pt_regs;
13 #define SC_POWERPC_REGS_TO_ARGS(x, ...) \
14 __MAP(x,__SC_ARGS \
15 ,,regs->gpr[3],,regs->gpr[4],,regs->gpr[5] \
16 ,,regs->gpr[6],,regs->gpr[7],,regs->gpr[8])
18 #define __SYSCALL_DEFINEx(x, name, ...) \
19 long sys##name(const struct pt_regs *regs); \
20 ALLOW_ERROR_INJECTION(sys##name, ERRNO); \
21 static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \
22 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \
23 long sys##name(const struct pt_regs *regs) \
24 { \
25 return __se_sys##name(SC_POWERPC_REGS_TO_ARGS(x,__VA_ARGS__)); \
26 } \
27 static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
28 { \
29 long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \
30 __MAP(x,__SC_TEST,__VA_ARGS__); \
31 __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \
32 return ret; \
33 } \
34 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
36 #define SYSCALL_DEFINE0(sname) \
37 SYSCALL_METADATA(_##sname, 0); \
38 long sys_##sname(const struct pt_regs *__unused); \
39 ALLOW_ERROR_INJECTION(sys_##sname, ERRNO); \
40 long sys_##sname(const struct pt_regs *__unused)
42 #define COND_SYSCALL(name) \
43 long sys_##name(const struct pt_regs *regs); \
44 long __weak sys_##name(const struct pt_regs *regs) \
45 { \
46 return sys_ni_syscall(); \
49 #endif // __ASM_POWERPC_SYSCALL_WRAPPER_H