io_getevents on score
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 score |
| entry point | sys_io_getevents |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for score) |
| man page | io_getevents(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r27 | 4, the syscall number |
r4 | aio_context_t ctx_id |
r5 | long min_nr |
r6 | long nr |
r7 | struct io_event *events |
r8 | struct timespec *timeout |
r4 | the return value |
Then run syscall to enter the kernel.
r7 is the error flag and r4 then holds the positive error number.
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
- sh 247
- sparc 272
- sparc64 272
- tilegx 4, removed in 4.17
- tilepro 4, removed in 4.17
- xtensa 242
Get this as JSON: https://api.syscall.sh/v2/syscalls/score/io_getevents?kernel=all