recvmsg on metag
receive a message from a socket
sys_recvmsg(int fd, struct user_msghdr *msg, unsigned int flags)
| number | 212 (0xd4) |
|---|---|
| abi | common |
| entry point | sys_recvmsg |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | recvmsg(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 212, the syscall number |
D1Ar1 | int fd |
D0Ar2 | struct user_msghdr *msg |
D1Ar3 | unsigned int flags |
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 47
- x86 372
- arm64 212
- arm 297
- riscv64 212
- ia32 372
- x32 1073742343
- loongarch64 212
- ppc64 342
- ppc 342
- s390x 372
- mips64 5046
- mipsn32 6046
- mipso32 4177
- alpha 113
- arc 212
- blackfin 323, removed in 4.17
- csky 212
- hexagon 212
- ia64 1206, removed in 6.7
- m68k 369
- microblaze 361
- nds32 212, removed in 5.18
- nios2 212
- openrisc 212
- parisc 184
- score 212, removed in 4.17
- sh 356
- sparc 113
- sparc64 113
- tilegx 212, removed in 4.17
- tilepro 212, removed in 4.17
- xtensa 107
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/recvmsg?kernel=all