]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | // SPDX-License-Identifier: GPL-2.0 |
325f86ec | 2 | /* System call table for x86-64. */ |
1da177e4 LT |
3 | |
4 | #include <linux/linkage.h> | |
5 | #include <linux/sys.h> | |
6 | #include <linux/cache.h> | |
57a4f91a | 7 | #include <asm/asm-offsets.h> |
1599e8fc | 8 | #include <asm/syscall.h> |
1da177e4 | 9 | |
302f5b26 AL |
10 | #define __SYSCALL_64_QUAL_(sym) sym |
11 | #define __SYSCALL_64_QUAL_ptregs(sym) ptregs_##sym | |
12 | ||
13 | #define __SYSCALL_64(nr, sym, qual) extern asmlinkage long __SYSCALL_64_QUAL_##qual(sym)(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long); | |
303395ac PA |
14 | #include <asm/syscalls_64.h> |
15 | #undef __SYSCALL_64 | |
1da177e4 | 16 | |
302f5b26 | 17 | #define __SYSCALL_64(nr, sym, qual) [nr] = __SYSCALL_64_QUAL_##qual(sym), |
1da177e4 | 18 | |
eb974c62 | 19 | extern long sys_ni_syscall(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long); |
1da177e4 | 20 | |
e0e745e4 | 21 | asmlinkage const sys_call_ptr_t sys_call_table[__NR_syscall_max+1] = { |
325f86ec | 22 | /* |
b7641d2c PA |
23 | * Smells like a compiler bug -- it doesn't work |
24 | * when the & below is removed. | |
25 | */ | |
1da177e4 | 26 | [0 ... __NR_syscall_max] = &sys_ni_syscall, |
303395ac | 27 | #include <asm/syscalls_64.h> |
1da177e4 | 28 | }; |