CSR Bit Fields

RISC-V ssp CSR Register

Address 0x011Privilege User (access controlled by xenvcfg.SSE)Access URW (conditional access) / XLENUser-level Zicfiss CSR

ssp (0x011) is the Zicfiss unprivileged read-write CSR holding the XLEN-bit shadow stack pointer for the current privilege mode.

Field Map

Understand ssp By Bit Fields

3 key fields
XLEN-1:3

SSP

RW

High-order shadow stack pointer bits.

SSP (bits XLEN-1:3) — High-order shadow stack pointer bits.

What This Field Controls

  • - High-order shadow stack pointer bits.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual
2

SSP[2]

Conditionally RW

A pointer bit when UXLEN or SXLEN may be 32; otherwise read-only zero.

SSP[2] (bit 2) — A pointer bit when UXLEN or SXLEN may be 32; otherwise read-only zero.

What This Field Controls

  • - A pointer bit when UXLEN or SXLEN may be 32; otherwise read-only zero.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual
1:0

Reserved

RO zero

Always reads as zero.

Reserved (bits 1:0) — Always reads as zero.

What This Field Controls

  • - Always reads as zero.

Common Values

This field is better understood together with surrounding context than as a fixed memorized enumeration.

Open Official Manual

What To Check First When Reading This CSR

  • - Below M-mode, menvcfg.SSE=0 causes an illegal-instruction exception; U-mode also requires senvcfg.SSE=1.
  • - VS/VU access can cause a virtual-instruction exception depending on henvcfg.SSE and senvcfg.SSE.

Risk Checks Before Writing

  • - ssp[1:0] is read-only zero.
  • - Confirm SSE access control for the target privilege mode before writing.

Put It Back Into A Real Flow

1

The operating system sets up a shadow stack for a Zicfiss-enabled process.

2

Use shadow-stack instructions only in a privilege mode where access is allowed.