GCSSS1, Guarded Control Stack Switch Stack 1

The GCSSS1 characteristics are:

Purpose

Validates that the stack being switched to contains a Valid cap entry, stores an In-progress cap entry on to the stack that is getting switched to and sets the current Guarded control stack pointer to the stack that is getting switched to.

Configuration

This instruction is present only when FEAT_GCS is implemented. Otherwise, direct accesses to GCSSS1 are UNDEFINED.

Attributes

GCSSS1 is a 64-bit System instruction.

Field descriptions

6362616059585756555453525150494847464544434241403938373635343332
313029282726252423222120191817161514131211109876543210
Input address, for the incoming Guarded control stack
Input address, for the incoming Guarded control stack

Bits [63:0]

Input address, for the incoming Guarded control stack.

Executing GCSSS1

Accesses to this instruction use the following encodings in the System instruction encoding space:

GCSSS1 <Xt>

op0op1CRnCRmop2
0b010b0110b01110b01110b010

if PSTATE.EL == EL0 then GCSSS1(X[t, 64]); elsif PSTATE.EL == EL1 then GCSSS1(X[t, 64]); elsif PSTATE.EL == EL2 then GCSSS1(X[t, 64]); elsif PSTATE.EL == EL3 then GCSSS1(X[t, 64]);


04/07/2023 11:24; 1b994cb0b8c6d1ae5a9a15edbc8bd6ce3b5c7d68

Copyright © 2010-2023 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.