blob: 4754ba0f5d9fa8a8fafb3b3c4774782f59933eac [file] [log] [blame]
H. Peter Anvin303395a2011-11-11 16:07:41 -08001/* System call table for ia32 emulation. */
2
3#include <linux/linkage.h>
4#include <linux/sys.h>
5#include <linux/cache.h>
6#include <asm/asm-offsets.h>
7
8#define __SYSCALL_I386(nr, sym, compat) extern asmlinkage void compat(void) ;
9#include <asm/syscalls_32.h>
10#undef __SYSCALL_I386
11
12#define __SYSCALL_I386(nr, sym, compat) [nr] = compat,
13
14typedef void (*sys_call_ptr_t)(void);
15
16extern void compat_ni_syscall(void);
17
18const sys_call_ptr_t ia32_sys_call_table[__NR_ia32_syscall_max+1] = {
19 /*
H. Peter Anvin61f1e7e2011-11-18 16:25:07 -080020 * Smells like a compiler bug -- it doesn't work
H. Peter Anvin303395a2011-11-11 16:07:41 -080021 * when the & below is removed.
22 */
23 [0 ... __NR_ia32_syscall_max] = &compat_ni_syscall,
24#include <asm/syscalls_32.h>
25};