forked from Minki/linux
f87ea91d98
Redo the calculation of NR_syscalls since that disappeared from i386 and use a similar mechanism on x86_64. We now figure out the size of the system call table in arch code and stick that in syscall_table_size. arch/um/kernel/skas/syscall.c defines NR_syscalls in terms of that since its the only thing that needs to know how many system calls there are. The old mechananism that was used on x86_64 is gone. arch/um/include/sysdep-i386/syscalls.h got some formatting since I was looking at it. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
34 lines
923 B
C
34 lines
923 B
C
/*
|
|
* Copyright 2003 PathScale, Inc.
|
|
*
|
|
* Licensed under the GPL
|
|
*/
|
|
|
|
#ifndef __SYSDEP_X86_64_SYSCALLS_H__
|
|
#define __SYSDEP_X86_64_SYSCALLS_H__
|
|
|
|
#include <linux/msg.h>
|
|
#include <linux/shm.h>
|
|
#include <kern_constants.h>
|
|
|
|
typedef long syscall_handler_t(void);
|
|
|
|
extern syscall_handler_t *sys_call_table[];
|
|
|
|
#define EXECUTE_SYSCALL(syscall, regs) \
|
|
(((long (*)(long, long, long, long, long, long)) \
|
|
(*sys_call_table[syscall]))(UPT_SYSCALL_ARG1(®s->regs), \
|
|
UPT_SYSCALL_ARG2(®s->regs), \
|
|
UPT_SYSCALL_ARG3(®s->regs), \
|
|
UPT_SYSCALL_ARG4(®s->regs), \
|
|
UPT_SYSCALL_ARG5(®s->regs), \
|
|
UPT_SYSCALL_ARG6(®s->regs)))
|
|
|
|
extern long old_mmap(unsigned long addr, unsigned long len,
|
|
unsigned long prot, unsigned long flags,
|
|
unsigned long fd, unsigned long pgoff);
|
|
extern syscall_handler_t sys_modify_ldt;
|
|
extern syscall_handler_t sys_arch_prctl;
|
|
|
|
#endif
|