mq_open on metag
open a message queue
sys_mq_open(const char *name, int oflag, umode_t mode, struct mq_attr *attr)
| number | 180 (0xb4) |
|---|---|
| abi | common |
| kconfig | CONFIG_POSIX_MQUEUE |
| family | mqueue see the whole family on metag |
| entry point | sys_mq_open |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | mq_open(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 180, the syscall number |
D1Ar1 | const char *name |
D0Ar2 | int oflag |
D1Ar3 | umode_t mode |
D0Ar4 | struct mq_attr *attr |
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 240
- x86 277
- arm64 180
- arm 274
- riscv64 180
- ia32 277
- x32 1073742064
- loongarch64 180
- ppc64 262
- ppc 262
- s390x 271
- mips64 5230
- mipsn32 6234
- mipso32 4271
- alpha 432
- arc 180
- blackfin 278, removed in 4.17
- cris 277, removed in 4.17
- csky 180
- frv 277, removed in 4.17
- hexagon 180
- ia64 1262, removed in 6.7
- m32r 277, removed in 4.17
- m68k 271
- microblaze 277
- mn10300 277, removed in 4.17
- nds32 180, removed in 5.18
- nios2 180
- openrisc 180
- parisc 229
- score 180, removed in 4.17
- sh 277
- sparc 273
- sparc64 273
- tilegx 180, removed in 4.17
- tilepro 180, removed in 4.17
- xtensa 232
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/mq_open?kernel=all