msgrcv on metag
System V message queue operations
sys_msgrcv(int msqid, struct msgbuf *msgp, size_t msgsz, long msgtyp, int msgflg)
| number | 188 (0xbc) |
|---|---|
| abi | common |
| kconfig | CONFIG_SYSVIPC |
| family | sysvipc see the whole family on metag |
| entry point | sys_msgrcv |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | msgrcv(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 188, the syscall number |
D1Ar1 | int msqid |
D0Ar2 | struct msgbuf *msgp |
D1Ar3 | size_t msgsz |
D0Ar4 | long msgtyp |
D1Ar5 | int msgflg |
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 70
- x86 401
- arm64 188
- arm 302
- riscv64 188
- ia32 401
- x32 1073741894
- loongarch64 188
- ppc64 401
- ppc 401
- s390x 401
- mips64 5068
- mipsn32 6068
- mipso32 4401
- alpha 202
- arc 188
- blackfin 336, removed in 4.17
- csky 188
- hexagon 188
- ia64 1111, removed in 6.7
- m68k 401
- microblaze 333
- nds32 188, removed in 5.18
- nios2 188
- openrisc 188
- parisc 189
- score 188, removed in 4.17
- sh 401
- sparc 401
- sparc64 401
- tilegx 188, removed in 4.17
- tilepro 188, removed in 4.17
- xtensa 168
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/msgrcv?kernel=all