| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | * Copyright (C) 2000 Jeff Dike (jdike@karaya.com) | 
|  | 3 | * Licensed under the GPL | 
|  | 4 | */ | 
|  | 5 |  | 
|  | 6 | typedef long syscall_handler_t(unsigned long arg1, unsigned long arg2, | 
|  | 7 | unsigned long arg3, unsigned long arg4, | 
|  | 8 | unsigned long arg5, unsigned long arg6); | 
|  | 9 |  | 
|  | 10 | #define EXECUTE_SYSCALL(syscall, regs) \ | 
|  | 11 | (*sys_call_table[syscall])(UM_SYSCALL_ARG1(®s), \ | 
|  | 12 | UM_SYSCALL_ARG2(®s), \ | 
|  | 13 | UM_SYSCALL_ARG3(®s), \ | 
|  | 14 | UM_SYSCALL_ARG4(®s), \ | 
|  | 15 | UM_SYSCALL_ARG5(®s), \ | 
|  | 16 | UM_SYSCALL_ARG6(®s)) | 
|  | 17 |  | 
|  | 18 | extern syscall_handler_t sys_mincore; | 
|  | 19 | extern syscall_handler_t sys_madvise; | 
|  | 20 |  | 
|  | 21 | /* old_mmap needs the correct prototype since syscall_kern.c includes | 
|  | 22 | * this file. | 
|  | 23 | */ | 
|  | 24 | int old_mmap(unsigned long addr, unsigned long len, | 
|  | 25 | unsigned long prot, unsigned long flags, | 
|  | 26 | unsigned long fd, unsigned long offset); | 
|  | 27 |  | 
|  | 28 | #define ARCH_SYSCALLS \ | 
|  | 29 | [ __NR_modify_ldt ] = sys_ni_syscall, \ | 
|  | 30 | [ __NR_pciconfig_read ] = sys_ni_syscall, \ | 
|  | 31 | [ __NR_pciconfig_write ] = sys_ni_syscall, \ | 
|  | 32 | [ __NR_pciconfig_iobase ] = sys_ni_syscall, \ | 
|  | 33 | [ __NR_pivot_root ] = sys_ni_syscall, \ | 
|  | 34 | [ __NR_multiplexer ] = sys_ni_syscall, \ | 
|  | 35 | [ __NR_mmap ] = old_mmap, \ | 
|  | 36 | [ __NR_madvise ] = sys_madvise, \ | 
|  | 37 | [ __NR_mincore ] = sys_mincore, \ | 
|  | 38 | [ __NR_iopl ] = (syscall_handler_t *) sys_ni_syscall, \ | 
|  | 39 | [ __NR_utimes ] = (syscall_handler_t *) sys_utimes, \ | 
|  | 40 | [ __NR_fadvise64 ] = (syscall_handler_t *) sys_fadvise64, | 
|  | 41 |  | 
|  | 42 | #define LAST_ARCH_SYSCALL __NR_fadvise64 | 
|  | 43 |  | 
|  | 44 | /* | 
|  | 45 | * Overrides for Emacs so that we follow Linus's tabbing style. | 
|  | 46 | * Emacs will notice this stuff at the end of the file and automatically | 
|  | 47 | * adjust the settings for this buffer only.  This must remain at the end | 
|  | 48 | * of the file. | 
|  | 49 | * --------------------------------------------------------------------------- | 
|  | 50 | * Local variables: | 
|  | 51 | * c-file-style: "linux" | 
|  | 52 | * End: | 
|  | 53 | */ |