2011-12-05 16:08:49 -08:00
/*
* System call table for UML / i386 , copied from arch / x86 / kernel / syscall_ * . c
* with some changes for UML .
*/
# include <linux/linkage.h>
# include <linux/sys.h>
# include <linux/cache.h>
# include <generated/user_constants.h>
2015-10-05 17:48:06 -07:00
# include <asm/syscall.h>
2011-12-05 16:08:49 -08:00
# define __NO_STUBS
/*
* Below you can see , in terms of # define ' s , the differences between the x86 - 64
* and the UML syscall table .
*/
/* Not going to be implemented by UML, since we have no hardware. */
2011-12-09 11:13:59 -08:00
# define sys_iopl sys_ni_syscall
2011-12-05 16:08:49 -08:00
# define sys_ioperm sys_ni_syscall
# define sys_vm86old sys_ni_syscall
# define sys_vm86 sys_ni_syscall
# define old_mmap sys_old_mmap
2016-01-28 15:11:23 -08:00
# define __SYSCALL_I386(nr, sym) extern asmlinkage long sym(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) ;
2011-12-05 16:08:49 -08:00
# include <asm/syscalls_32.h>
# undef __SYSCALL_I386
2016-01-28 15:11:23 -08:00
# define __SYSCALL_I386(nr, sym) [ nr ] = sym,
2011-12-05 16:08:49 -08:00
2015-10-05 17:48:07 -07:00
extern asmlinkage long sys_ni_syscall ( unsigned long , unsigned long , unsigned long , unsigned long , unsigned long , unsigned long ) ;
2011-12-05 16:08:49 -08:00
2015-01-03 13:11:10 +01:00
const sys_call_ptr_t sys_call_table [ ] ____cacheline_aligned = {
2011-12-05 16:08:49 -08:00
/*
* Smells like a compiler bug - - it doesn ' t work
* when the & below is removed .
*/
[ 0 . . . __NR_syscall_max ] = & sys_ni_syscall ,
# include <asm/syscalls_32.h>
} ;
int syscall_table_size = sizeof ( sys_call_table ) ;