pwritev on metag
read or write data into multiple buffers
sys_pwritev(unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h)
| number | 70 (0x46) |
|---|---|
| abi | common |
| entry point | sys_pwritev |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | pwritev(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 70, 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 |
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 296
- x86 334
- arm64 70
- arm 362
- riscv64 70
- ia32 334
- x32 1073742359
- loongarch64 70
- ppc64 321
- ppc 321
- s390x 329
- mips64 5290
- mipsn32 6294
- mipso32 4331
- alpha 491
- arc 70
- blackfin 367, removed in 4.17
- cris 334, removed in 4.17
- csky 70
- frv 334, removed in 4.17
- hexagon 70
- ia64 1320, removed in 6.7
- m68k 330
- microblaze 364
- mn10300 335, removed in 4.17
- nds32 70, removed in 5.18
- nios2 70
- openrisc 70
- parisc 316
- score 70, removed in 4.17
- sh 334
- sparc 325
- sparc64 325
- tilegx 70, removed in 4.17
- tilepro 70, removed in 4.17
- xtensa 318
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/pwritev?kernel=all