io_getevents on tilepro
read asynchronous I/O events from the completion queue
sys_io_getevents(aio_context_t ctx_id, long min_nr, long nr, struct io_event *events, struct timespec *timeout)
| number | 4 (0x4) |
|---|---|
| abi | common |
| kconfig | CONFIG_AIO |
| family | aio see the whole family on tilepro |
| entry point | sys_io_getevents |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for tilepro) |
| man page | io_getevents(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 4, the syscall number |
r0 | aio_context_t ctx_id |
r1 | long min_nr |
r2 | long nr |
r3 | struct io_event *events |
r4 | struct timespec *timeout |
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 208
- x86 247
- arm64 4
- arm 245
- riscv64 4
- ia32 247
- x32 1073742032
- loongarch64 4
- ppc64 229
- ppc 229
- s390x 245
- mips64 5202
- mipsn32 6202
- mipso32 4243
- alpha 400
- arc 4
- blackfin 247, removed in 4.17
- cris 247, removed in 4.17
- csky 4
- frv 247, removed in 4.17
- hexagon 4
- ia64 1240, removed in 6.7
- m32r 247, removed in 4.17
- m68k 243
- metag 4, removed in 4.17
- microblaze 247
- mn10300 247, removed in 4.17
- nds32 4, removed in 5.18
- nios2 4
- openrisc 4
- parisc 217
- score 4, removed in 4.17
- sh 247
- sparc 272
- sparc64 272
- tilegx 4, removed in 4.17
- xtensa 242
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/io_getevents?kernel=all