CSR Bit Fields

RISC-V vsstatus CSR Register

Address 0x200Privilege Hypervisor direct / VS aliasAccess HRW / VSXLENHypervisor and virtualization CSRs

vsstatus is the H-extension VSXLEN-bit virtual supervisor status CSR; when V=1 it substitutes for sstatus, and when V=0 it normally has no direct machine effect.

Field Map

Understand vsstatus By Bit Fields

21 key fields
63

SD

RO

VS-mode-visible Dirty summary for FS, VS, or XS; HS-level sstatus.FS does not affect this bit.

SD (bit 63) — VS-mode-visible Dirty summary for FS, VS, or XS; HS-level sstatus.FS does not affect this bit.

What This Field Controls

  • - VS-mode-visible Dirty summary for FS, VS, or XS; HS-level sstatus.FS does not affect this bit.

Common Values

00

No VS-visible FS, VS, or XS field is Dirty.

11

At least one VS-visible FS, VS, or XS field is Dirty.

Open Official Manual
62:34

WPRI

WPRI

Reserved field; software preserves the value on writes and ignores values read.

WPRI (bits 62:34) — Reserved field; software preserves the value on writes and ignores values read.

What This Field Controls

  • - Reserved field; software preserves the value on writes and ignores values read.

Common Values

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

Open Official Manual
33:32

UXL

WARL

Controls the effective XLEN for VU-mode; may be implemented as a read-only copy of hstatus.VSXL.

UXL (bits 33:32) — Controls the effective XLEN for VU-mode; may be implemented as a read-only copy of hstatus.VSXL.

What This Field Controls

  • - Controls the effective XLEN for VU-mode; may be implemented as a read-only copy of hstatus.VSXL.

Common Values

132-bit

VU-mode XLEN is 32.

264-bit

VU-mode XLEN is 64.

3Reserved

Reserved encoding; portable software should not write or rely on it.

Open Official Manual
31:25

WPRI

WPRI

Reserved field; software preserves the value on writes and ignores values read.

WPRI (bits 31:25) — Reserved field; software preserves the value on writes and ignores values read.

What This Field Controls

  • - Reserved field; software preserves the value on writes and ignores values read.

Common Values

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

Open Official Manual
24

SDT

WARL/RO0

Ssdbltrp S-mode-disable-trap field for VS-mode; read-only zero when the relevant extension is not implemented.

SDT (bit 24) — Ssdbltrp S-mode-disable-trap field for VS-mode; read-only zero when the relevant extension is not implemented.

What This Field Controls

  • - Ssdbltrp S-mode-disable-trap field for VS-mode; read-only zero when the relevant extension is not implemented.

Common Values

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

Open Official Manual
23

SPELP

RW (Zicfilp)

Zicfilp previous ELP state; 0 means no landing pad is expected, and 1 means a landing pad is expected.

SPELP (bit 23) — Zicfilp previous ELP state; 0 means no landing pad is expected, and 1 means a landing pad is expected.

What This Field Controls

  • - Zicfilp previous ELP state; 0 means no landing pad is expected, and 1 means a landing pad is expected.

Common Values

0NO_LP_EXPECTED

No landing-pad instruction is expected.

1LP_EXPECTED

A landing-pad instruction is expected.

Open Official Manual
22:20

WPRI

WPRI

Reserved field; software preserves the value on writes and ignores values read.

WPRI (bits 22:20) — Reserved field; software preserves the value on writes and ignores values read.

What This Field Controls

  • - Reserved field; software preserves the value on writes and ignores values read.

Common Values

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

Open Official Manual
19

MXR

RW

Makes executable pages readable by explicit loads; vsstatus.MXR affects only the first translation stage (VS-stage).

MXR (bit 19) — Makes executable pages readable by explicit loads; vsstatus.MXR affects only the first translation stage (VS-stage).

What This Field Controls

  • - Makes executable pages readable by explicit loads; vsstatus.MXR affects only the first translation stage (VS-stage).

Common Values

0Disabled

Loads read only readable pages; it has no effect when paged virtual memory is inactive.

1Enabled

