Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2003 PathScale, Inc. |
| 3 | * |
| 4 | * Licensed under the GPL |
| 5 | */ |
| 6 | |
| 7 | #ifndef __SYSDEP_X86_64_SYSCALLS_H__ |
| 8 | #define __SYSDEP_X86_64_SYSCALLS_H__ |
| 9 | |
| 10 | #include <linux/msg.h> |
| 11 | #include <linux/shm.h> |
| 12 | |
| 13 | typedef long syscall_handler_t(void); |
| 14 | |
Jeff Dike | e32dacb | 2005-09-03 15:57:42 -0700 | [diff] [blame] | 15 | extern syscall_handler_t *sys_call_table[]; |
| 16 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 17 | #define EXECUTE_SYSCALL(syscall, regs) \ |
| 18 | (((long (*)(long, long, long, long, long, long)) \ |
| 19 | (*sys_call_table[syscall]))(UPT_SYSCALL_ARG1(®s->regs), \ |
| 20 | UPT_SYSCALL_ARG2(®s->regs), \ |
| 21 | UPT_SYSCALL_ARG3(®s->regs), \ |
| 22 | UPT_SYSCALL_ARG4(®s->regs), \ |
| 23 | UPT_SYSCALL_ARG5(®s->regs), \ |
| 24 | UPT_SYSCALL_ARG6(®s->regs))) |
| 25 | |
| 26 | extern long old_mmap(unsigned long addr, unsigned long len, |
| 27 | unsigned long prot, unsigned long flags, |
| 28 | unsigned long fd, unsigned long pgoff); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | extern syscall_handler_t sys_modify_ldt; |
| 30 | extern syscall_handler_t sys_arch_prctl; |
| 31 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | #endif |