Commit | Line | Data |
---|---|---|
303395ac PA |
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 | ||
2aa4a710 BG |
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 | |
2cd23553 | 13 | #define __NR_entry_INT80_compat_max __NR_syscall_max |
2aa4a710 BG |
14 | #endif |
15 | ||
16 | #define __SYSCALL_I386(nr, sym, compat) extern asmlinkage void SYM(sym, compat)(void) ; | |
303395ac PA |
17 | #include <asm/syscalls_32.h> |
18 | #undef __SYSCALL_I386 | |
19 | ||
2aa4a710 | 20 | #define __SYSCALL_I386(nr, sym, compat) [nr] = SYM(sym, compat), |
303395ac PA |
21 | |
22 | typedef asmlinkage void (*sys_call_ptr_t)(void); | |
23 | ||
24 | extern asmlinkage void sys_ni_syscall(void); | |
25 | ||
2cd23553 | 26 | __visible const sys_call_ptr_t ia32_sys_call_table[__NR_entry_INT80_compat_max+1] = { |
303395ac | 27 | /* |
61f1e7e2 | 28 | * Smells like a compiler bug -- it doesn't work |
303395ac PA |
29 | * when the & below is removed. |
30 | */ | |
2cd23553 | 31 | [0 ... __NR_entry_INT80_compat_max] = &sys_ni_syscall, |
303395ac PA |
32 | #include <asm/syscalls_32.h> |
33 | }; |