pkey_mprotect on tilepro
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 tilepro |
| entry point | sys_pkey_mprotect |
| since | Linux 4.9 |
| man page | pkey_mprotect(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 288, the syscall number |
r0 | unsigned long start |
r1 | size_t len |
r2 | unsigned long prot |
r3 | int pkey |
r0 | the return value |
Then run swint1 to enter the kernel.
The kernel uses r1 to signal an error for ordinary calls.
Fast atomic calls use negative numbers and have different register behavior.
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
- metag 288, removed in 4.17
- 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
- xtensa 348
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/pkey_mprotect?kernel=all