ioctl on metag
control device
sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
| number | 29 (0x1d) |
|---|---|
| abi | common |
| entry point | sys_ioctl |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | ioctl(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 29, the syscall number |
D1Ar1 | unsigned int fd |
D0Ar2 | unsigned int cmd |
D1Ar3 | unsigned long arg |
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 16
- x86 54
- arm64 29
- arm 54
- riscv64 29
- ia32 54
- x32 1073742338
- loongarch64 29
- ppc64 54
- ppc 54
- s390x 54
- mips64 5015
- mipsn32 6015
- mipso32 4054
- alpha 54
- arc 29
- blackfin 54, removed in 4.17
- cris 54, removed in 4.17
- csky 29
- frv 54, removed in 4.17
- hexagon 29
- ia64 1065, removed in 6.7
- m32r 54, removed in 4.17
- m68k 54
- microblaze 54
- mn10300 54, removed in 4.17
- nds32 29, removed in 5.18
- nios2 29
- openrisc 29
- parisc 54
- score 29, removed in 4.17
- sh 54
- sparc 54
- sparc64 54
- tilegx 29, removed in 4.17
- tilepro 29, removed in 4.17
- xtensa 66
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/ioctl?kernel=all