linux/include/asm-mips/unistd.h
<<
>>
Prefs
   1/*
   2 * This file is subject to the terms and conditions of the GNU General Public
   3 * License.  See the file "COPYING" in the main directory of this archive
   4 * for more details.
   5 *
   6 * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle
   7 * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
   8 *
   9 * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto
  10 * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A
  11 */
  12#ifndef _ASM_UNISTD_H
  13#define _ASM_UNISTD_H
  14
  15#include <asm/sgidefs.h>
  16
  17#if _MIPS_SIM == _MIPS_SIM_ABI32
  18
  19/*
  20 * Linux o32 style syscalls are in the range from 4000 to 4999.
  21 */
  22#define __NR_Linux                      4000
  23#define __NR_syscall                    (__NR_Linux +   0)
  24#define __NR_exit                       (__NR_Linux +   1)
  25#define __NR_fork                       (__NR_Linux +   2)
  26#define __NR_read                       (__NR_Linux +   3)
  27#define __NR_write                      (__NR_Linux +   4)
  28#define __NR_open                       (__NR_Linux +   5)
  29#define __NR_close                      (__NR_Linux +   6)
  30#define __NR_waitpid                    (__NR_Linux +   7)
  31#define __NR_creat                      (__NR_Linux +   8)
  32#define __NR_link                       (__NR_Linux +   9)
  33#define __NR_unlink                     (__NR_Linux +  10)
  34#define __NR_execve                     (__NR_Linux +  11)
  35#define __NR_chdir                      (__NR_Linux +  12)
  36#define __NR_time                       (__NR_Linux +  13)
  37#define __NR_mknod                      (__NR_Linux +  14)
  38#define __NR_chmod                      (__NR_Linux +  15)
  39#define __NR_lchown                     (__NR_Linux +  16)
  40#define __NR_break                      (__NR_Linux +  17)
  41#define __NR_unused18                   (__NR_Linux +  18)
  42#define __NR_lseek                      (__NR_Linux +  19)
  43#define __NR_getpid                     (__NR_Linux +  20)
  44#define __NR_mount                      (__NR_Linux +  21)
  45#define __NR_umount                     (__NR_Linux +  22)
  46#define __NR_setuid                     (__NR_Linux +  23)
  47#define __NR_getuid                     (__NR_Linux +  24)
  48#define __NR_stime                      (__NR_Linux +  25)
  49#define __NR_ptrace                     (__NR_Linux +  26)
  50#define __NR_alarm                      (__NR_Linux +  27)
  51#define __NR_unused28                   (__NR_Linux +  28)
  52#define __NR_pause                      (__NR_Linux +  29)
  53#define __NR_utime                      (__NR_Linux +  30)
  54#define __NR_stty                       (__NR_Linux +  31)
  55#define __NR_gtty                       (__NR_Linux +  32)
  56#define __NR_access                     (__NR_Linux +  33)
  57#define __NR_nice                       (__NR_Linux +  34)
  58#define __NR_ftime                      (__NR_Linux +  35)
  59#define __NR_sync                       (__NR_Linux +  36)
  60#define __NR_kill                       (__NR_Linux +  37)
  61#define __NR_rename                     (__NR_Linux +  38)
  62#define __NR_mkdir                      (__NR_Linux +  39)
  63#define __NR_rmdir                      (__NR_Linux +  40)
  64#define __NR_dup                        (__NR_Linux +  41)
  65#define __NR_pipe                       (__NR_Linux +  42)
  66#define __NR_times                      (__NR_Linux +  43)
  67#define __NR_prof                       (__NR_Linux +  44)
  68#define __NR_brk                        (__NR_Linux +  45)
  69#define __NR_setgid                     (__NR_Linux +  46)
  70#define __NR_getgid                     (__NR_Linux +  47)
  71#define __NR_signal                     (__NR_Linux +  48)
  72#define __NR_geteuid                    (__NR_Linux +  49)
  73#define __NR_getegid                    (__NR_Linux +  50)
  74#define __NR_acct                       (__NR_Linux +  51)
  75#define __NR_umount2                    (__NR_Linux +  52)
  76#define __NR_lock                       (__NR_Linux +  53)
  77#define __NR_ioctl                      (__NR_Linux +  54)
  78#define __NR_fcntl                      (__NR_Linux +  55)
  79#define __NR_mpx                        (__NR_Linux +  56)
  80#define __NR_setpgid                    (__NR_Linux +  57)
  81#define __NR_ulimit                     (__NR_Linux +  58)
  82#define __NR_unused59                   (__NR_Linux +  59)
  83#define __NR_umask                      (__NR_Linux +  60)
  84#define __NR_chroot                     (__NR_Linux +  61)
  85#define __NR_ustat                      (__NR_Linux +  62)
  86#define __NR_dup2                       (__NR_Linux +  63)
  87#define __NR_getppid                    (__NR_Linux +  64)
  88#define __NR_getpgrp                    (__NR_Linux +  65)
  89#define __NR_setsid                     (__NR_Linux +  66)
  90#define __NR_sigaction                  (__NR_Linux +  67)
  91#define __NR_sgetmask                   (__NR_Linux +  68)
  92#define __NR_ssetmask                   (__NR_Linux +  69)
  93#define __NR_setreuid                   (__NR_Linux +  70)
  94#define __NR_setregid                   (__NR_Linux +  71)
  95#define __NR_sigsuspend                 (__NR_Linux +  72)
  96#define __NR_sigpending                 (__NR_Linux +  73)
  97#define __NR_sethostname                (__NR_Linux +  74)
  98#define __NR_setrlimit                  (__NR_Linux +  75)
  99#define __NR_getrlimit                  (__NR_Linux +  76)
 100#define __NR_getrusage                  (__NR_Linux +  77)
 101#define __NR_gettimeofday               (__NR_Linux +  78)
 102#define __NR_settimeofday               (__NR_Linux +  79)
 103#define __NR_getgroups                  (__NR_Linux +  80)
 104#define __NR_setgroups                  (__NR_Linux +  81)
 105#define __NR_reserved82                 (__NR_Linux +  82)
 106#define __NR_symlink                    (__NR_Linux +  83)
 107#define __NR_unused84                   (__NR_Linux +  84)
 108#define __NR_readlink                   (__NR_Linux +  85)
 109#define __NR_uselib                     (__NR_Linux +  86)
 110#define __NR_swapon                     (__NR_Linux +  87)
 111#define __NR_reboot                     (__NR_Linux +  88)
 112#define __NR_readdir                    (__NR_Linux +  89)
 113#define __NR_mmap                       (__NR_Linux +  90)
 114#define __NR_munmap                     (__NR_Linux +  91)
 115#define __NR_truncate                   (__NR_Linux +  92)
 116#define __NR_ftruncate                  (__NR_Linux +  93)
 117#define __NR_fchmod                     (__NR_Linux +  94)
 118#define __NR_fchown                     (__NR_Linux +  95)
 119#define __NR_getpriority                (__NR_Linux +  96)
 120#define __NR_setpriority                (__NR_Linux +  97)
 121#define __NR_profil                     (__NR_Linux +  98)
 122#define __NR_statfs                     (__NR_Linux +  99)
 123#define __NR_fstatfs                    (__NR_Linux + 100)
 124#define __NR_ioperm                     (__NR_Linux + 101)
 125#define __NR_socketcall                 (__NR_Linux + 102)
 126#define __NR_syslog                     (__NR_Linux + 103)
 127#define __NR_setitimer                  (__NR_Linux + 104)
 128#define __NR_getitimer                  (__NR_Linux + 105)
 129#define __NR_stat                       (__NR_Linux + 106)
 130#define __NR_lstat                      (__NR_Linux + 107)
 131#define __NR_fstat                      (__NR_Linux + 108)
 132#define __NR_unused109                  (__NR_Linux + 109)
 133#define __NR_iopl                       (__NR_Linux + 110)
 134#define __NR_vhangup                    (__NR_Linux + 111)
 135#define __NR_idle                       (__NR_Linux + 112)
 136#define __NR_vm86                       (__NR_Linux + 113)
 137#define __NR_wait4                      (__NR_Linux + 114)
 138#define __NR_swapoff                    (__NR_Linux + 115)
 139#define __NR_sysinfo                    (__NR_Linux + 116)
 140#define __NR_ipc                        (__NR_Linux + 117)
 141#define __NR_fsync                      (__NR_Linux + 118)
 142#define __NR_sigreturn                  (__NR_Linux + 119)
 143#define __NR_clone                      (__NR_Linux + 120)
 144#define __NR_setdomainname              (__NR_Linux + 121)
 145#define __NR_uname                      (__NR_Linux + 122)
 146#define __NR_modify_ldt                 (__NR_Linux + 123)
 147#define __NR_adjtimex                   (__NR_Linux + 124)
 148#define __NR_mprotect                   (__NR_Linux + 125)
 149#define __NR_sigprocmask                (__NR_Linux + 126)
 150#define __NR_create_module              (__NR_Linux + 127)
 151#define __NR_init_module                (__NR_Linux + 128)
 152#define __NR_delete_module              (__NR_Linux + 129)
 153#define __NR_get_kernel_syms            (__NR_Linux + 130)
 154#define __NR_quotactl                   (__NR_Linux + 131)
 155#define __NR_getpgid                    (__NR_Linux + 132)
 156#define __NR_fchdir                     (__NR_Linux + 133)
 157#define __NR_bdflush                    (__NR_Linux + 134)
 158#define __NR_sysfs                      (__NR_Linux + 135)
 159#define __NR_personality                (__NR_Linux + 136)
 160#define __NR_afs_syscall                (__NR_Linux + 137) /* Syscall for Andrew File System */
 161#define __NR_setfsuid                   (__NR_Linux + 138)
 162#define __NR_setfsgid                   (__NR_Linux + 139)
 163#define __NR__llseek                    (__NR_Linux + 140)
 164#define __NR_getdents                   (__NR_Linux + 141)
 165#define __NR__newselect                 (__NR_Linux + 142)
 166#define __NR_flock                      (__NR_Linux + 143)
 167#define __NR_msync                      (__NR_Linux + 144)
 168#define __NR_readv                      (__NR_Linux + 145)
 169#define __NR_writev                     (__NR_Linux + 146)
 170#define __NR_cacheflush                 (__NR_Linux + 147)
 171#define __NR_cachectl                   (__NR_Linux + 148)
 172#define __NR_sysmips                    (__NR_Linux + 149)
 173#define __NR_unused150                  (__NR_Linux + 150)
 174#define __NR_getsid                     (__NR_Linux + 151)
 175#define __NR_fdatasync                  (__NR_Linux + 152)
 176#define __NR__sysctl                    (__NR_Linux + 153)
 177#define __NR_mlock                      (__NR_Linux + 154)
 178#define __NR_munlock                    (__NR_Linux + 155)
 179#define __NR_mlockall                   (__NR_Linux + 156)
 180#define __NR_munlockall                 (__NR_Linux + 157)
 181#define __NR_sched_setparam             (__NR_Linux + 158)
 182#define __NR_sched_getparam             (__NR_Linux + 159)
 183#define __NR_sched_setscheduler         (__NR_Linux + 160)
 184#define __NR_sched_getscheduler         (__NR_Linux + 161)
 185#define __NR_sched_yield                (__NR_Linux + 162)
 186#define __NR_sched_get_priority_max     (__NR_Linux + 163)
 187#define __NR_sched_get_priority_min     (__NR_Linux + 164)
 188#define __NR_sched_rr_get_interval      (__NR_Linux + 165)
 189#define __NR_nanosleep                  (__NR_Linux + 166)
 190#define __NR_mremap                     (__NR_Linux + 167)
 191#define __NR_accept                     (__NR_Linux + 168)
 192#define __NR_bind                       (__NR_Linux + 169)
 193#define __NR_connect                    (__NR_Linux + 170)
 194#define __NR_getpeername                (__NR_Linux + 171)
 195#define __NR_getsockname                (__NR_Linux + 172)
 196#define __NR_getsockopt                 (__NR_Linux + 173)
 197#define __NR_listen                     (__NR_Linux + 174)
 198#define __NR_recv                       (__NR_Linux + 175)
 199#define __NR_recvfrom                   (__NR_Linux + 176)
 200#define __NR_recvmsg                    (__NR_Linux + 177)
 201#define __NR_send                       (__NR_Linux + 178)
 202#define __NR_sendmsg                    (__NR_Linux + 179)
 203#define __NR_sendto                     (__NR_Linux + 180)
 204#define __NR_setsockopt                 (__NR_Linux + 181)
 205#define __NR_shutdown                   (__NR_Linux + 182)
 206#define __NR_socket                     (__NR_Linux + 183)
 207#define __NR_socketpair                 (__NR_Linux + 184)
 208#define __NR_setresuid                  (__NR_Linux + 185)
 209#define __NR_getresuid                  (__NR_Linux + 186)
 210#define __NR_query_module               (__NR_Linux + 187)
 211#define __NR_poll                       (__NR_Linux + 188)
 212#define __NR_nfsservctl                 (__NR_Linux + 189)
 213#define __NR_setresgid                  (__NR_Linux + 190)
 214#define __NR_getresgid                  (__NR_Linux + 191)
 215#define __NR_prctl                      (__NR_Linux + 192)
 216#define __NR_rt_sigreturn               (__NR_Linux + 193)
 217#define __NR_rt_sigaction               (__NR_Linux + 194)
 218#define __NR_rt_sigprocmask             (__NR_Linux + 195)
 219#define __NR_rt_sigpending              (__NR_Linux + 196)
 220#define __NR_rt_sigtimedwait            (__NR_Linux + 197)
 221#define __NR_rt_sigqueueinfo            (__NR_Linux + 198)
 222#define __NR_rt_sigsuspend              (__NR_Linux + 199)
 223#define __NR_pread64                    (__NR_Linux + 200)
 224#define __NR_pwrite64                   (__NR_Linux + 201)
 225#define __NR_chown                      (__NR_Linux + 202)
 226#define __NR_getcwd                     (__NR_Linux + 203)
 227#define __NR_capget                     (__NR_Linux + 204)
 228#define __NR_capset                     (__NR_Linux + 205)
 229#define __NR_sigaltstack                (__NR_Linux + 206)
 230#define __NR_sendfile                   (__NR_Linux + 207)
 231#define __NR_getpmsg                    (__NR_Linux + 208)
 232#define __NR_putpmsg                    (__NR_Linux + 209)
 233#define __NR_mmap2                      (__NR_Linux + 210)
 234#define __NR_truncate64                 (__NR_Linux + 211)
 235#define __NR_ftruncate64                (__NR_Linux + 212)
 236#define __NR_stat64                     (__NR_Linux + 213)
 237#define __NR_lstat64                    (__NR_Linux + 214)
 238#define __NR_fstat64                    (__NR_Linux + 215)
 239#define __NR_pivot_root                 (__NR_Linux + 216)
 240#define __NR_mincore                    (__NR_Linux + 217)
 241#define __NR_madvise                    (__NR_Linux + 218)
 242#define __NR_getdents64                 (__NR_Linux + 219)
 243#define __NR_fcntl64                    (__NR_Linux + 220)
 244#define __NR_reserved221                (__NR_Linux + 221)
 245#define __NR_gettid                     (__NR_Linux + 222)
 246#define __NR_readahead                  (__NR_Linux + 223)
 247#define __NR_setxattr                   (__NR_Linux + 224)
 248#define __NR_lsetxattr                  (__NR_Linux + 225)
 249#define __NR_fsetxattr                  (__NR_Linux + 226)
 250#define __NR_getxattr                   (__NR_Linux + 227)
 251#define __NR_lgetxattr                  (__NR_Linux + 228)
 252#define __NR_fgetxattr                  (__NR_Linux + 229)
 253#define __NR_listxattr                  (__NR_Linux + 230)
 254#define __NR_llistxattr                 (__NR_Linux + 231)
 255#define __NR_flistxattr                 (__NR_Linux + 232)
 256#define __NR_removexattr                (__NR_Linux + 233)
 257#define __NR_lremovexattr               (__NR_Linux + 234)
 258#define __NR_fremovexattr               (__NR_Linux + 235)
 259#define __NR_tkill                      (__NR_Linux + 236)
 260#define __NR_sendfile64                 (__NR_Linux + 237)
 261#define __NR_futex                      (__NR_Linux + 238)
 262#define __NR_sched_setaffinity          (__NR_Linux + 239)
 263#define __NR_sched_getaffinity          (__NR_Linux + 240)
 264#define __NR_io_setup                   (__NR_Linux + 241)
 265#define __NR_io_destroy                 (__NR_Linux + 242)
 266#define __NR_io_getevents               (__NR_Linux + 243)
 267#define __NR_io_submit                  (__NR_Linux + 244)
 268#define __NR_io_cancel                  (__NR_Linux + 245)
 269#define __NR_exit_group                 (__NR_Linux + 246)
 270#define __NR_lookup_dcookie             (__NR_Linux + 247)
 271#define __NR_epoll_create               (__NR_Linux + 248)
 272#define __NR_epoll_ctl                  (__NR_Linux + 249)
 273#define __NR_epoll_wait                 (__NR_Linux + 250)
 274#define __NR_remap_file_pages           (__NR_Linux + 251)
 275#define __NR_set_tid_address            (__NR_Linux + 252)
 276#define __NR_restart_syscall            (__NR_Linux + 253)
 277#define __NR_fadvise64                  (__NR_Linux + 254)
 278#define __NR_statfs64                   (__NR_Linux + 255)
 279#define __NR_fstatfs64                  (__NR_Linux + 256)
 280#define __NR_timer_create               (__NR_Linux + 257)
 281#define __NR_timer_settime              (__NR_Linux + 258)
 282#define __NR_timer_gettime              (__NR_Linux + 259)
 283#define __NR_timer_getoverrun           (__NR_Linux + 260)
 284#define __NR_timer_delete               (__NR_Linux + 261)
 285#define __NR_clock_settime              (__NR_Linux + 262)
 286#define __NR_clock_gettime              (__NR_Linux + 263)
 287#define __NR_clock_getres               (__NR_Linux + 264)
 288#define __NR_clock_nanosleep            (__NR_Linux + 265)
 289#define __NR_tgkill                     (__NR_Linux + 266)
 290#define __NR_utimes                     (__NR_Linux + 267)
 291#define __NR_mbind                      (__NR_Linux + 268)
 292#define __NR_get_mempolicy              (__NR_Linux + 269)
 293#define __NR_set_mempolicy              (__NR_Linux + 270)
 294#define __NR_mq_open                    (__NR_Linux + 271)
 295#define __NR_mq_unlink                  (__NR_Linux + 272)
 296#define __NR_mq_timedsend               (__NR_Linux + 273)
 297#define __NR_mq_timedreceive            (__NR_Linux + 274)
 298#define __NR_mq_notify                  (__NR_Linux + 275)
 299#define __NR_mq_getsetattr              (__NR_Linux + 276)
 300#define __NR_vserver                    (__NR_Linux + 277)
 301#define __NR_waitid                     (__NR_Linux + 278)
 302/* #define __NR_sys_setaltroot          (__NR_Linux + 279) */
 303#define __NR_add_key                    (__NR_Linux + 280)
 304#define __NR_request_key                (__NR_Linux + 281)
 305#define __NR_keyctl                     (__NR_Linux + 282)
 306
 307/*
 308 * Offset of the last Linux o32 flavoured syscall
 309 */
 310#define __NR_Linux_syscalls             282
 311
 312#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
 313
 314#define __NR_O32_Linux                  4000
 315#define __NR_O32_Linux_syscalls         282
 316
 317#if _MIPS_SIM == _MIPS_SIM_ABI64
 318
 319/*
 320 * Linux 64-bit syscalls are in the range from 5000 to 5999.
 321 */
 322#define __NR_Linux                      5000
 323#define __NR_read                       (__NR_Linux +   0)
 324#define __NR_write                      (__NR_Linux +   1)
 325#define __NR_open                       (__NR_Linux +   2)
 326#define __NR_close                      (__NR_Linux +   3)
 327#define __NR_stat                       (__NR_Linux +   4)
 328#define __NR_fstat                      (__NR_Linux +   5)
 329#define __NR_lstat                      (__NR_Linux +   6)
 330#define __NR_poll                       (__NR_Linux +   7)
 331#define __NR_lseek                      (__NR_Linux +   8)
 332#define __NR_mmap                       (__NR_Linux +   9)
 333#define __NR_mprotect                   (__NR_Linux +  10)
 334#define __NR_munmap                     (__NR_Linux +  11)
 335#define __NR_brk                        (__NR_Linux +  12)
 336#define __NR_rt_sigaction               (__NR_Linux +  13)
 337#define __NR_rt_sigprocmask             (__NR_Linux +  14)
 338#define __NR_ioctl                      (__NR_Linux +  15)
 339#define __NR_pread64                    (__NR_Linux +  16)
 340#define __NR_pwrite64                   (__NR_Linux +  17)
 341#define __NR_readv                      (__NR_Linux +  18)
 342#define __NR_writev                     (__NR_Linux +  19)
 343#define __NR_access                     (__NR_Linux +  20)
 344#define __NR_pipe                       (__NR_Linux +  21)
 345#define __NR__newselect                 (__NR_Linux +  22)
 346#define __NR_sched_yield                (__NR_Linux +  23)
 347#define __NR_mremap                     (__NR_Linux +  24)
 348#define __NR_msync                      (__NR_Linux +  25)
 349#define __NR_mincore                    (__NR_Linux +  26)
 350#define __NR_madvise                    (__NR_Linux +  27)
 351#define __NR_shmget                     (__NR_Linux +  28)
 352#define __NR_shmat                      (__NR_Linux +  29)
 353#define __NR_shmctl                     (__NR_Linux +  30)
 354#define __NR_dup                        (__NR_Linux +  31)
 355#define __NR_dup2                       (__NR_Linux +  32)
 356#define __NR_pause                      (__NR_Linux +  33)
 357#define __NR_nanosleep                  (__NR_Linux +  34)
 358#define __NR_getitimer                  (__NR_Linux +  35)
 359#define __NR_setitimer                  (__NR_Linux +  36)
 360#define __NR_alarm                      (__NR_Linux +  37)
 361#define __NR_getpid                     (__NR_Linux +  38)
 362#define __NR_sendfile                   (__NR_Linux +  39)
 363#define __NR_socket                     (__NR_Linux +  40)
 364#define __NR_connect                    (__NR_Linux +  41)
 365#define __NR_accept                     (__NR_Linux +  42)
 366#define __NR_sendto                     (__NR_Linux +  43)
 367#define __NR_recvfrom                   (__NR_Linux +  44)
 368#define __NR_sendmsg                    (__NR_Linux +  45)
 369#define __NR_recvmsg                    (__NR_Linux +  46)
 370#define __NR_shutdown                   (__NR_Linux +  47)
 371#define __NR_bind                       (__NR_Linux +  48)
 372#define __NR_listen                     (__NR_Linux +  49)
 373#define __NR_getsockname                (__NR_Linux +  50)
 374#define __NR_getpeername                (__NR_Linux +  51)
 375#define __NR_socketpair                 (__NR_Linux +  52)
 376#define __NR_setsockopt                 (__NR_Linux +  53)
 377#define __NR_getsockopt                 (__NR_Linux +  54)
 378#define __NR_clone                      (__NR_Linux +  55)
 379#define __NR_fork                       (__NR_Linux +  56)
 380#define __NR_execve                     (__NR_Linux +  57)
 381#define __NR_exit                       (__NR_Linux +  58)
 382#define __NR_wait4                      (__NR_Linux +  59)
 383#define __NR_kill                       (__NR_Linux +  60)
 384#define __NR_uname                      (__NR_Linux +  61)
 385#define __NR_semget                     (__NR_Linux +  62)
 386#define __NR_semop                      (__NR_Linux +  63)
 387#define __NR_semctl                     (__NR_Linux +  64)
 388#define __NR_shmdt                      (__NR_Linux +  65)
 389#define __NR_msgget                     (__NR_Linux +  66)
 390#define __NR_msgsnd                     (__NR_Linux +  67)
 391#define __NR_msgrcv                     (__NR_Linux +  68)
 392#define __NR_msgctl                     (__NR_Linux +  69)
 393#define __NR_fcntl                      (__NR_Linux +  70)
 394#define __NR_flock                      (__NR_Linux +  71)
 395#define __NR_fsync                      (__NR_Linux +  72)
 396#define __NR_fdatasync                  (__NR_Linux +  73)
 397#define __NR_truncate                   (__NR_Linux +  74)
 398#define __NR_ftruncate                  (__NR_Linux +  75)
 399#define __NR_getdents                   (__NR_Linux +  76)
 400#define __NR_getcwd                     (__NR_Linux +  77)
 401#define __NR_chdir                      (__NR_Linux +  78)
 402#define __NR_fchdir                     (__NR_Linux +  79)
 403#define __NR_rename                     (__NR_Linux +  80)
 404#define __NR_mkdir                      (__NR_Linux +  81)
 405#define __NR_rmdir                      (__NR_Linux +  82)
 406#define __NR_creat                      (__NR_Linux +  83)
 407#define __NR_link                       (__NR_Linux +  84)
 408#define __NR_unlink                     (__NR_Linux +  85)
 409#define __NR_symlink                    (__NR_Linux +  86)
 410#define __NR_readlink                   (__NR_Linux +  87)
 411#define __NR_chmod                      (__NR_Linux +  88)
 412#define __NR_fchmod                     (__NR_Linux +  89)
 413#define __NR_chown                      (__NR_Linux +  90)
 414#define __NR_fchown                     (__NR_Linux +  91)
 415#define __NR_lchown                     (__NR_Linux +  92)
 416#define __NR_umask                      (__NR_Linux +  93)
 417#define __NR_gettimeofday               (__NR_Linux +  94)
 418#define __NR_getrlimit                  (__NR_Linux +  95)
 419#define __NR_getrusage                  (__NR_Linux +  96)
 420#define __NR_sysinfo                    (__NR_Linux +  97)
 421#define __NR_times                      (__NR_Linux +  98)
 422#define __NR_ptrace                     (__NR_Linux +  99)
 423#define __NR_getuid                     (__NR_Linux + 100)
 424#define __NR_syslog                     (__NR_Linux + 101)
 425#define __NR_getgid                     (__NR_Linux + 102)
 426#define __NR_setuid                     (__NR_Linux + 103)
 427#define __NR_setgid                     (__NR_Linux + 104)
 428#define __NR_geteuid                    (__NR_Linux + 105)
 429#define __NR_getegid                    (__NR_Linux + 106)
 430#define __NR_setpgid                    (__NR_Linux + 107)
 431#define __NR_getppid                    (__NR_Linux + 108)
 432#define __NR_getpgrp                    (__NR_Linux + 109)
 433#define __NR_setsid                     (__NR_Linux + 110)
 434#define __NR_setreuid                   (__NR_Linux + 111)
 435#define __NR_setregid                   (__NR_Linux + 112)
 436#define __NR_getgroups                  (__NR_Linux + 113)
 437#define __NR_setgroups                  (__NR_Linux + 114)
 438#define __NR_setresuid                  (__NR_Linux + 115)
 439#define __NR_getresuid                  (__NR_Linux + 116)
 440#define __NR_setresgid                  (__NR_Linux + 117)
 441#define __NR_getresgid                  (__NR_Linux + 118)
 442#define __NR_getpgid                    (__NR_Linux + 119)
 443#define __NR_setfsuid                   (__NR_Linux + 120)
 444#define __NR_setfsgid                   (__NR_Linux + 121)
 445#define __NR_getsid                     (__NR_Linux + 122)
 446#define __NR_capget                     (__NR_Linux + 123)
 447#define __NR_capset                     (__NR_Linux + 124)
 448#define __NR_rt_sigpending              (__NR_Linux + 125)
 449#define __NR_rt_sigtimedwait            (__NR_Linux + 126)
 450#define __NR_rt_sigqueueinfo            (__NR_Linux + 127)
 451#define __NR_rt_sigsuspend              (__NR_Linux + 128)
 452#define __NR_sigaltstack                (__NR_Linux + 129)
 453#define __NR_utime                      (__NR_Linux + 130)
 454#define __NR_mknod                      (__NR_Linux + 131)
 455#define __NR_personality                (__NR_Linux + 132)
 456#define __NR_ustat                      (__NR_Linux + 133)
 457#define __NR_statfs                     (__NR_Linux + 134)
 458#define __NR_fstatfs                    (__NR_Linux + 135)
 459#define __NR_sysfs                      (__NR_Linux + 136)
 460#define __NR_getpriority                (__NR_Linux + 137)
 461#define __NR_setpriority                (__NR_Linux + 138)
 462#define __NR_sched_setparam             (__NR_Linux + 139)
 463#define __NR_sched_getparam             (__NR_Linux + 140)
 464#define __NR_sched_setscheduler         (__NR_Linux + 141)
 465#define __NR_sched_getscheduler         (__NR_Linux + 142)
 466#define __NR_sched_get_priority_max     (__NR_Linux + 143)
 467#define __NR_sched_get_priority_min     (__NR_Linux + 144)
 468#define __NR_sched_rr_get_interval      (__NR_Linux + 145)
 469#define __NR_mlock                      (__NR_Linux + 146)
 470#define __NR_munlock                    (__NR_Linux + 147)
 471#define __NR_mlockall                   (__NR_Linux + 148)
 472#define __NR_munlockall                 (__NR_Linux + 149)
 473#define __NR_vhangup                    (__NR_Linux + 150)
 474#define __NR_pivot_root                 (__NR_Linux + 151)
 475#define __NR__sysctl                    (__NR_Linux + 152)
 476#define __NR_prctl                      (__NR_Linux + 153)
 477#define __NR_adjtimex                   (__NR_Linux + 154)
 478#define __NR_setrlimit                  (__NR_Linux + 155)
 479#define __NR_chroot                     (__NR_Linux + 156)
 480#define __NR_sync                       (__NR_Linux + 157)
 481#define __NR_acct                       (__NR_Linux + 158)
 482#define __NR_settimeofday               (__NR_Linux + 159)
 483#define __NR_mount                      (__NR_Linux + 160)
 484#define __NR_umount2                    (__NR_Linux + 161)
 485#define __NR_swapon                     (__NR_Linux + 162)
 486#define __NR_swapoff                    (__NR_Linux + 163)
 487#define __NR_reboot                     (__NR_Linux + 164)
 488#define __NR_sethostname                (__NR_Linux + 165)
 489#define __NR_setdomainname              (__NR_Linux + 166)
 490#define __NR_create_module              (__NR_Linux + 167)
 491#define __NR_init_module                (__NR_Linux + 168)
 492#define __NR_delete_module              (__NR_Linux + 169)
 493#define __NR_get_kernel_syms            (__NR_Linux + 170)
 494#define __NR_query_module               (__NR_Linux + 171)
 495#define __NR_quotactl                   (__NR_Linux + 172)
 496#define __NR_nfsservctl                 (__NR_Linux + 173)
 497#define __NR_getpmsg                    (__NR_Linux + 174)
 498#define __NR_putpmsg                    (__NR_Linux + 175)
 499#define __NR_afs_syscall                (__NR_Linux + 176)
 500#define __NR_reserved177                (__NR_Linux + 177)
 501#define __NR_gettid                     (__NR_Linux + 178)
 502#define __NR_readahead                  (__NR_Linux + 179)
 503#define __NR_setxattr                   (__NR_Linux + 180)
 504#define __NR_lsetxattr                  (__NR_Linux + 181)
 505#define __NR_fsetxattr                  (__NR_Linux + 182)
 506#define __NR_getxattr                   (__NR_Linux + 183)
 507#define __NR_lgetxattr                  (__NR_Linux + 184)
 508#define __NR_fgetxattr                  (__NR_Linux + 185)
 509#define __NR_listxattr                  (__NR_Linux + 186)
 510#define __NR_llistxattr                 (__NR_Linux + 187)
 511#define __NR_flistxattr                 (__NR_Linux + 188)
 512#define __NR_removexattr                (__NR_Linux + 189)
 513#define __NR_lremovexattr               (__NR_Linux + 190)
 514#define __NR_fremovexattr               (__NR_Linux + 191)
 515#define __NR_tkill                      (__NR_Linux + 192)
 516#define __NR_reserved193                (__NR_Linux + 193)
 517#define __NR_futex                      (__NR_Linux + 194)
 518#define __NR_sched_setaffinity          (__NR_Linux + 195)
 519#define __NR_sched_getaffinity          (__NR_Linux + 196)
 520#define __NR_cacheflush                 (__NR_Linux + 197)
 521#define __NR_cachectl                   (__NR_Linux + 198)
 522#define __NR_sysmips                    (__NR_Linux + 199)
 523#define __NR_io_setup                   (__NR_Linux + 200)
 524#define __NR_io_destroy                 (__NR_Linux + 201)
 525#define __NR_io_getevents               (__NR_Linux + 202)
 526#define __NR_io_submit                  (__NR_Linux + 203)
 527#define __NR_io_cancel                  (__NR_Linux + 204)
 528#define __NR_exit_group                 (__NR_Linux + 205)
 529#define __NR_lookup_dcookie             (__NR_Linux + 206)
 530#define __NR_epoll_create               (__NR_Linux + 207)
 531#define __NR_epoll_ctl                  (__NR_Linux + 208)
 532#define __NR_epoll_wait                 (__NR_Linux + 209)
 533#define __NR_remap_file_pages           (__NR_Linux + 210)
 534#define __NR_rt_sigreturn               (__NR_Linux + 211)
 535#define __NR_set_tid_address            (__NR_Linux + 212)
 536#define __NR_restart_syscall            (__NR_Linux + 213)
 537#define __NR_semtimedop                 (__NR_Linux + 214)
 538#define __NR_fadvise64                  (__NR_Linux + 215)
 539#define __NR_timer_create               (__NR_Linux + 216)
 540#define __NR_timer_settime              (__NR_Linux + 217)
 541#define __NR_timer_gettime              (__NR_Linux + 218)
 542#define __NR_timer_getoverrun           (__NR_Linux + 219)
 543#define __NR_timer_delete               (__NR_Linux + 220)
 544#define __NR_clock_settime              (__NR_Linux + 221)
 545#define __NR_clock_gettime              (__NR_Linux + 222)
 546#define __NR_clock_getres               (__NR_Linux + 223)
 547#define __NR_clock_nanosleep            (__NR_Linux + 224)
 548#define __NR_tgkill                     (__NR_Linux + 225)
 549#define __NR_utimes                     (__NR_Linux + 226)
 550#define __NR_mbind                      (__NR_Linux + 227)
 551#define __NR_get_mempolicy              (__NR_Linux + 228)
 552#define __NR_set_mempolicy              (__NR_Linux + 229)
 553#define __NR_mq_open                    (__NR_Linux + 230)
 554#define __NR_mq_unlink                  (__NR_Linux + 231)
 555#define __NR_mq_timedsend               (__NR_Linux + 232)
 556#define __NR_mq_timedreceive            (__NR_Linux + 233)
 557#define __NR_mq_notify                  (__NR_Linux + 234)
 558#define __NR_mq_getsetattr              (__NR_Linux + 235)
 559#define __NR_vserver                    (__NR_Linux + 236)
 560#define __NR_waitid                     (__NR_Linux + 237)
 561/* #define __NR_sys_setaltroot          (__NR_Linux + 238) */
 562#define __NR_add_key                    (__NR_Linux + 239)
 563#define __NR_request_key                (__NR_Linux + 240)
 564#define __NR_keyctl                     (__NR_Linux + 241)
 565
 566/*
 567 * Offset of the last Linux 64-bit flavoured syscall
 568 */
 569#define __NR_Linux_syscalls             241
 570
 571#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
 572
 573#define __NR_64_Linux                   5000
 574#define __NR_64_Linux_syscalls          241
 575
 576#if _MIPS_SIM == _MIPS_SIM_NABI32
 577
 578/*
 579 * Linux N32 syscalls are in the range from 6000 to 6999.
 580 */
 581#define __NR_Linux                      6000
 582#define __NR_read                       (__NR_Linux +   0)
 583#define __NR_write                      (__NR_Linux +   1)
 584#define __NR_open                       (__NR_Linux +   2)
 585#define __NR_close                      (__NR_Linux +   3)
 586#define __NR_stat                       (__NR_Linux +   4)
 587#define __NR_fstat                      (__NR_Linux +   5)
 588#define __NR_lstat                      (__NR_Linux +   6)
 589#define __NR_poll                       (__NR_Linux +   7)
 590#define __NR_lseek                      (__NR_Linux +   8)
 591#define __NR_mmap                       (__NR_Linux +   9)
 592#define __NR_mprotect                   (__NR_Linux +  10)
 593#define __NR_munmap                     (__NR_Linux +  11)
 594#define __NR_brk                        (__NR_Linux +  12)
 595#define __NR_rt_sigaction               (__NR_Linux +  13)
 596#define __NR_rt_sigprocmask             (__NR_Linux +  14)
 597#define __NR_ioctl                      (__NR_Linux +  15)
 598#define __NR_pread64                    (__NR_Linux +  16)
 599#define __NR_pwrite64                   (__NR_Linux +  17)
 600#define __NR_readv                      (__NR_Linux +  18)
 601#define __NR_writev                     (__NR_Linux +  19)
 602#define __NR_access                     (__NR_Linux +  20)
 603#define __NR_pipe                       (__NR_Linux +  21)
 604#define __NR__newselect                 (__NR_Linux +  22)
 605#define __NR_sched_yield                (__NR_Linux +  23)
 606#define __NR_mremap                     (__NR_Linux +  24)
 607#define __NR_msync                      (__NR_Linux +  25)
 608#define __NR_mincore                    (__NR_Linux +  26)
 609#define __NR_madvise                    (__NR_Linux +  27)
 610#define __NR_shmget                     (__NR_Linux +  28)
 611#define __NR_shmat                      (__NR_Linux +  29)
 612#define __NR_shmctl                     (__NR_Linux +  30)
 613#define __NR_dup                        (__NR_Linux +  31)
 614#define __NR_dup2                       (__NR_Linux +  32)
 615#define __NR_pause                      (__NR_Linux +  33)
 616#define __NR_nanosleep                  (__NR_Linux +  34)
 617#define __NR_getitimer                  (__NR_Linux +  35)
 618#define __NR_setitimer                  (__NR_Linux +  36)
 619#define __NR_alarm                      (__NR_Linux +  37)
 620#define __NR_getpid                     (__NR_Linux +  38)
 621#define __NR_sendfile                   (__NR_Linux +  39)
 622#define __NR_socket                     (__NR_Linux +  40)
 623#define __NR_connect                    (__NR_Linux +  41)
 624#define __NR_accept                     (__NR_Linux +  42)
 625#define __NR_sendto                     (__NR_Linux +  43)
 626#define __NR_recvfrom                   (__NR_Linux +  44)
 627#define __NR_sendmsg                    (__NR_Linux +  45)
 628#define __NR_recvmsg                    (__NR_Linux +  46)
 629#define __NR_shutdown                   (__NR_Linux +  47)
 630#define __NR_bind                       (__NR_Linux +  48)
 631#define __NR_listen                     (__NR_Linux +  49)
 632#define __NR_getsockname                (__NR_Linux +  50)
 633#define __NR_getpeername                (__NR_Linux +  51)
 634#define __NR_socketpair                 (__NR_Linux +  52)
 635#define __NR_setsockopt                 (__NR_Linux +  53)
 636#define __NR_getsockopt                 (__NR_Linux +  54)
 637#define __NR_clone                      (__NR_Linux +  55)
 638#define __NR_fork                       (__NR_Linux +  56)
 639#define __NR_execve                     (__NR_Linux +  57)
 640#define __NR_exit                       (__NR_Linux +  58)
 641#define __NR_wait4                      (__NR_Linux +  59)
 642#define __NR_kill                       (__NR_Linux +  60)
 643#define __NR_uname                      (__NR_Linux +  61)
 644#define __NR_semget                     (__NR_Linux +  62)
 645#define __NR_semop                      (__NR_Linux +  63)
 646#define __NR_semctl                     (__NR_Linux +  64)
 647#define __NR_shmdt                      (__NR_Linux +  65)
 648#define __NR_msgget                     (__NR_Linux +  66)
 649#define __NR_msgsnd                     (__NR_Linux +  67)
 650#define __NR_msgrcv                     (__NR_Linux +  68)
 651#define __NR_msgctl                     (__NR_Linux +  69)
 652#define __NR_fcntl                      (__NR_Linux +  70)
 653#define __NR_flock                      (__NR_Linux +  71)
 654#define __NR_fsync                      (__NR_Linux +  72)
 655#define __NR_fdatasync                  (__NR_Linux +  73)
 656#define __NR_truncate                   (__NR_Linux +  74)
 657#define __NR_ftruncate                  (__NR_Linux +  75)
 658#define __NR_getdents                   (__NR_Linux +  76)
 659#define __NR_getcwd                     (__NR_Linux +  77)
 660#define __NR_chdir                      (__NR_Linux +  78)
 661#define __NR_fchdir                     (__NR_Linux +  79)
 662#define __NR_rename                     (__NR_Linux +  80)
 663#define __NR_mkdir                      (__NR_Linux +  81)
 664#define __NR_rmdir                      (__NR_Linux +  82)
 665#define __NR_creat                      (__NR_Linux +  83)
 666#define __NR_link                       (__NR_Linux +  84)
 667#define __NR_unlink                     (__NR_Linux +  85)
 668#define __NR_symlink                    (__NR_Linux +  86)
 669#define __NR_readlink                   (__NR_Linux +  87)
 670#define __NR_chmod                      (__NR_Linux +  88)
 671#define __NR_fchmod                     (__NR_Linux +  89)
 672#define __NR_chown                      (__NR_Linux +  90)
 673#define __NR_fchown                     (__NR_Linux +  91)
 674#define __NR_lchown                     (__NR_Linux +  92)
 675#define __NR_umask                      (__NR_Linux +  93)
 676#define __NR_gettimeofday               (__NR_Linux +  94)
 677#define __NR_getrlimit                  (__NR_Linux +  95)
 678#define __NR_getrusage                  (__NR_Linux +  96)
 679#define __NR_sysinfo                    (__NR_Linux +  97)
 680#define __NR_times                      (__NR_Linux +  98)
 681#define __NR_ptrace                     (__NR_Linux +  99)
 682#define __NR_getuid                     (__NR_Linux + 100)
 683#define __NR_syslog                     (__NR_Linux + 101)
 684#define __NR_getgid                     (__NR_Linux + 102)
 685#define __NR_setuid                     (__NR_Linux + 103)
 686#define __NR_setgid                     (__NR_Linux + 104)
 687#define __NR_geteuid                    (__NR_Linux + 105)
 688#define __NR_getegid                    (__NR_Linux + 106)
 689#define __NR_setpgid                    (__NR_Linux + 107)
 690#define __NR_getppid                    (__NR_Linux + 108)
 691#define __NR_getpgrp                    (__NR_Linux + 109)
 692#define __NR_setsid                     (__NR_Linux + 110)
 693#define __NR_setreuid                   (__NR_Linux + 111)
 694#define __NR_setregid                   (__NR_Linux + 112)
 695#define __NR_getgroups                  (__NR_Linux + 113)
 696#define __NR_setgroups                  (__NR_Linux + 114)
 697#define __NR_setresuid                  (__NR_Linux + 115)
 698#define __NR_getresuid                  (__NR_Linux + 116)
 699#define __NR_setresgid                  (__NR_Linux + 117)
 700#define __NR_getresgid                  (__NR_Linux + 118)
 701#define __NR_getpgid                    (__NR_Linux + 119)
 702#define __NR_setfsuid                   (__NR_Linux + 120)
 703#define __NR_setfsgid                   (__NR_Linux + 121)
 704#define __NR_getsid                     (__NR_Linux + 122)
 705#define __NR_capget                     (__NR_Linux + 123)
 706#define __NR_capset                     (__NR_Linux + 124)
 707#define __NR_rt_sigpending              (__NR_Linux + 125)
 708#define __NR_rt_sigtimedwait            (__NR_Linux + 126)
 709#define __NR_rt_sigqueueinfo            (__NR_Linux + 127)
 710#define __NR_rt_sigsuspend              (__NR_Linux + 128)
 711#define __NR_sigaltstack                (__NR_Linux + 129)
 712#define __NR_utime                      (__NR_Linux + 130)
 713#define __NR_mknod                      (__NR_Linux + 131)
 714#define __NR_personality                (__NR_Linux + 132)
 715#define __NR_ustat                      (__NR_Linux + 133)
 716#define __NR_statfs                     (__NR_Linux + 134)
 717#define __NR_fstatfs                    (__NR_Linux + 135)
 718#define __NR_sysfs                      (__NR_Linux + 136)
 719#define __NR_getpriority                (__NR_Linux + 137)
 720#define __NR_setpriority                (__NR_Linux + 138)
 721#define __NR_sched_setparam             (__NR_Linux + 139)
 722#define __NR_sched_getparam             (__NR_Linux + 140)
 723#define __NR_sched_setscheduler         (__NR_Linux + 141)
 724#define __NR_sched_getscheduler         (__NR_Linux + 142)
 725#define __NR_sched_get_priority_max     (__NR_Linux + 143)
 726#define __NR_sched_get_priority_min     (__NR_Linux + 144)
 727#define __NR_sched_rr_get_interval      (__NR_Linux + 145)
 728#define __NR_mlock                      (__NR_Linux + 146)
 729#define __NR_munlock                    (__NR_Linux + 147)
 730#define __NR_mlockall                   (__NR_Linux + 148)
 731#define __NR_munlockall                 (__NR_Linux + 149)
 732#define __NR_vhangup                    (__NR_Linux + 150)
 733#define __NR_pivot_root                 (__NR_Linux + 151)
 734#define __NR__sysctl                    (__NR_Linux + 152)
 735#define __NR_prctl                      (__NR_Linux + 153)
 736#define __NR_adjtimex                   (__NR_Linux + 154)
 737#define __NR_setrlimit                  (__NR_Linux + 155)
 738#define __NR_chroot                     (__NR_Linux + 156)
 739#define __NR_sync                       (__NR_Linux + 157)
 740#define __NR_acct                       (__NR_Linux + 158)
 741#define __NR_settimeofday               (__NR_Linux + 159)
 742#define __NR_mount                      (__NR_Linux + 160)
 743#define __NR_umount2                    (__NR_Linux + 161)
 744#define __NR_swapon                     (__NR_Linux + 162)
 745#define __NR_swapoff                    (__NR_Linux + 163)
 746#define __NR_reboot                     (__NR_Linux + 164)
 747#define __NR_sethostname                (__NR_Linux + 165)
 748#define __NR_setdomainname              (__NR_Linux + 166)
 749#define __NR_create_module              (__NR_Linux + 167)
 750#define __NR_init_module                (__NR_Linux + 168)
 751#define __NR_delete_module              (__NR_Linux + 169)
 752#define __NR_get_kernel_syms            (__NR_Linux + 170)
 753#define __NR_query_module               (__NR_Linux + 171)
 754#define __NR_quotactl                   (__NR_Linux + 172)
 755#define __NR_nfsservctl                 (__NR_Linux + 173)
 756#define __NR_getpmsg                    (__NR_Linux + 174)
 757#define __NR_putpmsg                    (__NR_Linux + 175)
 758#define __NR_afs_syscall                (__NR_Linux + 176)
 759#define __NR_reserved177                (__NR_Linux + 177)
 760#define __NR_gettid                     (__NR_Linux + 178)
 761#define __NR_readahead                  (__NR_Linux + 179)
 762#define __NR_setxattr                   (__NR_Linux + 180)
 763#define __NR_lsetxattr                  (__NR_Linux + 181)
 764#define __NR_fsetxattr                  (__NR_Linux + 182)
 765#define __NR_getxattr                   (__NR_Linux + 183)
 766#define __NR_lgetxattr                  (__NR_Linux + 184)
 767#define __NR_fgetxattr                  (__NR_Linux + 185)
 768#define __NR_listxattr                  (__NR_Linux + 186)
 769#define __NR_llistxattr                 (__NR_Linux + 187)
 770#define __NR_flistxattr                 (__NR_Linux + 188)
 771#define __NR_removexattr                (__NR_Linux + 189)
 772#define __NR_lremovexattr               (__NR_Linux + 190)
 773#define __NR_fremovexattr               (__NR_Linux + 191)
 774#define __NR_tkill                      (__NR_Linux + 192)
 775#define __NR_reserved193                (__NR_Linux + 193)
 776#define __NR_futex                      (__NR_Linux + 194)
 777#define __NR_sched_setaffinity          (__NR_Linux + 195)
 778#define __NR_sched_getaffinity          (__NR_Linux + 196)
 779#define __NR_cacheflush                 (__NR_Linux + 197)
 780#define __NR_cachectl                   (__NR_Linux + 198)
 781#define __NR_sysmips                    (__NR_Linux + 199)
 782#define __NR_io_setup                   (__NR_Linux + 200)
 783#define __NR_io_destroy                 (__NR_Linux + 201)
 784#define __NR_io_getevents               (__NR_Linux + 202)
 785#define __NR_io_submit                  (__NR_Linux + 203)
 786#define __NR_io_cancel                  (__NR_Linux + 204)
 787#define __NR_exit_group                 (__NR_Linux + 205)
 788#define __NR_lookup_dcookie             (__NR_Linux + 206)
 789#define __NR_epoll_create               (__NR_Linux + 207)
 790#define __NR_epoll_ctl                  (__NR_Linux + 208)
 791#define __NR_epoll_wait                 (__NR_Linux + 209)
 792#define __NR_remap_file_pages           (__NR_Linux + 210)
 793#define __NR_rt_sigreturn               (__NR_Linux + 211)
 794#define __NR_fcntl64                    (__NR_Linux + 212)
 795#define __NR_set_tid_address            (__NR_Linux + 213)
 796#define __NR_restart_syscall            (__NR_Linux + 214)
 797#define __NR_semtimedop                 (__NR_Linux + 215)
 798#define __NR_fadvise64                  (__NR_Linux + 216)
 799#define __NR_statfs64                   (__NR_Linux + 217)
 800#define __NR_fstatfs64                  (__NR_Linux + 218)
 801#define __NR_sendfile64                 (__NR_Linux + 219)
 802#define __NR_timer_create               (__NR_Linux + 220)
 803#define __NR_timer_settime              (__NR_Linux + 221)
 804#define __NR_timer_gettime              (__NR_Linux + 222)
 805#define __NR_timer_getoverrun           (__NR_Linux + 223)
 806#define __NR_timer_delete               (__NR_Linux + 224)
 807#define __NR_clock_settime              (__NR_Linux + 225)
 808#define __NR_clock_gettime              (__NR_Linux + 226)
 809#define __NR_clock_getres               (__NR_Linux + 227)
 810#define __NR_clock_nanosleep            (__NR_Linux + 228)
 811#define __NR_tgkill                     (__NR_Linux + 229)
 812#define __NR_utimes                     (__NR_Linux + 230)
 813#define __NR_mbind                      (__NR_Linux + 231)
 814#define __NR_get_mempolicy              (__NR_Linux + 232)
 815#define __NR_set_mempolicy              (__NR_Linux + 233)
 816#define __NR_mq_open                    (__NR_Linux + 234)
 817#define __NR_mq_unlink                  (__NR_Linux + 235)
 818#define __NR_mq_timedsend               (__NR_Linux + 236)
 819#define __NR_mq_timedreceive            (__NR_Linux + 237)
 820#define __NR_mq_notify                  (__NR_Linux + 238)
 821#define __NR_mq_getsetattr              (__NR_Linux + 239)
 822#define __NR_vserver                    (__NR_Linux + 240)
 823#define __NR_waitid                     (__NR_Linux + 241)
 824/* #define __NR_sys_setaltroot          (__NR_Linux + 242) */
 825#define __NR_add_key                    (__NR_Linux + 243)
 826#define __NR_request_key                (__NR_Linux + 244)
 827#define __NR_keyctl                     (__NR_Linux + 245)
 828
 829/*
 830 * Offset of the last N32 flavoured syscall
 831 */
 832#define __NR_Linux_syscalls             245
 833
 834#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
 835
 836#define __NR_N32_Linux                  6000
 837#define __NR_N32_Linux_syscalls         245
 838
 839#ifndef __ASSEMBLY__
 840
 841/* XXX - _foo needs to be __foo, while __NR_bar could be _NR_bar. */
 842#define _syscall0(type,name) \
 843type name(void) \
 844{ \
 845        register unsigned long __a3 asm("$7"); \
 846        unsigned long __v0; \
 847        \
 848        __asm__ volatile ( \
 849        ".set\tnoreorder\n\t" \
 850        "li\t$2, %2\t\t\t# " #name "\n\t" \
 851        "syscall\n\t" \
 852        "move\t%0, $2\n\t" \
 853        ".set\treorder" \
 854        : "=&r" (__v0), "=r" (__a3) \
 855        : "i" (__NR_##name) \
 856        : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
 857          "memory"); \
 858        \
 859        if (__a3 == 0) \
 860                return (type) __v0; \
 861        errno = __v0; \
 862        return (type) -1; \
 863}
 864
 865/*
 866 * DANGER: This macro isn't usable for the pipe(2) call
 867 * which has a unusual return convention.
 868 */
 869#define _syscall1(type,name,atype,a) \
 870type name(atype a) \
 871{ \
 872        register unsigned long __a0 asm("$4") = (unsigned long) a; \
 873        register unsigned long __a3 asm("$7"); \
 874        unsigned long __v0; \
 875        \
 876        __asm__ volatile ( \
 877        ".set\tnoreorder\n\t" \
 878        "li\t$2, %3\t\t\t# " #name "\n\t" \
 879        "syscall\n\t" \
 880        "move\t%0, $2\n\t" \
 881        ".set\treorder" \
 882        : "=&r" (__v0), "=r" (__a3) \
 883        : "r" (__a0), "i" (__NR_##name) \
 884        : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
 885          "memory"); \
 886        \
 887        if (__a3 == 0) \
 888                return (type) __v0; \
 889        errno = __v0; \
 890        return (type) -1; \
 891}
 892
 893#define _syscall2(type,name,atype,a,btype,b) \
 894type name(atype a, btype b) \
 895{ \
 896        register unsigned long __a0 asm("$4") = (unsigned long) a; \
 897        register unsigned long __a1 asm("$5") = (unsigned long) b; \
 898        register unsigned long __a3 asm("$7"); \
 899        unsigned long __v0; \
 900        \
 901        __asm__ volatile ( \
 902        ".set\tnoreorder\n\t" \
 903        "li\t$2, %4\t\t\t# " #name "\n\t" \
 904        "syscall\n\t" \
 905        "move\t%0, $2\n\t" \
 906        ".set\treorder" \
 907        : "=&r" (__v0), "=r" (__a3) \
 908        : "r" (__a0), "r" (__a1), "i" (__NR_##name) \
 909        : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
 910          "memory"); \
 911        \
 912        if (__a3 == 0) \
 913                return (type) __v0; \
 914        errno = __v0; \
 915        return (type) -1; \
 916}
 917
 918#define _syscall3(type,name,atype,a,btype,b,ctype,c) \
 919type name(atype a, btype b, ctype c) \
 920{ \
 921        register unsigned long __a0 asm("$4") = (unsigned long) a; \
 922        register unsigned long __a1 asm("$5") = (unsigned long) b; \
 923        register unsigned long __a2 asm("$6") = (unsigned long) c; \
 924        register unsigned long __a3 asm("$7"); \
 925        unsigned long __v0; \
 926        \
 927        __asm__ volatile ( \
 928        ".set\tnoreorder\n\t" \
 929        "li\t$2, %5\t\t\t# " #name "\n\t" \
 930        "syscall\n\t" \
 931        "move\t%0, $2\n\t" \
 932        ".set\treorder" \
 933        : "=&r" (__v0), "=r" (__a3) \
 934        : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name) \
 935        : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
 936          "memory"); \
 937        \
 938        if (__a3 == 0) \
 939                return (type) __v0; \
 940        errno = __v0; \
 941        return (type) -1; \
 942}
 943
 944#define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \
 945type name(atype a, btype b, ctype c, dtype d) \
 946{ \
 947        register unsigned long __a0 asm("$4") = (unsigned long) a; \
 948        register unsigned long __a1 asm("$5") = (unsigned long) b; \
 949        register unsigned long __a2 asm("$6") = (unsigned long) c; \
 950        register unsigned long __a3 asm("$7") = (unsigned long) d; \
 951        unsigned long __v0; \
 952        \
 953        __asm__ volatile ( \
 954        ".set\tnoreorder\n\t" \
 955        "li\t$2, %5\t\t\t# " #name "\n\t" \
 956        "syscall\n\t" \
 957        "move\t%0, $2\n\t" \
 958        ".set\treorder" \
 959        : "=&r" (__v0), "+r" (__a3) \
 960        : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name) \
 961        : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
 962          "memory"); \
 963        \
 964        if (__a3 == 0) \
 965                return (type) __v0; \
 966        errno = __v0; \
 967        return (type) -1; \
 968}
 969
 970#if (_MIPS_SIM == _MIPS_SIM_ABI32)
 971
 972/*
 973 * Using those means your brain needs more than an oil change ;-)
 974 */
 975
 976#define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
 977type name(atype a, btype b, ctype c, dtype d, etype e) \
 978{ \
 979        register unsigned long __a0 asm("$4") = (unsigned long) a; \
 980        register unsigned long __a1 asm("$5") = (unsigned long) b; \
 981        register unsigned long __a2 asm("$6") = (unsigned long) c; \
 982        register unsigned long __a3 asm("$7") = (unsigned long) d; \
 983        unsigned long __v0; \
 984        \
 985        __asm__ volatile ( \
 986        ".set\tnoreorder\n\t" \
 987        "lw\t$2, %6\n\t" \
 988        "subu\t$29, 32\n\t" \
 989        "sw\t$2, 16($29)\n\t" \
 990        "li\t$2, %5\t\t\t# " #name "\n\t" \
 991        "syscall\n\t" \
 992        "move\t%0, $2\n\t" \
 993        "addiu\t$29, 32\n\t" \
 994        ".set\treorder" \
 995        : "=&r" (__v0), "+r" (__a3) \
 996        : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name), \
 997          "m" ((unsigned long)e) \
 998        : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
 999          "memory"); \
1000        \
1001        if (__a3 == 0) \
1002                return (type) __v0; \
1003        errno = __v0; \
1004        return (type) -1; \
1005}
1006
1007#define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
1008type name(atype a, btype b, ctype c, dtype d, etype e, ftype f) \
1009{ \
1010        register unsigned long __a0 asm("$4") = (unsigned long) a; \
1011        register unsigned long __a1 asm("$5") = (unsigned long) b; \
1012        register unsigned long __a2 asm("$6") = (unsigned long) c; \
1013        register unsigned long __a3 asm("$7") = (unsigned long) d; \
1014        unsigned long __v0; \
1015        \
1016        __asm__ volatile ( \
1017        ".set\tnoreorder\n\t" \
1018        "lw\t$2, %6\n\t" \
1019        "lw\t$8, %7\n\t" \
1020        "subu\t$29, 32\n\t" \
1021        "sw\t$2, 16($29)\n\t" \
1022        "sw\t$8, 20($29)\n\t" \
1023        "li\t$2, %5\t\t\t# " #name "\n\t" \
1024        "syscall\n\t" \
1025        "move\t%0, $2\n\t" \
1026        "addiu\t$29, 32\n\t" \
1027        ".set\treorder" \
1028        : "=&r" (__v0), "+r" (__a3) \
1029        : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name), \
1030          "m" ((unsigned long)e), "m" ((unsigned long)f) \
1031        : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
1032          "memory"); \
1033        \
1034        if (__a3 == 0) \
1035                return (type) __v0; \
1036        errno = __v0; \
1037        return (type) -1; \
1038}
1039
1040#endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */
1041
1042#if (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64)
1043
1044#define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
1045type name (atype a,btype b,ctype c,dtype d,etype e) \
1046{ \
1047        register unsigned long __a0 asm("$4") = (unsigned long) a; \
1048        register unsigned long __a1 asm("$5") = (unsigned long) b; \
1049        register unsigned long __a2 asm("$6") = (unsigned long) c; \
1050        register unsigned long __a3 asm("$7") = (unsigned long) d; \
1051        register unsigned long __a4 asm("$8") = (unsigned long) e; \
1052        unsigned long __v0; \
1053        \
1054        __asm__ volatile ( \
1055        ".set\tnoreorder\n\t" \
1056        "li\t$2, %6\t\t\t# " #name "\n\t" \
1057        "syscall\n\t" \
1058        "move\t%0, $2\n\t" \
1059        ".set\treorder" \
1060        : "=&r" (__v0), "+r" (__a3) \
1061        : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "i" (__NR_##name) \
1062        : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
1063          "memory"); \
1064        \
1065        if (__a3 == 0) \
1066                return (type) __v0; \
1067        errno = __v0; \
1068        return (type) -1; \
1069}
1070
1071#define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
1072type name (atype a,btype b,ctype c,dtype d,etype e,ftype f) \
1073{ \
1074        register unsigned long __a0 asm("$4") = (unsigned long) a; \
1075        register unsigned long __a1 asm("$5") = (unsigned long) b; \
1076        register unsigned long __a2 asm("$6") = (unsigned long) c; \
1077        register unsigned long __a3 asm("$7") = (unsigned long) d; \
1078        register unsigned long __a4 asm("$8") = (unsigned long) e; \
1079        register unsigned long __a5 asm("$9") = (unsigned long) f; \
1080        unsigned long __v0; \
1081        \
1082        __asm__ volatile ( \
1083        ".set\tnoreorder\n\t" \
1084        "li\t$2, %7\t\t\t# " #name "\n\t" \
1085        "syscall\n\t" \
1086        "move\t%0, $2\n\t" \
1087        ".set\treorder" \
1088        : "=&r" (__v0), "+r" (__a3) \
1089        : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "r" (__a5), \
1090          "i" (__NR_##name) \
1091        : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
1092          "memory"); \
1093        \
1094        if (__a3 == 0) \
1095                return (type) __v0; \
1096        errno = __v0; \
1097        return (type) -1; \
1098}
1099
1100#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
1101
1102#ifdef __KERNEL__
1103
1104#include <linux/config.h>
1105
1106#define __ARCH_WANT_IPC_PARSE_VERSION
1107#define __ARCH_WANT_OLD_READDIR
1108#define __ARCH_WANT_SYS_ALARM
1109#define __ARCH_WANT_SYS_GETHOSTNAME
1110#define __ARCH_WANT_SYS_PAUSE
1111#define __ARCH_WANT_SYS_SGETMASK
1112#define __ARCH_WANT_SYS_UTIME
1113#define __ARCH_WANT_SYS_WAITPID
1114#define __ARCH_WANT_SYS_SOCKETCALL
1115#define __ARCH_WANT_SYS_FADVISE64
1116#define __ARCH_WANT_SYS_GETPGRP
1117#define __ARCH_WANT_SYS_LLSEEK
1118#define __ARCH_WANT_SYS_NICE
1119#define __ARCH_WANT_SYS_OLD_GETRLIMIT
1120#define __ARCH_WANT_SYS_OLDUMOUNT
1121#define __ARCH_WANT_SYS_SIGPENDING
1122#define __ARCH_WANT_SYS_SIGPROCMASK
1123#define __ARCH_WANT_SYS_RT_SIGACTION
1124# ifndef __mips64
1125#  define __ARCH_WANT_STAT64
1126# endif
1127# ifdef CONFIG_MIPS32
1128#  define __ARCH_WANT_SYS_TIME
1129# endif
1130# ifdef CONFIG_MIPS32_O32
1131#  define __ARCH_WANT_COMPAT_SYS_TIME
1132# endif
1133#endif
1134
1135#ifdef __KERNEL_SYSCALLS__
1136
1137#include <linux/compiler.h>
1138#include <linux/types.h>
1139#include <linux/linkage.h>
1140#include <asm/ptrace.h>
1141#include <asm/sim.h>
1142
1143/*
1144 * we need this inline - forking from kernel space will result
1145 * in NO COPY ON WRITE (!!!), until an execve is executed. This
1146 * is no problem, but for the stack. This is handled by not letting
1147 * main() use the stack at all after fork(). Thus, no function
1148 * calls - which means inline code for fork too, as otherwise we
1149 * would use the stack upon exit from 'fork()'.
1150 *
1151 * Actually only pause and fork are needed inline, so that there
1152 * won't be any messing with the stack from main(), but we define
1153 * some others too.
1154 */
1155static inline _syscall3(int,execve,const char *,file,char **,argv,char **,envp)
1156
1157asmlinkage unsigned long sys_mmap(
1158                                unsigned long addr, size_t len,
1159                                int prot, int flags,
1160                                int fd, off_t offset);
1161asmlinkage long sys_mmap2(
1162                        unsigned long addr, unsigned long len,
1163                        unsigned long prot, unsigned long flags,
1164                        unsigned long fd, unsigned long pgoff);
1165asmlinkage int sys_execve(nabi_no_regargs struct pt_regs regs);
1166asmlinkage int sys_pipe(nabi_no_regargs struct pt_regs regs);
1167asmlinkage int sys_ptrace(long request, long pid, long addr, long data);
1168struct sigaction;
1169asmlinkage long sys_rt_sigaction(int sig,
1170                                const struct sigaction __user *act,
1171                                struct sigaction __user *oact,
1172                                size_t sigsetsize);
1173
1174#endif /* __KERNEL_SYSCALLS__ */
1175#endif /* !__ASSEMBLY__ */
1176
1177/*
1178 * "Conditional" syscalls
1179 *
1180 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
1181 * but it doesn't work on all toolchains, so we just do it by hand
1182 */
1183#define cond_syscall(x) asm(".weak\t" #x "\n" #x "\t=\tsys_ni_syscall");
1184
1185#endif /* _ASM_UNISTD_H */
1186
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.