1b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0 200398a00SIngo Molnar /* System call table for i386. */ 300398a00SIngo Molnar 400398a00SIngo Molnar #include <linux/linkage.h> 500398a00SIngo Molnar #include <linux/sys.h> 600398a00SIngo Molnar #include <linux/cache.h> 7*25c619e5SBrian Gerst #include <linux/syscalls.h> 808720988SBrian Gerst #include <asm/unistd.h> 9034042ccSAndy Lutomirski #include <asm/syscall.h> 1000398a00SIngo Molnar 11cab56d34SBrian Gerst #define __SYSCALL_I386(nr, sym) extern asmlinkage long __ia32_##sym(const struct pt_regs *); 12ebeb8c82SDominik Brodowski 1300398a00SIngo Molnar #include <asm/syscalls_32.h> 1400398a00SIngo Molnar #undef __SYSCALL_I386 1500398a00SIngo Molnar 16cab56d34SBrian Gerst #define __SYSCALL_I386(nr, sym) [nr] = __ia32_##sym, 1700398a00SIngo Molnar 1808720988SBrian Gerst __visible const sys_call_ptr_t ia32_sys_call_table[__NR_ia32_syscall_max+1] = { 1900398a00SIngo Molnar /* 2000398a00SIngo Molnar * Smells like a compiler bug -- it doesn't work 2100398a00SIngo Molnar * when the & below is removed. 2200398a00SIngo Molnar */ 23*25c619e5SBrian Gerst [0 ... __NR_ia32_syscall_max] = &__ia32_sys_ni_syscall, 2400398a00SIngo Molnar #include <asm/syscalls_32.h> 2500398a00SIngo Molnar }; 26