process_vm_writev on ia64
transfer data between process address spaces
sys_process_vm_writev(pid_t pid, const struct iovec *lvec, unsigned long liovcnt, const struct iovec *rvec, unsigned long riovcnt, unsigned long flags)
| number | 1333 (0x535) |
|---|---|
| abi | common |
| entry point | sys_process_vm_writev |
| since | Linux 5.0 or earlier (5.0 is the first release scanned for ia64) |
| man page | process_vm_writev(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r15 | 1333, the syscall number |
out0 | pid_t pid |
out1 | const struct iovec *lvec |
out2 | unsigned long liovcnt |
out3 | const struct iovec *rvec |
out4 | unsigned long riovcnt |
out5 | unsigned long flags |
r8 | the return value |
Then run break 0x100000 to enter the kernel.
The kernel uses r10 to signal an error.
The pipe call returns file descriptors in r8 and r9.
This architecture was removed from the Linux kernel in Linux 6.7. The newest release with a syscall table here is Linux 6.6. The other removed architectures live on the historical architectures page.
Same syscall on other architectures
- x64 311
- x86 348
- arm64 271
- arm 377
- riscv64 271
- ia32 348
- x32 1073742364
- loongarch64 271
- ppc64 352
- ppc 352
- s390x 341
- mips64 5305
- mipsn32 6310
- mipso32 4346
- alpha 505
- arc 271
- blackfin 382, removed in 4.17
- cris 349, removed in 4.17
- csky 271
- hexagon 271
- m68k 346
- metag 271, removed in 4.17
- microblaze 378
- nds32 271, removed in 5.18
- nios2 271
- openrisc 271
- parisc 331
- score 271, removed in 4.17
- sh 366
- sparc 339
- sparc64 339
- tilegx 271, removed in 4.17
- tilepro 271, removed in 4.17
- xtensa 323
Get this as JSON: https://api.syscall.sh/v2/syscalls/ia64/process_vm_writev?kernel=all