mq_timedsend on tilepro

send a message to a message queue

sys_mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec *abs_timeout)
number182 (0xb6)
abicommon
kconfigCONFIG_POSIX_MQUEUE
familymqueue see the whole family on tilepro
entry pointsys_mq_timedsend
sinceLinux 3.7 or earlier (3.7 is the first release scanned for tilepro)
man pagemq_timedsend(2)
sourceelixir.bootlin.com

Registers

registervalue
r10182, the syscall number
r0mqd_t mqdes
r1const char *msg_ptr
r2size_t msg_len
r3unsigned int msg_prio
r4const struct timespec *abs_timeout
r0the 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

Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/mq_timedsend?kernel=all