gcsss2
Guarded Control Stack Switch Stack 2
GCSSS2 <Xt>
Second step to switch the GCS pointer.
Details
Second step of a two-instruction sequence to switch the Guarded Control Stack pointer, completing the switch initiated by GCSSS1. This privileged instruction commits the new GCS pointer value and is available when FEAT_GCS is implemented and requires EL1 or higher. The instruction does not affect condition flags.
Pseudocode Operation
if FEAT_GCS == '0' then
UNDEFINED
else if PSTATE.EL == EL0 then
UNDEFINED
else
GCSSwitchStack2(X[t])
Example
GCSSS2 x3
Encoding
Binary Layout
1101010100
1
01
011
0111
0111
011
Rt
Operands
-
Xt
New Stack Ptr
Reference (Arm A64 ISA)
Instruction Forms
| Encoding | Instruction | ISA | Bit pattern | ||
|---|---|---|---|---|---|
| 0xD52B7760 | GCSSS2 <Xt> | A64 | 1101010100 | 1 | 01 | 011 | 0111 | 0111 | 011 | Rt |
Description
Guarded Control Stack Switch Stack 2 validates that the most recent entry of the Guarded control stack being switched to contains an In-progress cap entry, stores a Valid cap entry to the Guarded control stack that is being switched from, and sets Xt to the Guarded control stack pointer that is being switched from.