blob: de87d6008295c5459aa1cbc9f41037829e1c82c8 [file] [log] [blame]
Paolo Ciarrocchi325f86e2008-02-19 21:02:16 +01001/* System call table for x86-64. */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002
3#include <linux/linkage.h>
4#include <linux/sys.h>
5#include <linux/cache.h>
Andi Kleen57a4f912007-05-02 19:27:18 +02006#include <asm/asm-offsets.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07007
8#define __NO_STUBS
9
Paolo Ciarrocchi325f86e2008-02-19 21:02:16 +010010#define __SYSCALL(nr, sym) extern asmlinkage void sym(void) ;
H. Peter Anvin1965aae2008-10-22 22:26:29 -070011#undef _ASM_X86_UNISTD_64_H
Thomas Gleixner96a388d2007-10-11 11:20:03 +020012#include <asm/unistd_64.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
14#undef __SYSCALL
Paolo Ciarrocchi325f86e2008-02-19 21:02:16 +010015#define __SYSCALL(nr, sym) [nr] = sym,
H. Peter Anvin1965aae2008-10-22 22:26:29 -070016#undef _ASM_X86_UNISTD_64_H
Linus Torvalds1da177e2005-04-16 15:20:36 -070017
Paolo Ciarrocchi325f86e2008-02-19 21:02:16 +010018typedef void (*sys_call_ptr_t)(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070019
20extern void sys_ni_syscall(void);
21
Arjan van de Venbb152f52006-01-06 00:12:05 -080022const sys_call_ptr_t sys_call_table[__NR_syscall_max+1] = {
Paolo Ciarrocchi325f86e2008-02-19 21:02:16 +010023 /*
24 *Smells like a like a compiler bug -- it doesn't work
25 *when the & below is removed.
26 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070027 [0 ... __NR_syscall_max] = &sys_ni_syscall,
Thomas Gleixner96a388d2007-10-11 11:20:03 +020028#include <asm/unistd_64.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070029};