xref: /openbmc/linux/arch/x86/include/asm/syscalls.h (revision bb8985586b7a906e116db835c64773b7a7d51663)
1*bb898558SAl Viro /*
2*bb898558SAl Viro  * syscalls.h - Linux syscall interfaces (arch-specific)
3*bb898558SAl Viro  *
4*bb898558SAl Viro  * Copyright (c) 2008 Jaswinder Singh
5*bb898558SAl Viro  *
6*bb898558SAl Viro  * This file is released under the GPLv2.
7*bb898558SAl Viro  * See the file COPYING for more details.
8*bb898558SAl Viro  */
9*bb898558SAl Viro 
10*bb898558SAl Viro #ifndef _ASM_X86_SYSCALLS_H
11*bb898558SAl Viro #define _ASM_X86_SYSCALLS_H
12*bb898558SAl Viro 
13*bb898558SAl Viro #include <linux/compiler.h>
14*bb898558SAl Viro #include <linux/linkage.h>
15*bb898558SAl Viro #include <linux/types.h>
16*bb898558SAl Viro #include <linux/signal.h>
17*bb898558SAl Viro 
18*bb898558SAl Viro /* Common in X86_32 and X86_64 */
19*bb898558SAl Viro /* kernel/ioport.c */
20*bb898558SAl Viro asmlinkage long sys_ioperm(unsigned long, unsigned long, int);
21*bb898558SAl Viro 
22*bb898558SAl Viro /* X86_32 only */
23*bb898558SAl Viro #ifdef CONFIG_X86_32
24*bb898558SAl Viro /* kernel/process_32.c */
25*bb898558SAl Viro asmlinkage int sys_fork(struct pt_regs);
26*bb898558SAl Viro asmlinkage int sys_clone(struct pt_regs);
27*bb898558SAl Viro asmlinkage int sys_vfork(struct pt_regs);
28*bb898558SAl Viro asmlinkage int sys_execve(struct pt_regs);
29*bb898558SAl Viro 
30*bb898558SAl Viro /* kernel/signal_32.c */
31*bb898558SAl Viro asmlinkage int sys_sigsuspend(int, int, old_sigset_t);
32*bb898558SAl Viro asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
33*bb898558SAl Viro 			     struct old_sigaction __user *);
34*bb898558SAl Viro asmlinkage int sys_sigaltstack(unsigned long);
35*bb898558SAl Viro asmlinkage unsigned long sys_sigreturn(unsigned long);
36*bb898558SAl Viro asmlinkage int sys_rt_sigreturn(unsigned long);
37*bb898558SAl Viro 
38*bb898558SAl Viro /* kernel/ioport.c */
39*bb898558SAl Viro asmlinkage long sys_iopl(unsigned long);
40*bb898558SAl Viro 
41*bb898558SAl Viro /* kernel/ldt.c */
42*bb898558SAl Viro asmlinkage int sys_modify_ldt(int, void __user *, unsigned long);
43*bb898558SAl Viro 
44*bb898558SAl Viro /* kernel/sys_i386_32.c */
45*bb898558SAl Viro asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
46*bb898558SAl Viro 			  unsigned long, unsigned long, unsigned long);
47*bb898558SAl Viro struct mmap_arg_struct;
48*bb898558SAl Viro asmlinkage int old_mmap(struct mmap_arg_struct __user *);
49*bb898558SAl Viro struct sel_arg_struct;
50*bb898558SAl Viro asmlinkage int old_select(struct sel_arg_struct __user *);
51*bb898558SAl Viro asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
52*bb898558SAl Viro struct old_utsname;
53*bb898558SAl Viro asmlinkage int sys_uname(struct old_utsname __user *);
54*bb898558SAl Viro struct oldold_utsname;
55*bb898558SAl Viro asmlinkage int sys_olduname(struct oldold_utsname __user *);
56*bb898558SAl Viro 
57*bb898558SAl Viro /* kernel/tls.c */
58*bb898558SAl Viro asmlinkage int sys_set_thread_area(struct user_desc __user *);
59*bb898558SAl Viro asmlinkage int sys_get_thread_area(struct user_desc __user *);
60*bb898558SAl Viro 
61*bb898558SAl Viro /* kernel/vm86_32.c */
62*bb898558SAl Viro asmlinkage int sys_vm86old(struct pt_regs);
63*bb898558SAl Viro asmlinkage int sys_vm86(struct pt_regs);
64*bb898558SAl Viro 
65*bb898558SAl Viro #else /* CONFIG_X86_32 */
66*bb898558SAl Viro 
67*bb898558SAl Viro /* X86_64 only */
68*bb898558SAl Viro /* kernel/process_64.c */
69*bb898558SAl Viro asmlinkage long sys_fork(struct pt_regs *);
70*bb898558SAl Viro asmlinkage long sys_clone(unsigned long, unsigned long,
71*bb898558SAl Viro 			  void __user *, void __user *,
72*bb898558SAl Viro 			  struct pt_regs *);
73*bb898558SAl Viro asmlinkage long sys_vfork(struct pt_regs *);
74*bb898558SAl Viro asmlinkage long sys_execve(char __user *, char __user * __user *,
75*bb898558SAl Viro 			   char __user * __user *,
76*bb898558SAl Viro 			   struct pt_regs *);
77*bb898558SAl Viro 
78*bb898558SAl Viro /* kernel/ioport.c */
79*bb898558SAl Viro asmlinkage long sys_iopl(unsigned int, struct pt_regs *);
80*bb898558SAl Viro 
81*bb898558SAl Viro /* kernel/signal_64.c */
82*bb898558SAl Viro asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t __user *,
83*bb898558SAl Viro 				struct pt_regs *);
84*bb898558SAl Viro asmlinkage long sys_rt_sigreturn(struct pt_regs *);
85*bb898558SAl Viro 
86*bb898558SAl Viro /* kernel/sys_x86_64.c */
87*bb898558SAl Viro asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long,
88*bb898558SAl Viro 			 unsigned long, unsigned long, unsigned long);
89*bb898558SAl Viro struct new_utsname;
90*bb898558SAl Viro asmlinkage long sys_uname(struct new_utsname __user *);
91*bb898558SAl Viro 
92*bb898558SAl Viro #endif /* CONFIG_X86_32 */
93*bb898558SAl Viro #endif /* _ASM_X86_SYSCALLS_H */
94