1/*
2 * syscalls.h - Linux syscall interfaces (arch-specific)
3 *
4 * Copyright (c) 2008 Jaswinder Singh Rajput
5 *
6 * This file is released under the GPLv2.
7 * See the file COPYING for more details.
8 */
9
10#ifndef _ASM_X86_SYSCALLS_H
11#define _ASM_X86_SYSCALLS_H
12
13#include <linux/compiler.h>
14#include <linux/linkage.h>
15#include <linux/signal.h>
16#include <linux/types.h>
17
18/* Common in X86_32 and X86_64 */
19/* kernel/ioport.c */
20asmlinkage long sys_ioperm(unsigned long, unsigned long, int);
21asmlinkage long sys_iopl(unsigned int);
22
23/* kernel/ldt.c */
24asmlinkage int sys_modify_ldt(int, void __user *, unsigned long);
25
26/* kernel/signal.c */
27asmlinkage long sys_rt_sigreturn(void);
28
29/* kernel/tls.c */
30asmlinkage long sys_set_thread_area(struct user_desc __user *);
31asmlinkage long sys_get_thread_area(struct user_desc __user *);
32
33/* X86_32 only */
34#ifdef CONFIG_X86_32
35
36/* kernel/signal.c */
37asmlinkage unsigned long sys_sigreturn(void);
38
39/* kernel/vm86_32.c */
40asmlinkage long sys_vm86old(struct vm86_struct __user *);
41asmlinkage long sys_vm86(unsigned long, unsigned long);
42
43#else /* CONFIG_X86_32 */
44
45/* X86_64 only */
46/* kernel/process_64.c */
47asmlinkage long sys_arch_prctl(int, unsigned long);
48
49/* kernel/sys_x86_64.c */
50asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long,
51			 unsigned long, unsigned long, unsigned long);
52
53#endif /* CONFIG_X86_32 */
54#endif /* _ASM_X86_SYSCALLS_H */
55