x86: Introducing asm/syscalls.h
Declaring arch-dependent syscalls for x86 architecture Signed-off-by: Jaswinder Singh <jaswinder@infradead.org>
This commit is contained in:
parent
93ded9b8fd
commit
bbc1f698a5
@ -14,6 +14,7 @@
|
|||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/thread_info.h>
|
#include <linux/thread_info.h>
|
||||||
#include <linux/syscalls.h>
|
#include <linux/syscalls.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
/* Set EXTENT bits starting at BASE in BITMAP to value TURN_ON. */
|
/* Set EXTENT bits starting at BASE in BITMAP to value TURN_ON. */
|
||||||
static void set_bitmap(unsigned long *bitmap, unsigned int base,
|
static void set_bitmap(unsigned long *bitmap, unsigned int base,
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#include <asm/ldt.h>
|
#include <asm/ldt.h>
|
||||||
#include <asm/desc.h>
|
#include <asm/desc.h>
|
||||||
#include <asm/mmu_context.h>
|
#include <asm/mmu_context.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
static void flush_ldt(void *current_mm)
|
static void flush_ldt(void *current_mm)
|
||||||
|
@ -55,6 +55,7 @@
|
|||||||
#include <asm/tlbflush.h>
|
#include <asm/tlbflush.h>
|
||||||
#include <asm/cpu.h>
|
#include <asm/cpu.h>
|
||||||
#include <asm/kdebug.h>
|
#include <asm/kdebug.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
|
asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
|
||||||
|
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
#include <asm/proto.h>
|
#include <asm/proto.h>
|
||||||
#include <asm/ia32.h>
|
#include <asm/ia32.h>
|
||||||
#include <asm/idle.h>
|
#include <asm/idle.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
asmlinkage extern void ret_from_fork(void);
|
asmlinkage extern void ret_from_fork(void);
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/i387.h>
|
#include <asm/i387.h>
|
||||||
#include <asm/vdso.h>
|
#include <asm/vdso.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
#include "sigframe.h"
|
#include "sigframe.h"
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include <asm/proto.h>
|
#include <asm/proto.h>
|
||||||
#include <asm/ia32_unistd.h>
|
#include <asm/ia32_unistd.h>
|
||||||
#include <asm/mce.h>
|
#include <asm/mce.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
#include "sigframe.h"
|
#include "sigframe.h"
|
||||||
|
|
||||||
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
|
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <linux/unistd.h>
|
#include <linux/unistd.h>
|
||||||
|
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
asmlinkage long sys_mmap2(unsigned long addr, unsigned long len,
|
asmlinkage long sys_mmap2(unsigned long addr, unsigned long len,
|
||||||
unsigned long prot, unsigned long flags,
|
unsigned long prot, unsigned long flags,
|
||||||
unsigned long fd, unsigned long pgoff)
|
unsigned long fd, unsigned long pgoff)
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/ia32.h>
|
#include <asm/ia32.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
asmlinkage long sys_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags,
|
asmlinkage long sys_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags,
|
||||||
unsigned long fd, unsigned long off)
|
unsigned long fd, unsigned long off)
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include <asm/ldt.h>
|
#include <asm/ldt.h>
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
#include <asm/proto.h>
|
#include <asm/proto.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
#include "tls.h"
|
#include "tls.h"
|
||||||
|
|
||||||
|
@ -46,6 +46,7 @@
|
|||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/tlbflush.h>
|
#include <asm/tlbflush.h>
|
||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
|
#include <asm/syscalls.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Known problems:
|
* Known problems:
|
||||||
|
90
include/asm-x86/syscalls.h
Normal file
90
include/asm-x86/syscalls.h
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
/*
|
||||||
|
* syscalls.h - Linux syscall interfaces (arch-specific)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2008 Jaswinder Singh
|
||||||
|
*
|
||||||
|
* This file is released under the GPLv2.
|
||||||
|
* See the file COPYING for more details.
|
||||||
|
*
|
||||||
|
* Please do not call me directly, include linux/syscalls.h
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _ASM_X86_SYSCALLS_H
|
||||||
|
#define _ASM_X86_SYSCALLS_H
|
||||||
|
|
||||||
|
#include <linux/compiler.h>
|
||||||
|
#include <linux/linkage.h>
|
||||||
|
#include <linux/types.h>
|
||||||
|
#include <linux/signal.h>
|
||||||
|
|
||||||
|
/* Common in X86_32 and X86_64 */
|
||||||
|
/* kernel/ioport.c */
|
||||||
|
asmlinkage long sys_ioperm(unsigned long, unsigned long, int);
|
||||||
|
|
||||||
|
/* X86_32 only */
|
||||||
|
#ifdef CONFIG_X86_32
|
||||||
|
/* kernel/process_32.c */
|
||||||
|
asmlinkage int sys_fork(struct pt_regs);
|
||||||
|
asmlinkage int sys_clone(struct pt_regs);
|
||||||
|
asmlinkage int sys_vfork(struct pt_regs);
|
||||||
|
asmlinkage int sys_execve(struct pt_regs);
|
||||||
|
|
||||||
|
/* kernel/signal_32.c */
|
||||||
|
asmlinkage int sys_sigsuspend(int, int, old_sigset_t);
|
||||||
|
asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
|
||||||
|
struct old_sigaction __user *);
|
||||||
|
asmlinkage int sys_sigaltstack(unsigned long);
|
||||||
|
asmlinkage unsigned long sys_sigreturn(unsigned long);
|
||||||
|
asmlinkage int sys_rt_sigreturn(unsigned long);
|
||||||
|
|
||||||
|
/* kernel/ioport.c */
|
||||||
|
asmlinkage long sys_iopl(unsigned long);
|
||||||
|
|
||||||
|
/* kernel/ldt.c */
|
||||||
|
asmlinkage int sys_modify_ldt(int, void __user *, unsigned long);
|
||||||
|
|
||||||
|
/* kernel/sys_i386_32.c */
|
||||||
|
asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
|
||||||
|
unsigned long, unsigned long, unsigned long);
|
||||||
|
struct mmap_arg_struct;
|
||||||
|
asmlinkage int old_mmap(struct mmap_arg_struct __user *);
|
||||||
|
struct sel_arg_struct;
|
||||||
|
asmlinkage int old_select(struct sel_arg_struct __user *);
|
||||||
|
asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
|
||||||
|
struct old_utsname;
|
||||||
|
asmlinkage int sys_uname(struct old_utsname __user *);
|
||||||
|
struct oldold_utsname;
|
||||||
|
asmlinkage int sys_olduname(struct oldold_utsname __user *);
|
||||||
|
|
||||||
|
/* kernel/tls.c */
|
||||||
|
asmlinkage int sys_set_thread_area(struct user_desc __user *);
|
||||||
|
asmlinkage int sys_get_thread_area(struct user_desc __user *);
|
||||||
|
|
||||||
|
#else /* CONFIG_X86_32 */
|
||||||
|
|
||||||
|
/* X86_64 only */
|
||||||
|
/* kernel/process_64.c */
|
||||||
|
asmlinkage long sys_fork(struct pt_regs *);
|
||||||
|
asmlinkage long sys_clone(unsigned long, unsigned long,
|
||||||
|
void __user *, void __user *,
|
||||||
|
struct pt_regs *);
|
||||||
|
asmlinkage long sys_vfork(struct pt_regs *);
|
||||||
|
asmlinkage long sys_execve(char __user *, char __user * __user *,
|
||||||
|
char __user * __user *,
|
||||||
|
struct pt_regs *);
|
||||||
|
|
||||||
|
/* kernel/ioport.c */
|
||||||
|
asmlinkage long sys_iopl(unsigned int, struct pt_regs *);
|
||||||
|
|
||||||
|
/* kernel/signal_64.c */
|
||||||
|
asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t __user *,
|
||||||
|
struct pt_regs *);
|
||||||
|
asmlinkage long sys_rt_sigreturn(struct pt_regs *);
|
||||||
|
|
||||||
|
/* kernel/sys_x86_64.c */
|
||||||
|
asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long,
|
||||||
|
unsigned long, unsigned long, unsigned long);
|
||||||
|
asmlinkage long sys_uname(struct new_utsname __user *);
|
||||||
|
|
||||||
|
#endif /* CONFIG_X86_32 */
|
||||||
|
#endif /* _ASM_X86_SYSCALLS_H */
|
Loading…
Reference in New Issue
Block a user