process_vm_writev on metag

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)
number271 (0x10f)
abicommon
entry pointsys_process_vm_writev
sinceLinux 3.9 or earlier (3.9 is the first release scanned for metag)
man pageprocess_vm_writev(2)
sourceelixir.bootlin.com

Registers

registervalue
D1Re0271, the syscall number
D1Ar1pid_t pid
D0Ar2const struct iovec *lvec
D1Ar3unsigned long liovcnt
D0Ar4const struct iovec *rvec
D1Ar5unsigned long riovcnt
D0Ar6unsigned long flags
D0Re0the 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

Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/process_vm_writev?kernel=all