1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2020 Collabora Ltd.
5 #ifndef _SYSCALL_USER_DISPATCH_H
6 #define _SYSCALL_USER_DISPATCH_H
8 #include <linux/thread_info.h>
9 #include <linux/syscall_user_dispatch_types.h>
11 #ifdef CONFIG_GENERIC_ENTRY
13 int set_syscall_user_dispatch(unsigned long mode
, unsigned long offset
,
14 unsigned long len
, char __user
*selector
);
16 #define clear_syscall_work_syscall_user_dispatch(tsk) \
17 clear_task_syscall_work(tsk, SYSCALL_USER_DISPATCH)
19 int syscall_user_dispatch_get_config(struct task_struct
*task
, unsigned long size
,
22 int syscall_user_dispatch_set_config(struct task_struct
*task
, unsigned long size
,
27 static inline int set_syscall_user_dispatch(unsigned long mode
, unsigned long offset
,
28 unsigned long len
, char __user
*selector
)
33 static inline void clear_syscall_work_syscall_user_dispatch(struct task_struct
*tsk
)
37 static inline int syscall_user_dispatch_get_config(struct task_struct
*task
,
38 unsigned long size
, void __user
*data
)
43 static inline int syscall_user_dispatch_set_config(struct task_struct
*task
,
44 unsigned long size
, void __user
*data
)
49 #endif /* CONFIG_GENERIC_ENTRY */
51 #endif /* _SYSCALL_USER_DISPATCH_H */