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 */