mq_timedreceive on tilepro
receive a message from a message queue
sys_mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned int *msg_prio, const struct timespec *abs_timeout)
| number | 183 (0xb7) |
|---|---|
| abi | common |
| kconfig | CONFIG_POSIX_MQUEUE |
| family | mqueue see the whole family on tilepro |
| entry point | sys_mq_timedreceive |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for tilepro) |
| man page | mq_timedreceive(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 183, the syscall number |
r0 | mqd_t mqdes |
r1 | char *msg_ptr |
r2 | size_t msg_len |
r3 | unsigned int *msg_prio |
r4 | const struct timespec *abs_timeout |
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 243
- x86 280
- arm64 183
- arm 277
- riscv64 183
- ia32 280
- x32 1073742067
- loongarch64 183
- ppc64 265
- ppc 265
- s390x 274
- mips64 5233
- mipsn32 6237
- mipso32 4274
- alpha 435
- arc 183
- blackfin 281, removed in 4.17
- cris 280, removed in 4.17
- csky 183
- frv 280, removed in 4.17
- hexagon 183
- ia64 1265, removed in 6.7
- m32r 280, removed in 4.17
- m68k 274
- metag 183, removed in 4.17
- microblaze 280
- mn10300 280, removed in 4.17
- nds32 183, removed in 5.18
- nios2 183
- openrisc 183
- parisc 232
- score 183, removed in 4.17
- sh 280
- sparc 276
- sparc64 276
- tilegx 183, removed in 4.17
- xtensa 235
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/mq_timedreceive?kernel=all