mremap on metag

remap a virtual memory address

sys_mremap(unsigned long addr, unsigned long old_len, unsigned long new_len, unsigned long flags, unsigned long new_addr)
number216 (0xd8)
abicommon
entry pointsys_mremap
sinceLinux 3.9 or earlier (3.9 is the first release scanned for metag)
man pagemremap(2)
sourceelixir.bootlin.com

Registers

registervalue
D1Re0216, the syscall number
D1Ar1unsigned long addr
D0Ar2unsigned long old_len
D1Ar3unsigned long new_len
D0Ar4unsigned long flags
D1Ar5unsigned long new_addr
D0Re0the 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

Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/mremap?kernel=all