pwritev2 on tilepro
read or write data into multiple buffers
sys_pwritev2(unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h, rwf_t flags)
| number | 287 (0x11f) |
|---|---|
| abi | common |
| entry point | sys_pwritev2 |
| since | Linux 4.6 |
| man page | pwritev2(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 287, 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 328
- x86 379
- arm64 287
- arm 393
- riscv64 287
- ia32 379
- x32 1073742359, 1073742371
- loongarch64 287
- ppc64 381
- ppc 381
- s390x 377
- mips64 5322
- mipsn32 6326
- mipso32 4362
- alpha 521
- arc 287
- csky 287
- hexagon 287
- ia64 1349, removed in 6.7
- m68k 378
- metag 287, removed in 4.17
- microblaze 394
- nds32 287, removed in 5.18
- nios2 287
- openrisc 287
- parisc 348
- score 287, removed in 4.17
- sh 382
- sparc 359
- sparc64 359
- tilegx 287, removed in 4.17
- xtensa 347
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/pwritev2?kernel=all