syscall.sh / riscv64 / pselect6
pselect6
synchronous I/O multiplexing
sys_pselect6(int n, fd_set *inp, fd_set *outp, fd_set *exp, struct __kernel_timespec *tsp, void *sig)
| number | 72 (0x48) |
|---|---|
| abi | 64 |
| entry point | sys_pselect6 |
| since | Linux 4.15 |
| man page | pselect6(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
a7 | 72, the syscall number |
a0 | int n |
a1 | fd_set *inp |
a2 | fd_set *outp |
a3 | fd_set *exp |
a4 | struct __kernel_timespec *tsp |
a5 | void *sig |
a0 | the return value |
Then run ecall to enter the kernel.
Same syscall on other architectures
- x64 270
- x86 308
- arm64 72
- arm 335
- x32 1073742094
- loongarch64 72
- ppc64 280
- ppc 280
- s390x 301
- mips64 5260
- mipsn32 6264
- mipso32 4301
- alpha 463
- arc 72
- csky 72
- hexagon 72
- m68k 301
- microblaze 308
- nios2 72
- openrisc 72
- parisc 273
- sh 308
- sparc 297
- sparc64 297
- xtensa 272
Get this as JSON: https://api.syscall.sh/v2/syscalls/riscv64/pselect6