blob: 9d498c2f8eea89635581d3deaac5a64c592f7882 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* System call table for x86-64. */
2
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
10#define __SYSCALL(nr, sym) extern asmlinkage void sym(void) ;
11#undef _ASM_X86_64_UNISTD_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
15#define __SYSCALL(nr, sym) [ nr ] = sym,
16#undef _ASM_X86_64_UNISTD_H_
17
18typedef void (*sys_call_ptr_t)(void);
19
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] = {
Linus Torvalds1da177e2005-04-16 15:20:36 -070023 /* Smells like a like a compiler bug -- it doesn't work when the & below is removed. */
24 [0 ... __NR_syscall_max] = &sys_ni_syscall,
Thomas Gleixner96a388d2007-10-11 11:20:03 +020025#include <asm/unistd_64.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070026};