Loading...
Searching...
No Matches
19#ifndef _COBALT_ASM_GENERIC_SYSCALL32_H
20#define _COBALT_ASM_GENERIC_SYSCALL32_H
22#ifdef CONFIG_XENO_ARCH_SYS3264
24#define __COBALT_COMPAT32_BASE 256
26#define __COBALT_SYSNR32emu(__reg) \
29 if (in_compat_syscall()) \
30 __nr += __COBALT_COMPAT32_BASE; \
34#define __COBALT_COMPAT32emu(__reg) \
35 (in_compat_syscall() ? __COBALT_COMPAT_BIT : 0)
37#if __NR_COBALT_SYSCALLS > __COBALT_COMPAT32_BASE
38#error "__NR_COBALT_SYSCALLS > __COBALT_COMPAT32_BASE"
41#define __syshand32emu__(__name) \
42 ((cobalt_syshand)(void (*)(void))(CoBaLt32emu_ ## __name))
44#define __COBALT_CALL32emu_INITHAND(__handler) \
45 [__COBALT_COMPAT32_BASE ... __COBALT_COMPAT32_BASE + __NR_COBALT_SYSCALLS-1] = __handler,
47#define __COBALT_CALL32emu_INITMODE(__mode) \
48 [__COBALT_COMPAT32_BASE ... __COBALT_COMPAT32_BASE + __NR_COBALT_SYSCALLS-1] = __mode,
51#define __COBALT_CALL32emu_ENTRY(__name, __handler) \
52 [sc_cobalt_ ## __name + __COBALT_COMPAT32_BASE] = __handler,
55#define __COBALT_CALL32emu_THUNK(__name) \
56 __COBALT_CALL32emu_ENTRY(__name, __syshand32emu__(__name))
59#define COBALT_SYSCALL32emu(__name, __mode, __args) \
60 long CoBaLt32emu_ ## __name __args
63#define COBALT_SYSCALL32emu_DECL(__name, __args) \
64 long CoBaLt32emu_ ## __name __args
70#define __COBALT_SYSNR32emu(__reg) (__reg)
72#define __COBALT_COMPAT32emu(__reg) 0
74#define __COBALT_CALL32emu_INITHAND(__handler)
76#define __COBALT_CALL32emu_INITMODE(__mode)
78#define __COBALT_CALL32emu_ENTRY(__name, __handler)
80#define __COBALT_CALL32emu_THUNK(__name)
82#define COBALT_SYSCALL32emu_DECL(__name, __args)
86#define __COBALT_CALL32_ENTRY(__name, __handler) \
87 __COBALT_CALL32emu_ENTRY(__name, __handler)
89#define __COBALT_CALL32_INITHAND(__handler) \
90 __COBALT_CALL32emu_INITHAND(__handler)
92#define __COBALT_CALL32_INITMODE(__mode) \
93 __COBALT_CALL32emu_INITMODE(__mode)
96#define __COBALT_CALL32_SYSNR(__reg) __COBALT_SYSNR32emu(__reg)
98#define __COBALT_CALL_COMPAT(__reg) __COBALT_COMPAT32emu(__reg)