syscall_arm64.odin 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. //+build arm64
  2. package linux
  3. // Syscalls for arm64 are defined using the new way, i.e. differently from
  4. // the other platforms. It defines a few constants representing which optional
  5. // syscalls it wants and includes the generic unistd.h file.
  6. SYS_io_setup :: uintptr(0)
  7. SYS_io_destroy :: uintptr(1)
  8. SYS_io_submit :: uintptr(2)
  9. SYS_io_cancel :: uintptr(3)
  10. // time32 syscall
  11. SYS_io_getevents :: uintptr(4)
  12. SYS_setxattr :: uintptr(5)
  13. SYS_lsetxattr :: uintptr(6)
  14. SYS_fsetxattr :: uintptr(7)
  15. SYS_getxattr :: uintptr(8)
  16. SYS_lgetxattr :: uintptr(9)
  17. SYS_fgetxattr :: uintptr(10)
  18. SYS_listxattr :: uintptr(11)
  19. SYS_llistxattr :: uintptr(12)
  20. SYS_flistxattr :: uintptr(13)
  21. SYS_removexattr :: uintptr(14)
  22. SYS_lremovexattr :: uintptr(15)
  23. SYS_fremovexattr :: uintptr(16)
  24. SYS_getcwd :: uintptr(17)
  25. SYS_lookup_dcookie :: uintptr(18)
  26. SYS_eventfd2 :: uintptr(19)
  27. SYS_epoll_create1 :: uintptr(20)
  28. SYS_epoll_ctl :: uintptr(21)
  29. SYS_epoll_pwait :: uintptr(22)
  30. SYS_dup :: uintptr(23)
  31. SYS_dup3 :: uintptr(24)
  32. SYS_fcntl :: uintptr(25)
  33. SYS_inotify_init1 :: uintptr(26)
  34. SYS_inotify_add_watch :: uintptr(27)
  35. SYS_inotify_rm_watch :: uintptr(28)
  36. SYS_ioctl :: uintptr(29)
  37. SYS_ioprio_set :: uintptr(30)
  38. SYS_ioprio_get :: uintptr(31)
  39. SYS_flock :: uintptr(32)
  40. SYS_mknodat :: uintptr(33)
  41. SYS_mkdirat :: uintptr(34)
  42. SYS_unlinkat :: uintptr(35)
  43. SYS_symlinkat :: uintptr(36)
  44. SYS_linkat :: uintptr(37)
  45. SYS_renameat :: uintptr(38)
  46. SYS_umount2 :: uintptr(39)
  47. SYS_mount :: uintptr(40)
  48. SYS_pivot_root :: uintptr(41)
  49. SYS_nfsservctl :: uintptr(42)
  50. SYS_statfs :: uintptr(43)
  51. SYS_fstatfs :: uintptr(44)
  52. SYS_truncate :: uintptr(45)
  53. SYS_ftruncate :: uintptr(46)
  54. SYS_fallocate :: uintptr(47)
  55. SYS_faccessat :: uintptr(48)
  56. SYS_chdir :: uintptr(49)
  57. SYS_fchdir :: uintptr(50)
  58. SYS_chroot :: uintptr(51)
  59. SYS_fchmod :: uintptr(52)
  60. SYS_fchmodat :: uintptr(53)
  61. SYS_fchownat :: uintptr(54)
  62. SYS_fchown :: uintptr(55)
  63. SYS_openat :: uintptr(56)
  64. SYS_close :: uintptr(57)
  65. SYS_vhangup :: uintptr(58)
  66. SYS_pipe2 :: uintptr(59)
  67. SYS_quotactl :: uintptr(60)
  68. SYS_getdents64 :: uintptr(61)
  69. SYS_lseek :: uintptr(62)
  70. SYS_read :: uintptr(63)
  71. SYS_write :: uintptr(64)
  72. SYS_readv :: uintptr(65)
  73. SYS_writev :: uintptr(66)
  74. SYS_pread64 :: uintptr(67)
  75. SYS_pwrite64 :: uintptr(68)
  76. SYS_preadv :: uintptr(69)
  77. SYS_pwritev :: uintptr(70)
  78. SYS_sendfile :: uintptr(71)
  79. SYS_pselect6 :: uintptr(72)
  80. SYS_ppoll :: uintptr(73)
  81. SYS_signalfd4 :: uintptr(74)
  82. SYS_vmsplice :: uintptr(75)
  83. SYS_splice :: uintptr(76)
  84. SYS_tee :: uintptr(77)
  85. SYS_readlinkat :: uintptr(78)
  86. SYS_fstatat :: uintptr(79)
  87. SYS_fstat :: uintptr(80)
  88. SYS_sync :: uintptr(81)
  89. SYS_fsync :: uintptr(82)
  90. SYS_fdatasync :: uintptr(83)
  91. SYS_sync_file_range :: uintptr(84)
  92. SYS_timerfd_create :: uintptr(85)
  93. SYS_timerfd_settime :: uintptr(86)
  94. SYS_timerfd_gettime :: uintptr(87)
  95. SYS_utimensat :: uintptr(88)
  96. SYS_acct :: uintptr(89)
  97. SYS_capget :: uintptr(90)
  98. SYS_capset :: uintptr(91)
  99. SYS_personality :: uintptr(92)
  100. SYS_exit :: uintptr(93)
  101. SYS_exit_group :: uintptr(94)
  102. SYS_waitid :: uintptr(95)
  103. SYS_set_tid_address :: uintptr(96)
  104. SYS_unshare :: uintptr(97)
  105. SYS_futex :: uintptr(98)
  106. SYS_set_robust_list :: uintptr(99)
  107. SYS_get_robust_list :: uintptr(100)
  108. SYS_nanosleep :: uintptr(101)
  109. SYS_getitimer :: uintptr(102)
  110. SYS_setitimer :: uintptr(103)
  111. SYS_kexec_load :: uintptr(104)
  112. SYS_init_module :: uintptr(105)
  113. SYS_delete_module :: uintptr(106)
  114. SYS_timer_create :: uintptr(107)
  115. SYS_timer_gettime :: uintptr(108)
  116. SYS_timer_getoverrun :: uintptr(109)
  117. SYS_timer_settime :: uintptr(110)
  118. SYS_timer_delete :: uintptr(111)
  119. SYS_clock_settime :: uintptr(112)
  120. SYS_clock_gettime :: uintptr(113)
  121. SYS_clock_getres :: uintptr(114)
  122. SYS_clock_nanosleep :: uintptr(115)
  123. SYS_syslog :: uintptr(116)
  124. SYS_ptrace :: uintptr(117)
  125. SYS_sched_setparam :: uintptr(118)
  126. SYS_sched_setscheduler :: uintptr(119)
  127. SYS_sched_getscheduler :: uintptr(120)
  128. SYS_sched_getparam :: uintptr(121)
  129. SYS_sched_setaffinity :: uintptr(122)
  130. SYS_sched_getaffinity :: uintptr(123)
  131. SYS_sched_yield :: uintptr(124)
  132. SYS_sched_get_priority_max :: uintptr(125)
  133. SYS_sched_get_priority_min :: uintptr(126)
  134. SYS_sched_rr_get_interval :: uintptr(127)
  135. SYS_restart_syscall :: uintptr(128)
  136. SYS_kill :: uintptr(129)
  137. SYS_tkill :: uintptr(130)
  138. SYS_tgkill :: uintptr(131)
  139. SYS_sigaltstack :: uintptr(132)
  140. SYS_rt_sigsuspend :: uintptr(133)
  141. SYS_rt_sigaction :: uintptr(134)
  142. SYS_rt_sigprocmask :: uintptr(135)
  143. SYS_rt_sigpending :: uintptr(136)
  144. SYS_rt_sigtimedwait :: uintptr(137)
  145. SYS_rt_sigqueueinfo :: uintptr(138)
  146. SYS_rt_sigreturn :: uintptr(139)
  147. SYS_setpriority :: uintptr(140)
  148. SYS_getpriority :: uintptr(141)
  149. SYS_reboot :: uintptr(142)
  150. SYS_setregid :: uintptr(143)
  151. SYS_setgid :: uintptr(144)
  152. SYS_setreuid :: uintptr(145)
  153. SYS_setuid :: uintptr(146)
  154. SYS_setresuid :: uintptr(147)
  155. SYS_getresuid :: uintptr(148)
  156. SYS_setresgid :: uintptr(149)
  157. SYS_getresgid :: uintptr(150)
  158. SYS_setfsuid :: uintptr(151)
  159. SYS_setfsgid :: uintptr(152)
  160. SYS_times :: uintptr(153)
  161. SYS_setpgid :: uintptr(154)
  162. SYS_getpgid :: uintptr(155)
  163. SYS_getsid :: uintptr(156)
  164. SYS_setsid :: uintptr(157)
  165. SYS_getgroups :: uintptr(158)
  166. SYS_setgroups :: uintptr(159)
  167. SYS_uname :: uintptr(160)
  168. SYS_sethostname :: uintptr(161)
  169. SYS_setdomainname :: uintptr(162)
  170. SYS_getrlimit :: uintptr(163)
  171. SYS_setrlimit :: uintptr(164)
  172. SYS_getrusage :: uintptr(165)
  173. SYS_umask :: uintptr(166)
  174. SYS_prctl :: uintptr(167)
  175. SYS_getcpu :: uintptr(168)
  176. SYS_gettimeofday :: uintptr(169)
  177. SYS_settimeofday :: uintptr(170)
  178. SYS_adjtimex :: uintptr(171)
  179. SYS_getpid :: uintptr(172)
  180. SYS_getppid :: uintptr(173)
  181. SYS_getuid :: uintptr(174)
  182. SYS_geteuid :: uintptr(175)
  183. SYS_getgid :: uintptr(176)
  184. SYS_getegid :: uintptr(177)
  185. SYS_gettid :: uintptr(178)
  186. SYS_sysinfo :: uintptr(179)
  187. SYS_mq_open :: uintptr(180)
  188. SYS_mq_unlink :: uintptr(181)
  189. SYS_mq_timedsend :: uintptr(182)
  190. SYS_mq_timedreceive :: uintptr(183)
  191. SYS_mq_notify :: uintptr(184)
  192. SYS_mq_getsetattr :: uintptr(185)
  193. SYS_msgget :: uintptr(186)
  194. SYS_msgctl :: uintptr(187)
  195. SYS_msgrcv :: uintptr(188)
  196. SYS_msgsnd :: uintptr(189)
  197. SYS_semget :: uintptr(190)
  198. SYS_semctl :: uintptr(191)
  199. SYS_semtimedop :: uintptr(192)
  200. SYS_semop :: uintptr(193)
  201. SYS_shmget :: uintptr(194)
  202. SYS_shmctl :: uintptr(195)
  203. SYS_shmat :: uintptr(196)
  204. SYS_shmdt :: uintptr(197)
  205. SYS_socket :: uintptr(198)
  206. SYS_socketpair :: uintptr(199)
  207. SYS_bind :: uintptr(200)
  208. SYS_listen :: uintptr(201)
  209. SYS_accept :: uintptr(202)
  210. SYS_connect :: uintptr(203)
  211. SYS_getsockname :: uintptr(204)
  212. SYS_getpeername :: uintptr(205)
  213. SYS_sendto :: uintptr(206)
  214. SYS_recvfrom :: uintptr(207)
  215. SYS_setsockopt :: uintptr(208)
  216. SYS_getsockopt :: uintptr(209)
  217. SYS_shutdown :: uintptr(210)
  218. SYS_sendmsg :: uintptr(211)
  219. SYS_recvmsg :: uintptr(212)
  220. SYS_readahead :: uintptr(213)
  221. SYS_brk :: uintptr(214)
  222. SYS_munmap :: uintptr(215)
  223. SYS_mremap :: uintptr(216)
  224. SYS_add_key :: uintptr(217)
  225. SYS_request_key :: uintptr(218)
  226. SYS_keyctl :: uintptr(219)
  227. SYS_clone :: uintptr(220)
  228. SYS_execve :: uintptr(221)
  229. SYS_mmap :: uintptr(222)
  230. SYS_fadvise64 :: uintptr(223)
  231. /* CONFIG_MMU only */
  232. SYS_swapon :: uintptr(224)
  233. SYS_swapoff :: uintptr(225)
  234. SYS_mprotect :: uintptr(226)
  235. SYS_msync :: uintptr(227)
  236. SYS_mlock :: uintptr(228)
  237. SYS_munlock :: uintptr(229)
  238. SYS_mlockall :: uintptr(230)
  239. SYS_munlockall :: uintptr(231)
  240. SYS_mincore :: uintptr(232)
  241. SYS_madvise :: uintptr(233)
  242. SYS_remap_file_pages :: uintptr(234)
  243. SYS_mbind :: uintptr(235)
  244. SYS_get_mempolicy :: uintptr(236)
  245. SYS_set_mempolicy :: uintptr(237)
  246. SYS_migrate_pages :: uintptr(238)
  247. SYS_move_pages :: uintptr(239)
  248. SYS_rt_tgsigqueueinfo :: uintptr(240)
  249. SYS_perf_event_open :: uintptr(241)
  250. SYS_accept4 :: uintptr(242)
  251. SYS_recvmmsg :: uintptr(243)
  252. SYS_wait4 :: uintptr(260)
  253. SYS_prlimit64 :: uintptr(261)
  254. SYS_fanotify_init :: uintptr(262)
  255. SYS_fanotify_mark :: uintptr(263)
  256. SYS_name_to_handle_at :: uintptr(264)
  257. SYS_open_by_handle_at :: uintptr(265)
  258. SYS_clock_adjtime :: uintptr(266)
  259. SYS_syncfs :: uintptr(267)
  260. SYS_setns :: uintptr(268)
  261. SYS_sendmmsg :: uintptr(269)
  262. SYS_process_vm_readv :: uintptr(270)
  263. SYS_process_vm_writev :: uintptr(271)
  264. SYS_kcmp :: uintptr(272)
  265. SYS_finit_module :: uintptr(273)
  266. SYS_sched_setattr :: uintptr(274)
  267. SYS_sched_getattr :: uintptr(275)
  268. SYS_renameat2 :: uintptr(276)
  269. SYS_seccomp :: uintptr(277)
  270. SYS_getrandom :: uintptr(278)
  271. SYS_memfd_create :: uintptr(279)
  272. SYS_bpf :: uintptr(280)
  273. SYS_execveat :: uintptr(281)
  274. SYS_userfaultfd :: uintptr(282)
  275. SYS_membarrier :: uintptr(283)
  276. SYS_mlock2 :: uintptr(284)
  277. SYS_copy_file_range :: uintptr(285)
  278. SYS_preadv2 :: uintptr(286)
  279. SYS_pwritev2 :: uintptr(287)
  280. SYS_pkey_mprotect :: uintptr(288)
  281. SYS_pkey_alloc :: uintptr(289)
  282. SYS_pkey_free :: uintptr(290)
  283. SYS_statx :: uintptr(291)
  284. SYS_io_pgetevents :: uintptr(292)
  285. SYS_rseq :: uintptr(293)
  286. SYS_kexec_file_load :: uintptr(294)
  287. SYS_pidfd_send_signal :: uintptr(424)
  288. SYS_io_uring_setup :: uintptr(425)
  289. SYS_io_uring_enter :: uintptr(426)
  290. SYS_io_uring_register :: uintptr(427)
  291. SYS_open_tree :: uintptr(428)
  292. SYS_move_mount :: uintptr(429)
  293. SYS_fsopen :: uintptr(430)
  294. SYS_fsconfig :: uintptr(431)
  295. SYS_fsmount :: uintptr(432)
  296. SYS_fspick :: uintptr(433)
  297. SYS_pidfd_open :: uintptr(434)
  298. SYS_clone3 :: uintptr(435)
  299. SYS_close_range :: uintptr(436)
  300. SYS_openat2 :: uintptr(437)
  301. SYS_pidfd_getfd :: uintptr(438)
  302. SYS_faccessat2 :: uintptr(439)
  303. SYS_process_madvise :: uintptr(440)
  304. SYS_epoll_pwait2 :: uintptr(441)
  305. SYS_mount_setattr :: uintptr(442)
  306. SYS_quotactl_fd :: uintptr(443)
  307. SYS_landlock_create_ruleset :: uintptr(444)
  308. SYS_landlock_add_rule :: uintptr(445)
  309. SYS_landlock_restrict_self :: uintptr(446)
  310. SYS_memfd_secret :: uintptr(447)
  311. SYS_process_mrelease :: uintptr(448)
  312. SYS_futex_waitv :: uintptr(449)
  313. SYS_set_mempolicy_home_node :: uintptr(450)
  314. SYS_cachestat :: uintptr(451)
  315. SYS_fchmodat2 :: uintptr(452)