1*b2441318SGreg 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> 700398a00SIngo Molnar #include <asm/asm-offsets.h> 8034042ccSAndy Lutomirski #include <asm/syscall.h> 900398a00SIngo Molnar 10cfcbadb4SAndy Lutomirski #define __SYSCALL_I386(nr, sym, qual) extern asmlinkage long sym(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) ; 1100398a00SIngo Molnar #include <asm/syscalls_32.h> 1200398a00SIngo Molnar #undef __SYSCALL_I386 1300398a00SIngo Molnar 14cfcbadb4SAndy Lutomirski #define __SYSCALL_I386(nr, sym, qual) [nr] = sym, 1500398a00SIngo Molnar 16eb974c62SAndy Lutomirski extern asmlinkage long sys_ni_syscall(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long); 1700398a00SIngo Molnar 18bace7117SIngo Molnar __visible const sys_call_ptr_t ia32_sys_call_table[__NR_syscall_compat_max+1] = { 1900398a00SIngo Molnar /* 2000398a00SIngo Molnar * Smells like a compiler bug -- it doesn't work 2100398a00SIngo Molnar * when the & below is removed. 2200398a00SIngo Molnar */ 23bace7117SIngo Molnar [0 ... __NR_syscall_compat_max] = &sys_ni_syscall, 2400398a00SIngo Molnar #include <asm/syscalls_32.h> 2500398a00SIngo Molnar }; 26