process_vm_readv on tilepro
transfer data between process address spaces
sys_process_vm_readv(pid_t pid, const struct iovec *lvec, unsigned long liovcnt, const struct iovec *rvec, unsigned long riovcnt, unsigned long flags)
| number | 270 (0x10e) |
|---|---|
| abi | common |
| entry point | sys_process_vm_readv |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for tilepro) |
| man page | process_vm_readv(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 270, the syscall number |
r0 | pid_t pid |
r1 | const struct iovec *lvec |
r2 | unsigned long liovcnt |
r3 | const struct iovec *rvec |
r4 | unsigned long riovcnt |
r5 | unsigned long 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 310
- x86 347
- arm64 270
- arm 376
- riscv64 270
- ia32 347
- x32 1073742363
- loongarch64 270
- ppc64 351
- ppc 351
- s390x 340
- mips64 5304
- mipsn32 6309
- mipso32 4345
- alpha 504
- arc 270
- blackfin 381, removed in 4.17
- cris 348, removed in 4.17
- csky 270
- hexagon 270
- ia64 1332, removed in 6.7
- m68k 345
- metag 270, removed in 4.17
- microblaze 377
- nds32 270, removed in 5.18
- nios2 270
- openrisc 270
- parisc 330
- score 270, removed in 4.17
- sh 365
- sparc 338
- sparc64 338
- tilegx 270, removed in 4.17
- xtensa 322
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/process_vm_readv?kernel=all