syscall.sh / riscv64 / splice
splice
splice data to/from a pipe
sys_splice(int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flags)
| number | 76 (0x4c) |
|---|---|
| abi | common |
| entry point | sys_splice |
| since | Linux 4.15 |
| man page | splice(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
a7 | 76, the syscall number |
a0 | int fd_in |
a1 | loff_t *off_in |
a2 | int fd_out |
a3 | loff_t *off_out |
a4 | size_t len |
a5 | unsigned int flags |
a0 | the return value |
Then run ecall to enter the kernel.
Same syscall on other architectures
- x64 275
- x86 313
- arm64 76
- arm 340
- x32 1073742099
- loongarch64 76
- ppc64 283
- ppc 283
- s390x 306
- mips64 5263
- mipsn32 6267
- mipso32 4304
- alpha 468
- arc 76
- csky 76
- hexagon 76
- m68k 306
- microblaze 313
- nios2 76
- openrisc 76
- parisc 291
- sh 313
- sparc 232
- sparc64 232
- xtensa 268
Get this as JSON: https://api.syscall.sh/v2/syscalls/riscv64/splice