syscall.sh / sh / mmap
mmap
map or unmap files or devices into memory
old_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, int fd, unsigned long off)
| number | 90 (0x5a) |
|---|---|
| abi | common |
| entry point | old_mmap |
| since | Linux 5.0 |
| man page | mmap(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r3 | 90, the syscall number |
r4 | unsigned long addr |
r5 | unsigned long len |
r6 | unsigned long prot |
r7 | unsigned long flags |
r0 | int fd |
r1 | unsigned long off |
r0 | the return value |
Then run trapa #31 to enter the kernel.
Same syscall on other architectures
- x64 9
- x86 90
- arm64 222
- riscv64 222
- x32 1073741833
- loongarch64 222
- ppc64 90
- ppc 90
- s390x 90
- mips64 5009
- mipsn32 6009
- mipso32 4090
- alpha 71
- m68k 90
- microblaze 90
- parisc 90
- sparc 71
- sparc64 71
Get this as JSON: https://api.syscall.sh/v2/syscalls/sh/mmap