setpan
Set Privileged Access Never (A32)
SETPAN #<imm>
Enables/Disables PAN (Prevents kernel accessing user memory).
Pseudocode Operation
PSTATE.PAN ← imm;
Example
SETPAN #16
Encoding
Binary Layout
111100010001
31:20
0
19
0
18
0
17
0
16
0
15
0
14
0
13
0
12
0
11
0
10
imm1
9
0
8
0000
7:4
0
3
0
2
0
1
0
0
Operands
-
imm
0/1
Related
More in A32 (System)
Reference
View in Arm A64 ISA Reference ↗
Arm AArch32 ISA
Instruction Forms
| Encoding | Instruction | ISA | Bit pattern | ||
|---|---|---|---|---|---|
| 0xF1100000 | SETPAN{<q>} #<imm> | A32 | 111100010001 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | imm1 | 0 | 0000 | 0 | 0 | 0 | 0 | ||
| 0xB610 | SETPAN{<q>} #<imm> | T32 | 10110110000 | 1 | imm1 | 0 | 0 | 0 |
Description
Set Privileged Access Never writes a new value to PSTATE.PAN. This instruction is available only in privileged mode and it is a NOP when executed in User mode.
Operation
EncodingSpecificOperations();
if PSTATE.EL != EL0 then
PSTATE.PAN = value;