1 /* System call table for i386. */ 2 3 #include <linux/linkage.h> 4 #include <linux/sys.h> 5 #include <linux/cache.h> 6 #include <asm/asm-offsets.h> 7 #include <asm/syscall.h> 8 9 #ifdef CONFIG_IA32_EMULATION 10 #define SYM(sym, compat) compat 11 #else 12 #define SYM(sym, compat) sym 13 #endif 14 15 #define __SYSCALL_I386(nr, sym, compat) extern asmlinkage long SYM(sym, compat)(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) ; 16 #include <asm/syscalls_32.h> 17 #undef __SYSCALL_I386 18 19 #define __SYSCALL_I386(nr, sym, compat) [nr] = SYM(sym, compat), 20 21 extern asmlinkage long sys_ni_syscall(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long); 22 23 __visible const sys_call_ptr_t ia32_sys_call_table[__NR_syscall_compat_max+1] = { 24 /* 25 * Smells like a compiler bug -- it doesn't work 26 * when the & below is removed. 27 */ 28 [0 ... __NR_syscall_compat_max] = &sys_ni_syscall, 29 #include <asm/syscalls_32.h> 30 }; 31