ptrace on metag
process trace
sys_ptrace(long request, long pid, unsigned long addr, unsigned long data)
| number | 117 (0x75) |
|---|---|
| abi | common |
| entry point | sys_ptrace |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | ptrace(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 117, the syscall number |
D1Ar1 | long request |
D0Ar2 | long pid |
D1Ar3 | unsigned long addr |
D0Ar4 | unsigned long data |
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 101
- x86 26
- arm64 117
- arm 26
- riscv64 117
- ia32 26
- x32 1073742345
- loongarch64 117
- ppc64 26
- ppc 26
- s390x 26
- mips64 5099
- mipsn32 6099
- mipso32 4026
- alpha 26
- arc 117
- blackfin 26, removed in 4.17
- cris 26, removed in 4.17
- csky 117
- frv 26, removed in 4.17
- hexagon 117
- ia64 1048, removed in 6.7
- m32r 26, removed in 4.17
- m68k 26
- microblaze 26
- mn10300 26, removed in 4.17
- nds32 117, removed in 5.18
- nios2 117
- openrisc 117
- parisc 26
- score 117, removed in 4.17
- sh 26
- sparc 26
- sparc64 26
- tilegx 117, removed in 4.17
- tilepro 117, removed in 4.17
- xtensa 160
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/ptrace?kernel=all