tilepro system calls

TILE Pro, 32 bit :: Linux 4.16 :: 280 system calls :: download JSON :: compare

Put the syscall number in r10 and the arguments in r0 r1 r2 r3 r4 r5, then run swint1. The result comes back in r0.

The kernel uses r1 to signal an error for ordinary calls.

Fast atomic calls use negative numbers and have different register behavior.

This architecture was removed from the Linux kernel in Linux 4.17. The newest release with a syscall table here is Linux 4.16. The other removed architectures live on the historical architectures page.

NRHEXNAME ARG0 r0ARG1 r1ARG2 r2ARG3 r3ARG4 r4ARG5 r5
-3-0x3FAST_cmpxchg64??????
-2-0x2FAST_atomic_update??????
-1-0x1FAST_cmpxchg??????
00x0io_setupunsigned nr_eventsaio_context_t *ctxp----
10x1io_destroyaio_context_t ctx-----
20x2io_submitaio_context_t ctx_idlong nrstruct iocb * *iocbpp---
30x3io_cancelaio_context_t ctx_idstruct iocb *iocbstruct io_event *result---
40x4io_geteventsaio_context_t ctx_idlong min_nrlong nrstruct io_event *eventsstruct timespec *timeout-
50x5setxattrconst char *pathconst char *nameconst void *valuesize_t sizeint flags-
60x6lsetxattrconst char *pathconst char *nameconst void *valuesize_t sizeint flags-
70x7fsetxattrint fdconst char *nameconst void *valuesize_t sizeint flags-
80x8getxattrconst char *pathconst char *namevoid *valuesize_t size--
90x9lgetxattrconst char *pathconst char *namevoid *valuesize_t size--
100xafgetxattrint fdconst char *namevoid *valuesize_t size--
110xblistxattrconst char *pathchar *listsize_t size---
120xcllistxattrconst char *pathchar *listsize_t size---
130xdflistxattrint fdchar *listsize_t size---
140xeremovexattrconst char *pathconst char *name----
150xflremovexattrconst char *pathconst char *name----
160x10fremovexattrint fdconst char *name----
170x11getcwdchar *bufunsigned long size----
180x12lookup_dcookieu64 cookie64char *bufsize_t len---
190x13eventfd2unsigned int countint flags----
200x14epoll_create1int flags-----
210x15epoll_ctlint epfdint opint fdstruct epoll_event *event--
220x16epoll_pwaitint epfdstruct epoll_event *eventsint maxeventsint timeoutconst sigset_t *sigmasksize_t sigsetsize
230x17dupunsigned int fildes-----
240x18dup3unsigned int oldfdunsigned int newfdint flags---
250x19fcntl64unsigned int fdunsigned int cmdunsigned long arg---
260x1ainotify_init1int flags-----
270x1binotify_add_watchint fdconst char *pathu32 mask---
280x1cinotify_rm_watchint fd__s32 wd----
290x1dioctlunsigned int fdunsigned int cmdunsigned long arg---
300x1eioprio_setint whichint whoint ioprio---
310x1fioprio_getint whichint who----
320x20flockunsigned int fdunsigned int cmd----
330x21mknodatint dfdconst char *filenameumode_t modeunsigned dev--
340x22mkdiratint dfdconst char *pathnameumode_t mode---
350x23unlinkatint dfdconst char *pathnameint flag---
360x24symlinkatconst char *oldnameint newdfdconst char *newname---
370x25linkatint olddfdconst char *oldnameint newdfdconst char *newnameint flags-
380x26renameatint olddfdconst char *oldnameint newdfdconst char *newname--
390x27umount2char *nameint flags----
400x28mountchar *dev_namechar *dir_namechar *typeunsigned long flagsvoid *data-
410x29pivot_rootconst char *new_rootconst char *put_old----
430x2bstatfs64const char *pathsize_t szstruct statfs64 *buf---
440x2cfstatfs64unsigned int fdsize_t szstruct statfs64 *buf---
450x2dtruncate64const char *pathloff_t length----
460x2eftruncate64unsigned int fdloff_t length----
470x2ffallocateint fdint modeloff_t offsetloff_t len--
480x30faccessatint dfdconst char *filenameint mode---
490x31chdirconst char *filename-----
500x32fchdirunsigned int fd-----
510x33chrootconst char *filename-----
520x34fchmodunsigned int fdumode_t mode----
530x35fchmodatint dfdconst char *filenameumode_t mode---
540x36fchownatint dfdconst char *filenameuid_t usergid_t groupint flag-
550x37fchownunsigned int fduid_t usergid_t group---
560x38openatint dfdconst char *filenameint flagsumode_t mode--
570x39closeunsigned int fd-----
580x3avhangup------
590x3bpipe2int *fildesint flags----
600x3cquotactlunsigned int cmdconst char *specialqid_t idvoid *addr--
610x3dgetdents64unsigned int fdstruct linux_dirent64 *direntunsigned int count---
620x3ellseekunsigned int fdunsigned long offset_highunsigned long offset_lowloff_t *resultunsigned int whence-
630x3freadunsigned int fdchar *bufsize_t count---
640x40writeunsigned int fdconst char *bufsize_t count---
650x41readvunsigned long fdconst struct iovec *vecunsigned long vlen---
660x42writevunsigned long fdconst struct iovec *vecunsigned long vlen---
670x43pread64unsigned int fdchar *bufsize_t countloff_t pos--
680x44pwrite64unsigned int fdconst char *bufsize_t countloff_t pos--
690x45preadvunsigned long fdconst struct iovec *vecunsigned long vlenunsigned long pos_lunsigned long pos_h-
700x46pwritevunsigned long fdconst struct iovec *vecunsigned long vlenunsigned long pos_lunsigned long pos_h-
710x47sendfile64int out_fdint in_fdloff_t *offsetsize_t count--
720x48pselect6int nfd_set *inpfd_set *outpfd_set *expstruct timespec *tspvoid *sig
730x49ppollstruct pollfd *ufdsunsigned int nfdsstruct timespec *tspconst sigset_t *sigmasksize_t sigsetsize-
740x4asignalfd4int ufdsigset_t *user_masksize_t sizemaskint flags--
750x4bvmspliceint fdconst struct iovec *iovunsigned long nr_segsunsigned int flags--
760x4cspliceint fd_inloff_t *off_inint fd_outloff_t *off_outsize_t lenunsigned int flags
770x4dteeint fdinint fdoutsize_t lenunsigned int flags--
780x4ereadlinkatint dfdconst char *pathchar *bufint bufsiz--
790x4ffstatat64int dfdconst char *filenamestruct stat64 *statbufint flag--
800x50fstat64unsigned long fdstruct stat64 *statbuf----
810x51sync------
820x52fsyncunsigned int fd-----
830x53fdatasyncunsigned int fd-----
840x54sync_file_range2int fdunsigned int flagsloff_t offsetloff_t nbytes--
850x55timerfd_createint clockidint flags----
860x56timerfd_settimeint ufdint flagsconst struct itimerspec *utmrstruct itimerspec *otmr--
870x57timerfd_gettimeint ufdstruct itimerspec *otmr----
880x58utimensatint dfdconst char *filenamestruct timespec *utimesint flags--
890x59acctconst char *name-----
900x5acapgetcap_user_header_t headercap_user_data_t dataptr----
910x5bcapsetcap_user_header_t headerconst cap_user_data_t data----
920x5cpersonalityunsigned int personality-----
930x5dexitint error_code-----
940x5eexit_groupint error_code-----
950x5fwaitidint whichpid_t pidstruct siginfo *infopint optionsstruct rusage *ru-
960x60set_tid_addressint *tidptr-----
970x61unshareunsigned long unshare_flags-----
980x62futexu32 *uaddrint opu32 valstruct timespec *utimeu32 *uaddr2u32 val3
990x63set_robust_liststruct robust_list_head *headsize_t len----
1000x64get_robust_listint pidstruct robust_list_head * *head_ptrsize_t *len_ptr---
1010x65nanosleepstruct timespec *rqtpstruct timespec *rmtp----
1020x66getitimerint whichstruct itimerval *value----
1030x67setitimerint whichstruct itimerval *valuestruct itimerval *ovalue---
1040x68kexec_loadunsigned long entryunsigned long nr_segmentsstruct kexec_segment *segmentsunsigned long flags--
1050x69init_modulevoid *umodunsigned long lenconst char *uargs---
1060x6adelete_moduleconst char *name_userunsigned int flags----
1070x6btimer_createclockid_t which_clockstruct sigevent *timer_event_spectimer_t *created_timer_id---
1080x6ctimer_gettimetimer_t timer_idstruct itimerspec *setting----
1090x6dtimer_getoverruntimer_t timer_id-----
1100x6etimer_settimetimer_t timer_idint flagsconst struct itimerspec *new_settingstruct itimerspec *old_setting--
1110x6ftimer_deletetimer_t timer_id-----
1120x70clock_settimeclockid_t which_clockconst struct timespec *tp----
1130x71clock_gettimeclockid_t which_clockstruct timespec *tp----
1140x72clock_getresclockid_t which_clockstruct timespec *tp----
1150x73clock_nanosleepclockid_t which_clockint flagsconst struct timespec *rqtpstruct timespec *rmtp--
1160x74syslogint typechar *bufint len---
1170x75ptracelong requestlong pidunsigned long addrunsigned long data--
1180x76sched_setparampid_t pidstruct sched_param *param----
1190x77sched_setschedulerpid_t pidint policystruct sched_param *param---
1200x78sched_getschedulerpid_t pid-----
1210x79sched_getparampid_t pidstruct sched_param *param----
1220x7asched_setaffinitypid_t pidunsigned int lenunsigned long *user_mask_ptr---
1230x7bsched_getaffinitypid_t pidunsigned int lenunsigned long *user_mask_ptr---
1240x7csched_yield------
1250x7dsched_get_priority_maxint policy-----
1260x7esched_get_priority_minint policy-----
1270x7fsched_rr_get_intervalpid_t pidstruct timespec *interval----
1280x80restart_syscall------
1290x81killpid_t pidint sig----
1300x82tkillpid_t pidint sig----
1310x83tgkillpid_t tgidpid_t pidint sig---
1320x84sigaltstackconst stack_t *ussstack_t *uoss----
1330x85rt_sigsuspendsigset_t *unewsetsize_t sigsetsize----
1340x86rt_sigactionint sigconst struct sigaction *actstruct sigaction *oactsize_t sigsetsize--
1350x87rt_sigprocmaskint howsigset_t *nsetsigset_t *osetsize_t sigsetsize--
1360x88rt_sigpendingsigset_t *usetsize_t sigsetsize----
1370x89rt_sigtimedwaitconst sigset_t *uthesesiginfo_t *uinfoconst struct timespec *utssize_t sigsetsize--
1380x8art_sigqueueinfopid_t pidint sigsiginfo_t *uinfo---
1390x8brt_sigreturn------
1400x8csetpriorityint whichint whoint niceval---
1410x8dgetpriorityint whichint who----
1420x8erebootint magic1int magic2unsigned int cmdvoid *arg--
1430x8fsetregidgid_t rgidgid_t egid----
1440x90setgidgid_t gid-----
1450x91setreuiduid_t ruiduid_t euid----
1460x92setuiduid_t uid-----
1470x93setresuiduid_t ruiduid_t euiduid_t suid---
1480x94getresuiduid_t *ruiduid_t *euiduid_t *suid---
1490x95setresgidgid_t rgidgid_t egidgid_t sgid---
1500x96getresgidgid_t *rgidgid_t *egidgid_t *sgid---
1510x97setfsuiduid_t uid-----
1520x98setfsgidgid_t gid-----
1530x99timesstruct tms *tbuf-----
1540x9asetpgidpid_t pidpid_t pgid----
1550x9bgetpgidpid_t pid-----
1560x9cgetsidpid_t pid-----
1570x9dsetsid------
1580x9egetgroupsint gidsetsizegid_t *grouplist----
1590x9fsetgroupsint gidsetsizegid_t *grouplist----
1600xa0unamestruct new_utsname *name-----
1610xa1sethostnamechar *nameint len----
1620xa2setdomainnamechar *nameint len----
1630xa3getrlimitunsigned int resourcestruct rlimit *rlim----
1640xa4setrlimitunsigned int resourcestruct rlimit *rlim----
1650xa5getrusageint whostruct rusage *ru----
1660xa6umaskint mask-----
1670xa7prctlint optionunsigned long arg2unsigned long arg3unsigned long arg4unsigned long arg5-
1680xa8getcpuunsigned *cpupunsigned *nodepstruct getcpu_cache *unused---
1690xa9gettimeofdaystruct timeval *tvstruct timezone *tz----
1700xaasettimeofdaystruct timeval *tvstruct timezone *tz----
1710xabadjtimexstruct timex *txc_p-----
1720xacgetpid------
1730xadgetppid------
1740xaegetuid------
1750xafgeteuid------
1760xb0getgid------
1770xb1getegid------
1780xb2gettid------
1790xb3sysinfostruct sysinfo *info-----
1800xb4mq_openconst char *nameint oflagumode_t modestruct mq_attr *attr--
1810xb5mq_unlinkconst char *name-----
1820xb6mq_timedsendmqd_t mqdesconst char *msg_ptrsize_t msg_lenunsigned int msg_prioconst struct timespec *abs_timeout-
1830xb7mq_timedreceivemqd_t mqdeschar *msg_ptrsize_t msg_lenunsigned int *msg_prioconst struct timespec *abs_timeout-
1840xb8mq_notifymqd_t mqdesconst struct sigevent *notification----
1850xb9mq_getsetattrmqd_t mqdesconst struct mq_attr *mqstatstruct mq_attr *omqstat---
1860xbamsggetkey_t keyint msgflg----
1870xbbmsgctlint msqidint cmdstruct msqid_ds *buf---
1880xbcmsgrcvint msqidstruct msgbuf *msgpsize_t msgszlong msgtypint msgflg-
1890xbdmsgsndint msqidstruct msgbuf *msgpsize_t msgszint msgflg--
1900xbesemgetkey_t keyint nsemsint semflg---
1910xbfsemctlint semidint semnumint cmdunsigned long arg--
1920xc0semtimedopint semidstruct sembuf *sopsunsigned nsopsconst struct timespec *timeout--
1930xc1semopint semidstruct sembuf *sopsunsigned nsops---
1940xc2shmgetkey_t keysize_t sizeint flag---
1950xc3shmctlint shmidint cmdstruct shmid_ds *buf---
1960xc4shmatint shmidchar *shmaddrint shmflg---
1970xc5shmdtchar *shmaddr-----
1980xc6socketint familyint typeint protocol---
1990xc7socketpairint familyint typeint protocolint *usockvec--
2000xc8bindint fdstruct sockaddr *umyaddrint addrlen---
2010xc9listenint fdint backlog----
2020xcaacceptint fdstruct sockaddr *upeer_sockaddrint *upeer_addrlen---
2030xcbconnectint fdstruct sockaddr *uservaddrint addrlen---
2040xccgetsocknameint fdstruct sockaddr *usockaddrint *usockaddr_len---
2050xcdgetpeernameint fdstruct sockaddr *usockaddrint *usockaddr_len---
2060xcesendtoint fdvoid *buffsize_t lenunsigned int flagsstruct sockaddr *addrint addr_len
2070xcfrecvfromint fdvoid *ubufsize_t sizeunsigned int flagsstruct sockaddr *addrint *addr_len
2080xd0setsockoptint fdint levelint optnamechar *optvalint optlen-
2090xd1getsockoptint fdint levelint optnamechar *optvalint *optlen-
2100xd2shutdownint fdint how----
2110xd3sendmsgint fdstruct user_msghdr *msgunsigned int flags---
2120xd4recvmsgint fdstruct user_msghdr *msgunsigned int flags---
2130xd5readaheadint fdu32 offset_lou32 offset_hiu32 count--
2140xd6brkunsigned long brk-----
2150xd7munmapunsigned long addrsize_t len----
2160xd8mremapunsigned long addrunsigned long old_lenunsigned long new_lenunsigned long flagsunsigned long new_addr-
2170xd9add_keyconst char *_typeconst char *_descriptionconst void *_payloadsize_t plenkey_serial_t destringid-
2180xdarequest_keyconst char *_typeconst char *_descriptionconst char *_callout_infokey_serial_t destringid--
2190xdbkeyctlint cmdunsigned long arg2unsigned long arg3unsigned long arg4unsigned long arg5-
2200xdccloneunsigned long clone_flagsunsigned long newspint *parent_tidptrint *child_tidptrunsigned long tls-
2210xddexecveconst char *filenameconst char *const *argvconst char *const *envp---
2220xdemmap2unsigned long addrunsigned long lenunsigned long protunsigned long flagsunsigned long fdunsigned long off_4k
2230xdffadvise64_64int fdu32 offset_lou32 offset_hiu32 len_lou32 len_hiint advice
2240xe0swaponconst char *specialfileint swap_flags----
2250xe1swapoffconst char *specialfile-----
2260xe2mprotectunsigned long startsize_t lenunsigned long prot---
2270xe3msyncunsigned long startsize_t lenint flags---
2280xe4mlockunsigned long startsize_t len----
2290xe5munlockunsigned long startsize_t len----
2300xe6mlockallint flags-----
2310xe7munlockall------
2320xe8mincoreunsigned long startsize_t lenunsigned char *vec---
2330xe9madviseunsigned long startsize_t lenint behavior---
2340xearemap_file_pagesunsigned long startunsigned long sizeunsigned long protunsigned long pgoffunsigned long flags-
2350xebmbindunsigned long startunsigned long lenunsigned long modeconst unsigned long *nmaskunsigned long maxnodeunsigned flags
2360xecget_mempolicyint *policyunsigned long *nmaskunsigned long maxnodeunsigned long addrunsigned long flags-
2370xedset_mempolicyint modeconst unsigned long *nmaskunsigned long maxnode---
2380xeemigrate_pagespid_t pidunsigned long maxnodeconst unsigned long *fromconst unsigned long *to--
2390xefmove_pagespid_t pidunsigned long nr_pagesconst void * *pagesconst int *nodesint *statusint flags
2400xf0rt_tgsigqueueinfopid_t tgidpid_t pidint sigsiginfo_t *uinfo--
2410xf1perf_event_openstruct perf_event_attr *attr_uptrpid_t pidint cpuint group_fdunsigned long flags-
2420xf2accept4int fdstruct sockaddr *upeer_sockaddrint *upeer_addrlenint flags--
2430xf3recvmmsgint fdstruct mmsghdr *mmsgunsigned int vlenunsigned int flagsstruct timespec *timeout-
2440xf4cmpxchg_badaddrunsigned long address-----
2450xf5cacheflushunsigned long addrunsigned long lenunsigned long flags---
2600x104wait4pid_t pidint *stat_addrint optionsstruct rusage *ru--
2610x105prlimit64pid_t pidunsigned int resourceconst struct rlimit64 *new_rlimstruct rlimit64 *old_rlim--
2620x106fanotify_initunsigned int flagsunsigned int event_f_flags----
2630x107fanotify_markint fanotify_fdunsigned int flagsu64 maskint fdconst char *pathname-
2640x108name_to_handle_atint dfdconst char *namestruct file_handle *handleint *mnt_idint flag-
2650x109open_by_handle_atint mountdirfdstruct file_handle *handleint flags---
2660x10aclock_adjtimeclockid_t which_clockstruct timex *tx----
2670x10bsyncfsint fd-----
2680x10csetnsint fdint nstype----
2690x10dsendmmsgint fdstruct mmsghdr *mmsgunsigned int vlenunsigned int flags--
2700x10eprocess_vm_readvpid_t pidconst struct iovec *lvecunsigned long liovcntconst struct iovec *rvecunsigned long riovcntunsigned long flags
2710x10fprocess_vm_writevpid_t pidconst struct iovec *lvecunsigned long liovcntconst struct iovec *rvecunsigned long riovcntunsigned long flags
2720x110kcmppid_t pid1pid_t pid2int typeunsigned long idx1unsigned long idx2-
2730x111finit_moduleint fdconst char *uargsint flags---
2740x112sched_setattrpid_t pidstruct sched_attr *attrunsigned int flags---
2750x113sched_getattrpid_t pidstruct sched_attr *attrunsigned int sizeunsigned int flags--
2760x114renameat2int olddfdconst char *oldnameint newdfdconst char *newnameunsigned int flags-
2770x115seccompunsigned int opunsigned int flagsconst char *uargs---
2780x116getrandomchar *bufsize_t countunsigned int flags---
2790x117memfd_createconst char *uname_ptrunsigned int flags----
2800x118bpfint cmdunion bpf_attr *attrunsigned int size---
2810x119execveatint dfdconst char *filenameconst char *const *argvconst char *const *envpint flags-
2820x11auserfaultfdint flags-----
2830x11bmembarrierint cmdint flags----
2840x11cmlock2unsigned long startsize_t lenint flags---
2850x11dcopy_file_rangeint fd_inloff_t *off_inint fd_outloff_t *off_outsize_t lenunsigned int flags
2860x11epreadv2unsigned long fdconst struct iovec *vecunsigned long vlenunsigned long pos_lunsigned long pos_hrwf_t flags
2870x11fpwritev2unsigned long fdconst struct iovec *vecunsigned long vlenunsigned long pos_lunsigned long pos_hrwf_t flags
2880x120pkey_mprotectunsigned long startsize_t lenunsigned long protint pkey--
2890x121pkey_allocunsigned long flagsunsigned long init_val----
2900x122pkey_freeint pkey-----
2910x123statxint dfdconst char *pathunsigned flagsunsigned maskstruct statx *buffer-

Want the raw data? /tilepro/syscalls.json has every tilepro syscall seen since Linux 3.7, the first release scanned for tilepro, along with the release it showed up in (since) and the one that dropped it (removed_in).