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 */
20long ksys_ioperm(unsigned long from, unsigned long num, int turn_on);
21
22#ifdef CONFIG_X86_32
23/*
24 * These definitions are only valid on pure 32-bit systems; x86-64 uses a
25 * different syscall calling convention
26 */
27asmlinkage long sys_ioperm(unsigned long, unsigned long, int);
28asmlinkage long sys_iopl(unsigned int);
29
30/* kernel/ldt.c */
31asmlinkage long sys_modify_ldt(int, void __user *, unsigned long);
32
33/* kernel/signal.c */
34asmlinkage long sys_rt_sigreturn(void);
35
36/* kernel/tls.c */
37asmlinkage long sys_set_thread_area(struct user_desc __user *);
38asmlinkage long sys_get_thread_area(struct user_desc __user *);
39
40/* X86_32 only */
41
42/* kernel/signal.c */
43asmlinkage long sys_sigreturn(void);
44
45/* kernel/vm86_32.c */
46struct vm86_struct;
47asmlinkage long sys_vm86old(struct vm86_struct __user *);
48asmlinkage long sys_vm86(unsigned long, unsigned long);
49
50#endif /* CONFIG_X86_32 */
51#endif /* _ASM_X86_SYSCALLS_H */
52