Loads may read from readable or executable pages.

Open Official Manual
18

SUM

RW/RO0

Controls whether VS-mode loads/stores may access VU pages with U=1; it does not permit VS-mode instruction fetches from user pages.

SUM (bit 18) — Controls whether VS-mode loads/stores may access VU pages with U=1; it does not permit VS-mode instruction fetches from user pages.

What This Field Controls

  • - Controls whether VS-mode loads/stores may access VU pages with U=1; it does not permit VS-mode instruction fetches from user pages.

Common Values

0Disabled

VS-mode access to pages with U=1 faults; it has no effect when paged virtual memory is inactive.

1Enabled

VS-mode loads/stores may access U=1 pages, but instruction fetches from user pages remain disallowed.

Open Official Manual
17

WPRI

WPRI

Reserved field; software preserves the value on writes and ignores values read.

WPRI (bit 17) — Reserved field; software preserves the value on writes and ignores values read.

What This Field Controls

  • - Reserved field; software preserves the value on writes and ignores values read.

Common Values

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

Open Official Manual
16:15

XS

RO/derived

Read-only summary of additional user-extension state visible to VS-mode.

XS (bits 16:15) — Read-only summary of additional user-extension state visible to VS-mode.

What This Field Controls

  • - Read-only summary of additional user-extension state visible to VS-mode.

Common Values

0Off

The associated extension state is off or absent.

1Initial

The extension state is in its initial state.

2Clean

The extension state matches the saved context.

3Dirty

The extension state may have been modified.

Open Official Manual
14:13

FS

WARL/optional RO0

VS-mode floating-point context status; when V=1, both vsstatus.FS and HS-level sstatus.FS are in effect.

FS (bits 14:13) — VS-mode floating-point context status; when V=1, both vsstatus.FS and HS-level sstatus.FS are in effect.

What This Field Controls

  • - VS-mode floating-point context status; when V=1, both vsstatus.FS and HS-level sstatus.FS are in effect.

Common Values

0Off

If either effective FS field is Off, executing a floating-point instruction raises an illegal-instruction exception.

1Initial

Floating-point state is initial.

2Clean

Floating-point state matches the saved context.

3Dirty

When V=1, modifying floating-point state sets both vsstatus.FS and HS-level sstatus.FS to Dirty.

Open Official Manual
12:11

WPRI

WPRI

Reserved field; software preserves the value on writes and ignores values read.

WPRI (bits 12:11) — Reserved field; software preserves the value on writes and ignores values read.

What This Field Controls

  • - Reserved field; software preserves the value on writes and ignores values read.

Common Values

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

Open Official Manual
10:9

VS

WARL/optional RO0

VS-mode vector context status; when V=1, vsstatus.VS and the HS-level vector status are both in effect.

VS (bits 10:9) — VS-mode vector context status; when V=1, vsstatus.VS and the HS-level vector status are both in effect.

What This Field Controls

  • - VS-mode vector context status; when V=1, vsstatus.VS and the HS-level vector status are both in effect.

Common Values

0Off

If either effective VS field is Off, executing a vector instruction or accessing vector CSRs raises an illegal-instruction exception.

1Initial

Vector state is initial.

2Clean

Vector state matches the saved context.

3Dirty

When V=1, modifying vector state sets the relevant VS fields to Dirty; implementations may also change Initial/Clean to Dirty at any time.

Open Official Manual
8

SPP

WARL

Nominal privilege before the trap into VS-mode; written by hardware on traps into VS-mode.

SPP (bit 8) — Nominal privilege before the trap into VS-mode; written by hardware on traps into VS-mode.

What This Field Controls

  • - Nominal privilege before the trap into VS-mode; written by hardware on traps into VS-mode.

Common Values

0U

The nominal previous privilege was U/VU; SRET returns to VU.

1S

The nominal previous privilege was S/VS; SRET returns to VS.

Open Official Manual
7

WPRI

WPRI

Reserved field; software preserves the value on writes and ignores values read.

WPRI (bit 7) — Reserved field; software preserves the value on writes and ignores values read.

What This Field Controls

  • - Reserved field; software preserves the value on writes and ignores values read.

