epoll_pwait on tilepro
wait for an I/O event on an epoll file descriptor
sys_epoll_pwait(int epfd, struct epoll_event *events, int maxevents, int timeout, const sigset_t *sigmask, size_t sigsetsize)
| number | 22 (0x16) |
|---|---|
| abi | common |
| kconfig | CONFIG_EPOLL |
| family | epoll see the whole family on tilepro |
| entry point | sys_epoll_pwait |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for tilepro) |
| man page | epoll_pwait(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 22, the syscall number |
r0 | int epfd |
r1 | struct epoll_event *events |
r2 | int maxevents |
r3 | int timeout |
r4 | const sigset_t *sigmask |
r5 | size_t sigsetsize |
r0 | the 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
- x64 281
- x86 319
- arm64 22
- arm 346
- riscv64 22
- ia32 319
- x32 1073742105
- loongarch64 22
- ppc64 303
- ppc 303
- s390x 312
- mips64 5272
- mipsn32 6276
- mipso32 4313
- alpha 474
- arc 22
- blackfin 346, removed in 4.17
- cris 319, removed in 4.17
- csky 22
- frv 319, removed in 4.17
- hexagon 22
- ia64 1305, removed in 6.7
- m32r 319, removed in 4.17
- m68k 315
- metag 22, removed in 4.17
- microblaze 319
- mn10300 320, removed in 4.17
- nds32 22, removed in 5.18
- nios2 22
- openrisc 22
- parisc 297
- score 22, removed in 4.17
- sh 319
- sparc 309
- sparc64 309
- tilegx 22, removed in 4.17
- xtensa 274
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/epoll_pwait?kernel=all