]>
Commit | Line | Data |
---|---|---|
325f86ec | 1 | /* System call table for x86-64. */ |
1da177e4 LT |
2 | |
3 | #include <linux/linkage.h> | |
4 | #include <linux/sys.h> | |
5 | #include <linux/cache.h> | |
57a4f91a | 6 | #include <asm/asm-offsets.h> |
1da177e4 | 7 | |
6630f11b | 8 | #define __SYSCALL_COMMON(nr, sym, compat) __SYSCALL_64(nr, sym, compat) |
a06c9bc0 PA |
9 | |
10 | #ifdef CONFIG_X86_X32_ABI | |
11 | # define __SYSCALL_X32(nr, sym, compat) __SYSCALL_64(nr, sym, compat) | |
12 | #else | |
13 | # define __SYSCALL_X32(nr, sym, compat) /* nothing */ | |
14 | #endif | |
6630f11b | 15 | |
303395ac PA |
16 | #define __SYSCALL_64(nr, sym, compat) extern asmlinkage void sym(void) ; |
17 | #include <asm/syscalls_64.h> | |
18 | #undef __SYSCALL_64 | |
1da177e4 | 19 | |
303395ac | 20 | #define __SYSCALL_64(nr, sym, compat) [nr] = sym, |
1da177e4 | 21 | |
325f86ec | 22 | typedef void (*sys_call_ptr_t)(void); |
1da177e4 LT |
23 | |
24 | extern void sys_ni_syscall(void); | |
25 | ||
bb152f53 | 26 | const sys_call_ptr_t sys_call_table[__NR_syscall_max+1] = { |
325f86ec | 27 | /* |
b7641d2c PA |
28 | * Smells like a compiler bug -- it doesn't work |
29 | * when the & below is removed. | |
30 | */ | |
1da177e4 | 31 | [0 ... __NR_syscall_max] = &sys_ni_syscall, |
303395ac | 32 | #include <asm/syscalls_64.h> |
1da177e4 | 33 | }; |