epoll_pwait on metag
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 metag |
| entry point | sys_epoll_pwait |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | epoll_pwait(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 22, the syscall number |
D1Ar1 | int epfd |
D0Ar2 | struct epoll_event *events |
D1Ar3 | int maxevents |
D0Ar4 | int timeout |
D1Ar5 | const sigset_t *sigmask |
D0Ar6 | size_t sigsetsize |
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 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
- 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
- tilepro 22, removed in 4.17
- xtensa 274
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/epoll_pwait?kernel=all