Common Values

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

Open Official Manual
6

UBE

WARL/RO-copy

Controls VU-mode explicit memory-access endianness; an implementation may make it a read-only copy of hstatus.VSBE.

UBE (bit 6) — Controls VU-mode explicit memory-access endianness; an implementation may make it a read-only copy of hstatus.VSBE.

What This Field Controls

  • - Controls VU-mode explicit memory-access endianness; an implementation may make it a read-only copy of hstatus.VSBE.

Common Values

0Little-endian

VU-mode explicit loads/stores are little-endian.

1Big-endian

VU-mode explicit loads/stores are big-endian.

Open Official Manual
5

SPIE

RW

Saved SIE value from before a trap into VS-mode.

SPIE (bit 5) — Saved SIE value from before a trap into VS-mode.

What This Field Controls

  • - Saved SIE value from before a trap into VS-mode.

Common Values

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

Open Official Manual
4:2

WPRI

WPRI

Reserved field; software preserves the value on writes and ignores values read.

WPRI (bits 4:2) — Reserved field; software preserves the value on writes and ignores values read.

What This Field Controls

  • - Reserved field; software preserves the value on writes and ignores values read.

Common Values

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

Open Official Manual
1

SIE

RW

VS-mode supervisor-level global interrupt enable; delivery also depends on vsie/vsip and delegation state.

SIE (bit 1) — VS-mode supervisor-level global interrupt enable; delivery also depends on vsie/vsip and delegation state.

What This Field Controls

  • - VS-mode supervisor-level global interrupt enable; delivery also depends on vsie/vsip and delegation state.

Common Values

0Disabled

Supervisor-level interrupts are globally disabled while currently executing in VS-mode.

1Enabled

Supervisor-level interrupts are globally enabled while currently executing in VS-mode.

Open Official Manual
0

WPRI

WPRI

Reserved field; software preserves the value on writes and ignores values read.

WPRI (bit 0) — Reserved field; software preserves the value on writes and ignores values read.

What This Field Controls

  • - Reserved field; software preserves the value on writes and ignores values read.

Common Values

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

Open Official Manual
Official Basis & Search Notes

vsstatus is the H-extension VSXLEN-bit copy of sstatus. When V=1, guest access to sstatus is substituted with vsstatus; when V=0, it normally has no direct machine effect except through specific virtual-machine memory-access paths.

vsstatus address, access class, and width are checked against the local privileged manual: 0x200, HRW, VSXLEN.
UXL exists only when VSXLEN=64; FS/VS are effective together with HS-level state; SD and XS summarize only VS-mode-visible state.
SDT and SPELP are defined only when the corresponding extensions are present; WPRI bits must be preserved on writes.

What To Check First When Reading This CSR

  • - vsstatus is an H-extension VSXLEN-bit HRW CSR; only M-mode or HS-mode can directly access its separate CSR address.
  • - When V=1, guest access to sstatus is substituted with vsstatus; when V=0, vsstatus normally has no direct machine effect except for HLV/HLVX/HSV or mstatus.MPRV memory accesses performed as though V=1.

Risk Checks Before Writing

  • - UXL is WARL; when VSXLEN=32, UXL does not exist and VU-mode XLEN is 32.
  • - UBE may be a read-only copy of hstatus.VSBE; SD and XS are read-only summary fields, and WPRI bits must be preserved.

Put It Back Into A Real Flow

1

HS/M software may directly read or write vsstatus while configuring a guest.

2

When a guest runs with V=1, hardware uses the vsstatus copy for accesses to sstatus.

3

On traps into VS-mode, hardware updates vsstatus.SPP, SPIE, SIE, and related VS trap CSRs; SRET returns according to vsstatus state.

FAQ

Can VS-mode directly access vsstatus's separate CSR address?

No. The H extension substitutes VS state for the corresponding supervisor CSR when V=1; direct access to the separate VS CSR address raises a virtual-instruction exception.

What does vsstatus mainly hold?

vsstatus holds VS supervisor status state, allowing the hypervisor to manage guest-supervisor trap, status, or execution context.