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 8#ifdef CONFIG_IA32_EMULATION 9#define SYM(sym, compat) compat 10#else 11#define SYM(sym, compat) sym 12#define ia32_sys_call_table sys_call_table 13#define __NR_ia32_syscall_max __NR_syscall_max 14#endif 15 16#define __SYSCALL_I386(nr, sym, compat) extern asmlinkage void SYM(sym, compat)(void) ; 17#include <asm/syscalls_32.h> 18#undef __SYSCALL_I386 19 20#define __SYSCALL_I386(nr, sym, compat) [nr] = SYM(sym, compat), 21 22typedef asmlinkage void (*sys_call_ptr_t)(void); 23 24extern asmlinkage void sys_ni_syscall(void); 25 26__visible const sys_call_ptr_t ia32_sys_call_table[__NR_ia32_syscall_max+1] = { 27 /* 28 * Smells like a compiler bug -- it doesn't work 29 * when the & below is removed. 30 */ 31 [0 ... __NR_ia32_syscall_max] = &sys_ni_syscall, 32#include <asm/syscalls_32.h> 33}; 34