execveat on metag
execute program relative to a directory file descriptor
sys_execveat(int dfd, const char *filename, const char *const *argv, const char *const *envp, int flags)
| number | 281 (0x119) |
|---|---|
| abi | common |
| entry point | sys_execveat |
| since | Linux 3.19 |
| man page | execveat(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 281, the syscall number |
D1Ar1 | int dfd |
D0Ar2 | const char *filename |
D1Ar3 | const char *const *argv |
D0Ar4 | const char *const *envp |
D1Ar5 | int flags |
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 322
- x86 358
- arm64 281
- arm 387
- riscv64 281
- ia32 358
- x32 1073742369
- loongarch64 281
- ppc64 362
- ppc 362
- s390x 354
- mips64 5316
- mipsn32 6320
- mipso32 4356
- alpha 513
- arc 281
- blackfin 392, removed in 4.17
- cris 359, removed in 4.17
- csky 281
- hexagon 281
- ia64 1342, removed in 6.7
- m68k 355
- microblaze 388
- nds32 281, removed in 5.18
- nios2 281
- openrisc 281
- parisc 342
- score 281, removed in 4.17
- sh 376
- sparc 350
- sparc64 350
- tilegx 281, removed in 4.17
- tilepro 281, removed in 4.17
- xtensa 341
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/execveat?kernel=all