1b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0 200398a00SIngo Molnar /* System call table for x86-64. */ 300398a00SIngo Molnar 400398a00SIngo Molnar #include <linux/linkage.h> 500398a00SIngo Molnar #include <linux/sys.h> 600398a00SIngo Molnar #include <linux/cache.h> 7f48f01a9SSami Tolvanen #include <linux/syscalls.h> 800398a00SIngo Molnar #include <asm/syscall.h> 900398a00SIngo Molnar 106218d0f6SMasahiro Yamada #define __SYSCALL(nr, sym) extern long __x64_##sym(const struct pt_regs *); 1100398a00SIngo Molnar #include <asm/syscalls_64.h> 126218d0f6SMasahiro Yamada #undef __SYSCALL 1300398a00SIngo Molnar 14*eb0f175bSLinus Torvalds /* 15*eb0f175bSLinus Torvalds * The sys_call_table[] is no longer used for system calls, but 16*eb0f175bSLinus Torvalds * kernel/trace/trace_syscalls.c still wants to know the system 17*eb0f175bSLinus Torvalds * call address. 18*eb0f175bSLinus Torvalds */ 1944fe4895SMasahiro Yamada #define __SYSCALL(nr, sym) __x64_##sym, 20*eb0f175bSLinus Torvalds const sys_call_ptr_t sys_call_table[] = { 2100398a00SIngo Molnar #include <asm/syscalls_64.h> 2200398a00SIngo Molnar }; 23*eb0f175bSLinus Torvalds #undef __SYSCALL 24*eb0f175bSLinus Torvalds 25*eb0f175bSLinus Torvalds #define __SYSCALL(nr, sym) case nr: return __x64_##sym(regs); 26*eb0f175bSLinus Torvalds x64_sys_call(const struct pt_regs * regs,unsigned int nr)27*eb0f175bSLinus Torvaldslong x64_sys_call(const struct pt_regs *regs, unsigned int nr) 28*eb0f175bSLinus Torvalds { 29*eb0f175bSLinus Torvalds switch (nr) { 30*eb0f175bSLinus Torvalds #include <asm/syscalls_64.h> 31*eb0f175bSLinus Torvalds default: return __x64_sys_ni_syscall(regs); 32*eb0f175bSLinus Torvalds } 33*eb0f175bSLinus Torvalds }; 34