clock_nanosleep on tilepro

high-resolution sleep with specifiable clock

sys_clock_nanosleep(clockid_t which_clock, int flags, const struct timespec *rqtp, struct timespec *rmtp)
number115 (0x73)
abicommon
entry pointsys_clock_nanosleep
sinceLinux 3.7 or earlier (3.7 is the first release scanned for tilepro)
man pageclock_nanosleep(2)
sourceelixir.bootlin.com

Registers

registervalue
r10115, the syscall number
r0clockid_t which_clock
r1int flags
r2const struct timespec *rqtp
r3struct timespec *rmtp
r0the return value

Then run swint1 to enter the kernel.

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.

Same syscall on other architectures

Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/clock_nanosleep?kernel=all