2005-04-17 06:20:36 +08:00
|
|
|
/*
|
|
|
|
* 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>
|
|
|
|
|
|
|
|
typedef long syscall_handler_t(void);
|
|
|
|
|
2005-09-04 06:57:42 +08:00
|
|
|
extern syscall_handler_t *sys_call_table[];
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
#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
|