msgrcv on tilepro
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 tilepro |
| entry point | sys_msgrcv |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for tilepro) |
| man page | msgrcv(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 188, the syscall number |
r0 | int msqid |
r1 | struct msgbuf *msgp |
r2 | size_t msgsz |
r3 | long msgtyp |
r4 | int msgflg |
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 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
- metag 188, removed in 4.17
- 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
- xtensa 168
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/msgrcv?kernel=all