mmap2 on metag
map files or devices into memory
sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoff)
| number | 222 (0xde) |
|---|---|
| abi | common |
| entry point | sys_mmap2 |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | mmap2(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 222, the syscall number |
D1Ar1 | unsigned long addr |
D0Ar2 | unsigned long len |
D1Ar3 | unsigned long prot |
D0Ar4 | unsigned long flags |
D1Ar5 | unsigned long fd |
D0Ar6 | unsigned long pgoff |
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
- x86 192
- arm 192
- ia32 192
- ppc 192
- mipso32 4210
- arc 222
- blackfin 192, removed in 4.17
- cris 192, removed in 4.17
- csky 222
- frv 192, removed in 4.17
- hexagon 222
- ia64 1172, removed in 6.7
- m32r 192, removed in 4.17
- m68k 192
- microblaze 192
- mn10300 192, removed in 4.17
- nds32 222, removed in 5.18
- nios2 222
- openrisc 222
- parisc 89
- score 222, removed in 4.17
- sh 192
- sparc 56
- tilepro 222, removed in 4.17
- xtensa 80
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/mmap2?kernel=all