xref: /linux/arch/x86/um/shared/sysdep/syscalls_64.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
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 
15 extern syscall_handler_t *sys_call_table[];
16 
17 #define EXECUTE_SYSCALL(syscall, regs) \
18 	(((long (*)(long, long, long, long, long, long)) \
19 	  (*sys_call_table[syscall]))(UPT_SYSCALL_ARG1(&regs->regs), \
20 		 		      UPT_SYSCALL_ARG2(&regs->regs), \
21 				      UPT_SYSCALL_ARG3(&regs->regs), \
22 				      UPT_SYSCALL_ARG4(&regs->regs), \
23 				      UPT_SYSCALL_ARG5(&regs->regs), \
24 				      UPT_SYSCALL_ARG6(&regs->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);
29 extern syscall_handler_t sys_modify_ldt;
30 extern syscall_handler_t sys_arch_prctl;
31 
32 #endif
33