preadv2 on tilepro
read or write data into multiple buffers
sys_preadv2(unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h, rwf_t flags)
| number | 286 (0x11e) |
|---|---|
| abi | common |
| entry point | sys_preadv2 |
| since | Linux 4.6 |
| man page | preadv2(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 286, the syscall number |
r0 | unsigned long fd |
r1 | const struct iovec *vec |
r2 | unsigned long vlen |
r3 | unsigned long pos_l |
r4 | unsigned long pos_h |
r5 | rwf_t flags |
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 327
- x86 378
- arm64 286
- arm 392
- riscv64 286
- ia32 378
- x32 1073742358, 1073742370
- loongarch64 286
- ppc64 380
- ppc 380
- s390x 376
- mips64 5321
- mipsn32 6325
- mipso32 4361
- alpha 520
- arc 286
- csky 286
- hexagon 286
- ia64 1348, removed in 6.7
- m68k 377
- metag 286, removed in 4.17
- microblaze 393
- nds32 286, removed in 5.18
- nios2 286
- openrisc 286
- parisc 347
- score 286, removed in 4.17
- sh 381
- sparc 358
- sparc64 358
- tilegx 286, removed in 4.17
- xtensa 346
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/preadv2?kernel=all