pkey_mprotect on metag
set protection on a region of memory
sys_pkey_mprotect(unsigned long start, size_t len, unsigned long prot, int pkey)
| number | 288 (0x120) |
|---|---|
| abi | common |
| family | pkeys see the whole family on metag |
| entry point | sys_pkey_mprotect |
| since | Linux 4.9 |
| man page | pkey_mprotect(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 288, the syscall number |
D1Ar1 | unsigned long start |
D0Ar2 | size_t len |
D1Ar3 | unsigned long prot |
D0Ar4 | int pkey |
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 329
- x86 380
- arm64 288
- arm 394
- riscv64 288
- ia32 380
- x32 1073742153
- loongarch64 288
- ppc64 386
- ppc 386
- s390x 384
- mips64 5323
- mipsn32 6327
- mipso32 4363
- alpha 524
- arc 288
- csky 288
- hexagon 288
- ia64 1354, removed in 6.7
- m68k 381
- microblaze 395
- nds32 288, removed in 5.18
- nios2 288
- openrisc 288
- parisc 351
- score 288, removed in 4.17
- sh 384
- sparc 362
- sparc64 362
- tilegx 288, removed in 4.17
- tilepro 288, removed in 4.17
- xtensa 348
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/pkey_mprotect?kernel=all