1 #ifndef LINUX_USER_OPENRISC_SYSCALL_NR_H 2 #define LINUX_USER_OPENRISC_SYSCALL_NR_H 3 4 #define TARGET_NR_io_setup 0 5 #define TARGET_NR_io_destroy 1 6 #define TARGET_NR_io_submit 2 7 #define TARGET_NR_io_cancel 3 8 #define TARGET_NR_io_getevents 4 9 10 /* fs/xattr.c */ 11 #define TARGET_NR_setxattr 5 12 #define TARGET_NR_lsetxattr 6 13 #define TARGET_NR_fsetxattr 7 14 #define TARGET_NR_getxattr 8 15 #define TARGET_NR_lgetxattr 9 16 #define TARGET_NR_fgetxattr 10 17 #define TARGET_NR_listxattr 11 18 #define TARGET_NR_llistxattr 12 19 #define TARGET_NR_flistxattr 13 20 #define TARGET_NR_removexattr 14 21 #define TARGET_NR_lremovexattr 15 22 #define TARGET_NR_fremovexattr 16 23 24 /* fs/dcache.c */ 25 #define TARGET_NR_getcwd 17 26 27 /* fs/cookies.c */ 28 #define TARGET_NR_lookup_dcookie 18 29 30 /* fs/eventfd.c */ 31 #define TARGET_NR_eventfd2 19 32 33 /* fs/eventpoll.c */ 34 #define TARGET_NR_epoll_create1 20 35 #define TARGET_NR_epoll_ctl 21 36 #define TARGET_NR_epoll_pwait 22 37 38 /* fs/fcntl.c */ 39 #define TARGET_NR_dup 23 40 #define TARGET_NR_dup3 24 41 #define TARGET_NR_3264_fcntl 25 42 43 /* fs/inotify_user.c */ 44 #define TARGET_NR_inotify_init1 26 45 #define TARGET_NR_inotify_add_watch 27 46 #define TARGET_NR_inotify_rm_watch 28 47 48 /* fs/ioctl.c */ 49 #define TARGET_NR_ioctl 29 50 51 /* fs/ioprio.c */ 52 #define TARGET_NR_ioprio_set 30 53 #define TARGET_NR_ioprio_get 31 54 55 /* fs/locks.c */ 56 #define TARGET_NR_flock 32 57 58 /* fs/namei.c */ 59 #define TARGET_NR_mknodat 33 60 #define TARGET_NR_mkdirat 34 61 #define TARGET_NR_unlinkat 35 62 #define TARGET_NR_symlinkat 36 63 #define TARGET_NR_linkat 37 64 #define TARGET_NR_renameat 38 65 66 /* fs/namespace.c */ 67 #define TARGET_NR_umount2 39 68 #define TARGET_NR_mount 40 69 #define TARGET_NR_pivot_root 41 70 71 /* fs/nfsctl.c */ 72 #define TARGET_NR_nfsservctl 42 73 74 /* fs/open.c */ 75 #define TARGET_NR_3264_statfs 43 76 #define TARGET_NR_3264_fstatfs 44 77 #define TARGET_NR_3264_truncate 45 78 #define TARGET_NR_3264_ftruncate 46 79 80 #define TARGET_NR_fallocate 47 81 #define TARGET_NR_faccessat 48 82 #define TARGET_NR_chdir 49 83 #define TARGET_NR_fchdir 50 84 #define TARGET_NR_chroot 51 85 #define TARGET_NR_fchmod 52 86 #define TARGET_NR_fchmodat 53 87 #define TARGET_NR_fchownat 54 88 #define TARGET_NR_fchown 55 89 #define TARGET_NR_openat 56 90 #define TARGET_NR_close 57 91 #define TARGET_NR_vhangup 58 92 93 /* fs/pipe.c */ 94 #define TARGET_NR_pipe2 59 95 96 /* fs/quota.c */ 97 #define TARGET_NR_quotactl 60 98 99 /* fs/readdir.c */ 100 #define TARGET_NR_getdents64 61 101 102 /* fs/read_write.c */ 103 #define TARGET_NR_3264_lseek 62 104 #define TARGET_NR_read 63 105 #define TARGET_NR_write 64 106 #define TARGET_NR_readv 65 107 #define TARGET_NR_writev 66 108 #define TARGET_NR_pread64 67 109 #define TARGET_NR_pwrite64 68 110 #define TARGET_NR_preadv 69 111 #define TARGET_NR_pwritev 70 112 113 /* fs/sendfile.c */ 114 #define TARGET_NR_3264_sendfile 71 115 116 /* fs/select.c */ 117 #define TARGET_NR_pselect6 72 118 #define TARGET_NR_ppoll 73 119 120 /* fs/signalfd.c */ 121 #define TARGET_NR_signalfd4 74 122 123 /* fs/splice.c */ 124 #define TARGET_NR_vmsplice 75 125 #define TARGET_NR_splice 76 126 #define TARGET_NR_tee 77 127 128 /* fs/stat.c */ 129 #define TARGET_NR_readlinkat 78 130 #define TARGET_NR_3264_fstatat 79 131 #define TARGET_NR_3264_fstat 80 132 133 /* fs/sync.c */ 134 #define TARGET_NR_sync 81 135 #define TARGET_NR_fsync 82 136 #define TARGET_NR_fdatasync 83 137 138 #ifdef __ARCH_WANT_SYNC_FILE_RANGE2 139 #define TARGET_NR_sync_file_range2 84 140 #else 141 #define TARGET_NR_sync_file_range 84 142 #endif 143 144 /* fs/timerfd.c */ 145 #define TARGET_NR_timerfd_create 85 146 #define TARGET_NR_timerfd_settime 86 147 #define TARGET_NR_timerfd_gettime 87 148 149 /* fs/utimes.c */ 150 #define TARGET_NR_utimensat 88 151 152 /* kernel/acct.c */ 153 #define TARGET_NR_acct 89 154 155 /* kernel/capability.c */ 156 #define TARGET_NR_capget 90 157 #define TARGET_NR_capset 91 158 159 /* kernel/exec_domain.c */ 160 #define TARGET_NR_personality 92 161 162 /* kernel/exit.c */ 163 #define TARGET_NR_exit 93 164 #define TARGET_NR_exit_group 94 165 #define TARGET_NR_waitid 95 166 167 /* kernel/fork.c */ 168 #define TARGET_NR_set_tid_address 96 169 #define TARGET_NR_unshare 97 170 171 /* kernel/futex.c */ 172 #define TARGET_NR_futex 98 173 #define TARGET_NR_set_robust_list 99 174 #define TARGET_NR_get_robust_list 100 175 176 /* kernel/hrtimer.c */ 177 #define TARGET_NR_nanosleep 101 178 179 /* kernel/itimer.c */ 180 #define TARGET_NR_getitimer 102 181 #define TARGET_NR_setitimer 103 182 183 /* kernel/kexec.c */ 184 #define TARGET_NR_kexec_load 104 185 186 /* kernel/module.c */ 187 #define TARGET_NR_init_module 105 188 #define TARGET_NR_delete_module 106 189 190 /* kernel/posix-timers.c */ 191 #define TARGET_NR_timer_create 107 192 #define TARGET_NR_timer_gettime 108 193 #define TARGET_NR_timer_getoverrun 109 194 #define TARGET_NR_timer_settime 110 195 #define TARGET_NR_timer_delete 111 196 #define TARGET_NR_clock_settime 112 197 #define TARGET_NR_clock_gettime 113 198 #define TARGET_NR_clock_getres 114 199 #define TARGET_NR_clock_nanosleep 115 200 201 /* kernel/printk.c */ 202 #define TARGET_NR_syslog 116 203 204 /* kernel/ptrace.c */ 205 #define TARGET_NR_ptrace 117 206 207 /* kernel/sched.c */ 208 #define TARGET_NR_sched_setparam 118 209 #define TARGET_NR_sched_setscheduler 119 210 #define TARGET_NR_sched_getscheduler 120 211 #define TARGET_NR_sched_getparam 121 212 #define TARGET_NR_sched_setaffinity 122 213 #define TARGET_NR_sched_getaffinity 123 214 #define TARGET_NR_sched_yield 124 215 #define TARGET_NR_sched_get_priority_max 125 216 #define TARGET_NR_sched_get_priority_min 126 217 #define TARGET_NR_sched_rr_get_interval 127 218 219 /* kernel/signal.c */ 220 #define TARGET_NR_restart_syscall 128 221 #define TARGET_NR_kill 129 222 #define TARGET_NR_tkill 130 223 #define TARGET_NR_tgkill 131 224 #define TARGET_NR_sigaltstack 132 225 #define TARGET_NR_rt_sigsuspend 133 226 #define TARGET_NR_rt_sigaction 134 227 #define TARGET_NR_rt_sigprocmask 135 228 #define TARGET_NR_rt_sigpending 136 229 #define TARGET_NR_rt_sigtimedwait 137 230 #define TARGET_NR_rt_sigqueueinfo 138 231 #define TARGET_NR_rt_sigreturn 139 232 233 /* kernel/sys.c */ 234 #define TARGET_NR_setpriority 140 235 #define TARGET_NR_getpriority 141 236 #define TARGET_NR_reboot 142 237 #define TARGET_NR_setregid 143 238 #define TARGET_NR_setgid 144 239 #define TARGET_NR_setreuid 145 240 #define TARGET_NR_setuid 146 241 #define TARGET_NR_setresuid 147 242 #define TARGET_NR_getresuid 148 243 #define TARGET_NR_setresgid 149 244 #define TARGET_NR_getresgid 150 245 #define TARGET_NR_setfsuid 151 246 #define TARGET_NR_setfsgid 152 247 #define TARGET_NR_times 153 248 #define TARGET_NR_setpgid 154 249 #define TARGET_NR_getpgid 155 250 #define TARGET_NR_getsid 156 251 #define TARGET_NR_setsid 157 252 #define TARGET_NR_getgroups 158 253 #define TARGET_NR_setgroups 159 254 #define TARGET_NR_uname 160 255 #define TARGET_NR_sethostname 161 256 #define TARGET_NR_setdomainname 162 257 #define TARGET_NR_getrlimit 163 258 #define TARGET_NR_setrlimit 164 259 #define TARGET_NR_getrusage 165 260 #define TARGET_NR_umask 166 261 #define TARGET_NR_prctl 167 262 #define TARGET_NR_getcpu 168 263 264 /* kernel/time.c */ 265 #define TARGET_NR_gettimeofday 169 266 #define TARGET_NR_settimeofday 170 267 #define TARGET_NR_adjtimex 171 268 269 /* kernel/timer.c */ 270 #define TARGET_NR_getpid 172 271 #define TARGET_NR_getppid 173 272 #define TARGET_NR_getuid 174 273 #define TARGET_NR_geteuid 175 274 #define TARGET_NR_getgid 176 275 #define TARGET_NR_getegid 177 276 #define TARGET_NR_gettid 178 277 #define TARGET_NR_sysinfo 179 278 279 /* ipc/mqueue.c */ 280 #define TARGET_NR_mq_open 180 281 #define TARGET_NR_mq_unlink 181 282 #define TARGET_NR_mq_timedsend 182 283 #define TARGET_NR_mq_timedreceive 183 284 #define TARGET_NR_mq_notify 184 285 #define TARGET_NR_mq_getsetattr 185 286 287 /* ipc/msg.c */ 288 #define TARGET_NR_msgget 186 289 #define TARGET_NR_msgctl 187 290 #define TARGET_NR_msgrcv 188 291 #define TARGET_NR_msgsnd 189 292 293 /* ipc/sem.c */ 294 #define TARGET_NR_semget 190 295 #define TARGET_NR_semctl 191 296 #define TARGET_NR_semtimedop 192 297 #define TARGET_NR_semop 193 298 299 /* ipc/shm.c */ 300 #define TARGET_NR_shmget 194 301 #define TARGET_NR_shmctl 195 302 #define TARGET_NR_shmat 196 303 #define TARGET_NR_shmdt 197 304 305 /* net/socket.c */ 306 #define TARGET_NR_socket 198 307 #define TARGET_NR_socketpair 199 308 #define TARGET_NR_bind 200 309 #define TARGET_NR_listen 201 310 #define TARGET_NR_accept 202 311 #define TARGET_NR_connect 203 312 #define TARGET_NR_getsockname 204 313 #define TARGET_NR_getpeername 205 314 #define TARGET_NR_sendto 206 315 #define TARGET_NR_recvfrom 207 316 #define TARGET_NR_setsockopt 208 317 #define TARGET_NR_getsockopt 209 318 #define TARGET_NR_shutdown 210 319 #define TARGET_NR_sendmsg 211 320 #define TARGET_NR_recvmsg 212 321 322 /* mm/filemap.c */ 323 #define TARGET_NR_readahead 213 324 325 /* mm/nommu.c, also with MMU */ 326 #define TARGET_NR_brk 214 327 #define TARGET_NR_munmap 215 328 #define TARGET_NR_mremap 216 329 330 /* security/keys/keyctl.c */ 331 #define TARGET_NR_add_key 217 332 #define TARGET_NR_request_key 218 333 #define TARGET_NR_keyctl 219 334 335 /* arch/example/kernel/sys_example.c */ 336 #define TARGET_NR_clone 220 337 #define TARGET_NR_execve 221 338 339 #define TARGET_NR_3264_mmap 222 340 /* mm/fadvise.c */ 341 #define TARGET_NR_3264_fadvise64 223 342 343 /* mm/, CONFIG_MMU only */ 344 #ifndef __ARCH_NOMMU 345 #define TARGET_NR_swapon 224 346 #define TARGET_NR_swapoff 225 347 #define TARGET_NR_mprotect 226 348 #define TARGET_NR_msync 227 349 #define TARGET_NR_mlock 228 350 #define TARGET_NR_munlock 229 351 #define TARGET_NR_mlockall 230 352 #define TARGET_NR_munlockall 231 353 #define TARGET_NR_mincore 232 354 #define TARGET_NR_madvise 233 355 #define TARGET_NR_remap_file_pages 234 356 #define TARGET_NR_mbind 235 357 #define TARGET_NR_get_mempolicy 236 358 #define TARGET_NR_set_mempolicy 237 359 #define TARGET_NR_migrate_pages 238 360 #define TARGET_NR_move_pages 239 361 #endif 362 363 #define TARGET_NR_rt_tgsigqueueinfo 240 364 #define TARGET_NR_perf_event_open 241 365 #define TARGET_NR_accept4 242 366 #define TARGET_NR_recvmmsg 243 367 368 /* 369 * Architectures may provide up to 16 syscalls of their own 370 * starting with this value. 371 */ 372 #define TARGET_NR_arch_specific_syscall 244 373 374 #define TARGET_NR_wait4 260 375 #define TARGET_NR_prlimit64 261 376 #define TARGET_NR_fanotify_init 262 377 #define TARGET_NR_fanotify_mark 263 378 #define TARGET_NR_name_to_handle_at 264 379 #define TARGET_NR_open_by_handle_at 265 380 #define TARGET_NR_clock_adjtime 266 381 #define TARGET_NR_syncfs 267 382 #define TARGET_NR_setns 268 383 #define TARGET_NR_sendmmsg 269 384 #define TARGET_NR_process_vm_readv 270 385 #define TARGET_NR_process_vm_writev 271 386 #define TARGET_NR_kcmp 272 387 #define TARGET_NR_finit_module 273 388 #define TARGET_NR_sched_setattr 274 389 #define TARGET_NR_sched_getattr 275 390 #define TARGET_NR_renameat2 276 391 #define TARGET_NR_seccomp 277 392 #define TARGET_NR_getrandom 278 393 #define TARGET_NR_memfd_create 279 394 #define TARGET_NR_bpf 280 395 #define TARGET_NR_execveat 281 396 #define TARGET_NR_userfaultfd 282 397 #define TARGET_NR_membarrier 283 398 #define TARGET_NR_mlock2 284 399 #define TARGET_NR_copy_file_range 285 400 401 /* 402 * All syscalls below here should go away really, 403 * these are provided for both review and as a porting 404 * help for the C library version. 405 * 406 * Last chance: are any of these important enough to 407 * enable by default? 408 */ 409 #define TARGET_NR_open 1024 410 #define TARGET_NR_link 1025 411 #define TARGET_NR_unlink 1026 412 #define TARGET_NR_mknod 1027 413 #define TARGET_NR_chmod 1028 414 #define TARGET_NR_chown 1029 415 #define TARGET_NR_mkdir 1030 416 #define TARGET_NR_rmdir 1031 417 #define TARGET_NR_lchown 1032 418 #define TARGET_NR_access 1033 419 #define TARGET_NR_rename 1034 420 #define TARGET_NR_readlink 1035 421 #define TARGET_NR_symlink 1036 422 #define TARGET_NR_utimes 1037 423 #define TARGET_NR_3264_stat 1038 424 #define TARGET_NR_3264_lstat 1039 425 426 #define TARGET_NR_pipe 1040 427 #define TARGET_NR_dup2 1041 428 #define TARGET_NR_epoll_create 1042 429 #define TARGET_NR_inotify_init 1043 430 #define TARGET_NR_eventfd 1044 431 #define TARGET_NR_signalfd 1045 432 433 #define TARGET_NR_sendfile 1046 434 #define TARGET_NR_ftruncate 1047 435 #define TARGET_NR_truncate 1048 436 #define TARGET_NR_stat 1049 437 #define TARGET_NR_lstat 1050 438 #define TARGET_NR_fstat 1051 439 #define TARGET_NR_fcntl 1052 440 #define TARGET_NR_fadvise64 1053 441 #define __ARCH_WANT_SYS_FADVISE64 442 #define TARGET_NR_newfstatat 1054 443 #define __ARCH_WANT_SYS_NEWFSTATAT 444 #define TARGET_NR_fstatfs 1055 445 #define TARGET_NR_statfs 1056 446 #define TARGET_NR_lseek 1057 447 #define TARGET_NR_mmap 1058 448 449 #define TARGET_NR_alarm 1059 450 #define __ARCH_WANT_SYS_ALARM 451 #define TARGET_NR_getpgrp 1060 452 #define __ARCH_WANT_SYS_GETPGRP 453 #define TARGET_NR_pause 1061 454 #define __ARCH_WANT_SYS_PAUSE 455 #define TARGET_NR_time 1062 456 #define __ARCH_WANT_SYS_TIME 457 #define __ARCH_WANT_COMPAT_SYS_TIME 458 #define TARGET_NR_utime 1063 459 #define __ARCH_WANT_SYS_UTIME 460 461 #define TARGET_NR_creat 1064 462 #define TARGET_NR_getdents 1065 463 #define __ARCH_WANT_SYS_GETDENTS 464 #define TARGET_NR_futimesat 1066 465 #define TARGET_NR_poll 1068 466 #define TARGET_NR_epoll_wait 1069 467 #define TARGET_NR_ustat 1070 468 #define TARGET_NR_vfork 1071 469 #define TARGET_NR_oldwait4 1072 470 #define TARGET_NR_recv 1073 471 #define TARGET_NR_send 1074 472 #define TARGET_NR_bdflush 1075 473 #define TARGET_NR_umount 1076 474 #define __ARCH_WANT_SYS_OLDUMOUNT 475 #define TARGET_NR_uselib 1077 476 #define TARGET_NR__sysctl 1078 477 478 #define TARGET_NR_fork 1079 479 480 481 /* 482 * 32 bit systems traditionally used different 483 * syscalls for off_t and loff_t arguments, while 484 * 64 bit systems only need the off_t version. 485 * For new 32 bit platforms, there is no need to 486 * implement the old 32 bit off_t syscalls, so 487 * they take different names. 488 * Here we map the numbers so that both versions 489 * use the same syscall table layout. 490 */ 491 492 #define TARGET_NR_fcntl64 TARGET_NR_3264_fcntl 493 #define TARGET_NR_statfs64 TARGET_NR_3264_statfs 494 #define TARGET_NR_fstatfs64 TARGET_NR_3264_fstatfs 495 #define TARGET_NR_truncate64 TARGET_NR_3264_truncate 496 #define TARGET_NR_ftruncate64 TARGET_NR_3264_ftruncate 497 #define TARGET_NR_llseek TARGET_NR_3264_lseek 498 #define TARGET_NR_sendfile64 TARGET_NR_3264_sendfile 499 #define TARGET_NR_fstatat64 TARGET_NR_3264_fstatat 500 #define TARGET_NR_fstat64 TARGET_NR_3264_fstat 501 #define TARGET_NR_mmap2 TARGET_NR_3264_mmap 502 #define TARGET_NR_fadvise64_64 TARGET_NR_3264_fadvise64 503 504 #ifdef TARGET_NR_3264_stat 505 #define TARGET_NR_stat64 TARGET_NR_3264_stat 506 #define TARGET_NR_lstat64 TARGET_NR_3264_lstat 507 #endif 508 509 #endif 510