pwritev2 on metag
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 |
|---|---|
D1Re0 | 287, the syscall number |
D1Ar1 | unsigned long fd |
D0Ar2 | const struct iovec *vec |
D1Ar3 | unsigned long vlen |
D0Ar4 | unsigned long pos_l |
D1Ar5 | unsigned long pos_h |
D0Ar6 | rwf_t flags |
D0Re0 | the return value |
Then run SWITCH #0x440001 to enter the kernel.
Values wider than one register are packed into consecutive arguments.
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
- 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
- tilepro 287, removed in 4.17
- xtensa 347
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/pwritev2?kernel=all