clock_nanosleep on metag
high-resolution sleep with specifiable clock
sys_clock_nanosleep(clockid_t which_clock, int flags, const struct timespec *rqtp, struct timespec *rmtp)
| number | 115 (0x73) |
|---|---|
| abi | common |
| entry point | sys_clock_nanosleep |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | clock_nanosleep(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 115, the syscall number |
D1Ar1 | clockid_t which_clock |
D0Ar2 | int flags |
D1Ar3 | const struct timespec *rqtp |
D0Ar4 | struct timespec *rmtp |
D0Re0 | the return value |
Then run SWITCH #0x440001 to enter the kernel.
Values wider than one register are packed into consecutive arguments.
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
- x64 230
- x86 267
- arm64 115
- arm 265
- riscv64 115
- ia32 267
- x32 1073742054
- loongarch64 115
- ppc64 248
- ppc 248
- s390x 262
- mips64 5224
- mipsn32 6228
- mipso32 4265
- alpha 422
- arc 115
- blackfin 268, removed in 4.17
- cris 267, removed in 4.17
- csky 115
- frv 267, removed in 4.17
- hexagon 115
- ia64 1256, removed in 6.7
- m32r 267, removed in 4.17
- m68k 262
- microblaze 267
- mn10300 267, removed in 4.17
- nds32 115, removed in 5.18
- nios2 115
- openrisc 115
- parisc 258
- score 115, removed in 4.17
- sh 267
- sparc 259
- sparc64 259
- tilegx 115, removed in 4.17
- tilepro 115, removed in 4.17
- xtensa 247
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/clock_nanosleep?kernel=all