blob: 592a6a672e074e727f3bea50496b779771b41074 [file] [log] [blame]
Jaswinder Singhbbc1f692008-07-21 21:34:13 +05301/*
2 * syscalls.h - Linux syscall interfaces (arch-specific)
3 *
Jaswinder Singh Rajput2c1b2842009-04-11 00:03:10 +05304 * Copyright (c) 2008 Jaswinder Singh Rajput
Jaswinder Singhbbc1f692008-07-21 21:34:13 +05305 *
6 * This file is released under the GPLv2.
7 * See the file COPYING for more details.
Jaswinder Singhbbc1f692008-07-21 21:34:13 +05308 */
9
10#ifndef _ASM_X86_SYSCALLS_H
11#define _ASM_X86_SYSCALLS_H
12
13#include <linux/compiler.h>
14#include <linux/linkage.h>
Jaswinder Singhbbc1f692008-07-21 21:34:13 +053015#include <linux/signal.h>
Jaswinder Singh Rajput2c1b2842009-04-11 00:03:10 +053016#include <linux/types.h>
Jaswinder Singhbbc1f692008-07-21 21:34:13 +053017
18/* Common in X86_32 and X86_64 */
19/* kernel/ioport.c */
20asmlinkage long sys_ioperm(unsigned long, unsigned long, int);
Al Virob3af11a2012-11-19 22:00:52 -050021asmlinkage long sys_iopl(unsigned int);
Jaswinder Singhbbc1f692008-07-21 21:34:13 +053022
Jaswinder Singhc0195b62008-12-15 22:26:30 +053023/* kernel/ldt.c */
24asmlinkage int sys_modify_ldt(int, void __user *, unsigned long);
25
Jaswinder Singh Rajput2c1b2842009-04-11 00:03:10 +053026/* kernel/signal.c */
Andi Kleenff491032013-08-05 15:02:40 -070027asmlinkage long sys_rt_sigreturn(void);
Jaswinder Singh Rajput2c1b2842009-04-11 00:03:10 +053028
Jaswinder Singh7c9c1602008-12-17 23:18:52 +053029/* kernel/tls.c */
Al Viro2cf09662013-01-21 15:25:54 -050030asmlinkage long sys_set_thread_area(struct user_desc __user *);
31asmlinkage long sys_get_thread_area(struct user_desc __user *);
Jaswinder Singh7c9c1602008-12-17 23:18:52 +053032
Jaswinder Singhbbc1f692008-07-21 21:34:13 +053033/* X86_32 only */
34#ifdef CONFIG_X86_32
Jaswinder Singhbbc1f692008-07-21 21:34:13 +053035
Jaswinder Singh Rajput2c1b2842009-04-11 00:03:10 +053036/* kernel/signal.c */
Andi Kleenff491032013-08-05 15:02:40 -070037asmlinkage unsigned long sys_sigreturn(void);
Jaswinder Singhbbc1f692008-07-21 21:34:13 +053038
Jaswinder Singh8f7db512008-07-23 17:31:02 +053039/* kernel/vm86_32.c */
Alexander van Heukelum5522ddb2013-03-27 22:18:05 +010040asmlinkage long sys_vm86old(struct vm86_struct __user *);
41asmlinkage long sys_vm86(unsigned long, unsigned long);
Jaswinder Singh8f7db512008-07-23 17:31:02 +053042
Jaswinder Singhbbc1f692008-07-21 21:34:13 +053043#else /* CONFIG_X86_32 */
44
45/* X86_64 only */
46/* kernel/process_64.c */
Andi Kleenff491032013-08-05 15:02:40 -070047asmlinkage long sys_arch_prctl(int, unsigned long);
Jaswinder Singhbbc1f692008-07-21 21:34:13 +053048
Jaswinder Singhbbc1f692008-07-21 21:34:13 +053049/* kernel/sys_x86_64.c */
50asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long,
51 unsigned long, unsigned long, unsigned long);
Jaswinder Singhbbc1f692008-07-21 21:34:13 +053052
53#endif /* CONFIG_X86_32 */
54#endif /* _ASM_X86_SYSCALLS_H */