linux/arch/x86/ia32/syscall_ia32.c
<<
>>
Prefs
   1/* 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        /*
  20         * Smells like a compiler bug -- it doesn't work
  21         * when the & below is removed.
  22         */
  23        [0 ... __NR_ia32_syscall_max] = &compat_ni_syscall,
  24#include <asm/syscalls_32.h>
  25};
  26