CSR Bit Fields

RISC-V hstateen0h CSR Register

Address 0x61CPrivilege HypervisorAccess HRW / 32-bit RV32 high halfHypervisor and virtualization CSRs

hstateen0h is the RV32 high half of hypervisor state-enable CSR.

Field Map

Understand hstateen0h By Bit Fields

8 key fields
31

C

RW

RV32 hstateen0[63], controlling VM access to custom state.

C (bit 31) — RV32 hstateen0[63], controlling VM access to custom state.

What This Field Controls

  • - RV32 hstateen0[63], controlling VM access to custom state.

Common Values

hstateen0h.C
0Disabled

the corresponding custom state is not accessible; related accesses trap under state-enable rules.

1Enabled

Allows access to the corresponding custom state when other access rules also permit it.

Open Official Manual
28

CSRIND

RW

RV32 hstateen0[60], controlling VM access to VS indirect CSR alias state.

CSRIND (bit 28) — RV32 hstateen0[60], controlling VM access to VS indirect CSR alias state.

What This Field Controls

  • - RV32 hstateen0[60], controlling VM access to VS indirect CSR alias state.

Common Values

hstateen0h.CSRIND
0Disabled

VS indirect CSR alias state is not accessible; related accesses trap under state-enable rules.

1Enabled

Allows access to VS indirect CSR alias state when other access rules also permit it.

Open Official Manual
27

AIA

RW

RV32 hstateen0[59], controlling VM access to AIA state not covered by CSRIND or IMSIC.

AIA (bit 27) — RV32 hstateen0[59], controlling VM access to AIA state not covered by CSRIND or IMSIC.

What This Field Controls

  • - RV32 hstateen0[59], controlling VM access to AIA state not covered by CSRIND or IMSIC.

Common Values

hstateen0h.AIA
0Disabled

the AIA state controlled by this bit is not accessible; related accesses trap under state-enable rules.

1Enabled

Allows access to the AIA state controlled by this bit when other access rules also permit it.

Open Official Manual
26

IMSIC

RW

RV32 hstateen0[58], controlling VM access to guest IMSIC state.

IMSIC (bit 26) — RV32 hstateen0[58], controlling VM access to guest IMSIC state.

What This Field Controls

  • - RV32 hstateen0[58], controlling VM access to guest IMSIC state.

Common Values

hstateen0h.IMSIC
0Disabled

guest IMSIC state is not accessible; related accesses trap under state-enable rules.

1Enabled

Allows access to guest IMSIC state when other access rules also permit it.

Open Official Manual
25

CONTEXT

RW

RV32 hstateen0[57], controlling VM access to context state.

CONTEXT (bit 25) — RV32 hstateen0[57], controlling VM access to context state.

What This Field Controls

  • - RV32 hstateen0[57], controlling VM access to context state.

Common Values

hstateen0h.CONTEXT
0Disabled

context state such as scontext is not accessible; related accesses trap under state-enable rules.

1Enabled

Allows access to context state such as scontext when other access rules also permit it.

Open Official Manual
24

P1P13

RW

RV32 hstateen0[56], a high-half state-enable bit related to Privileged 1.13 state; confirm portable Hypervisor-side meaning against the current official extension and implementation.

P1P13 (bit 24) — RV32 hstateen0[56], a high-half state-enable bit related to Privileged 1.13 state; confirm portable Hypervisor-side meaning against the current official extension and implementation.

What This Field Controls

  • - RV32 hstateen0[56], a high-half state-enable bit related to Privileged 1.13 state; confirm portable Hypervisor-side meaning against the current official extension and implementation.

Common Values

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

Open Official Manual
23

ENVCFG

RW

RV32 hstateen0[55], controlling VM access to environment-configuration state.

ENVCFG (bit 23) — RV32 hstateen0[55], controlling VM access to environment-configuration state.

What This Field Controls

  • - RV32 hstateen0[55], controlling VM access to environment-configuration state.

Common Values

hstateen0h.ENVCFG
0Disabled

environment-configuration state such as senvcfg is not accessible; related accesses trap under state-enable rules.

1Enabled

Allows access to environment-configuration state such as senvcfg when other access rules also permit it.

Open Official Manual
22:0

RESERVED_OR_EXTENSION_DEFINED

Defined by specification

RV32 hstateen0[54:32] bits not listed on this page do not receive portable 0/1 meanings; handle them according to the current official extension, reserved, WPRI, or WARL rules.

RESERVED_OR_EXTENSION_DEFINED (bits 22:0) — RV32 hstateen0[54:32] bits not listed on this page do not receive portable 0/1 meanings; handle them according to the current official extension, reserved, WPRI, or WARL rules.

What This Field Controls

  • - RV32 hstateen0[54:32] bits not listed on this page do not receive portable 0/1 meanings; handle them according to the current official extension, reserved, WPRI, or WARL rules.

Common Values

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

Open Official Manual
Official Basis & Search Notes

hstateen0h is a hypervisor state-enable CSR. It is HS/M-side hypervisor state, not a VS supervisor CSR copy; guest access is governed by the H extension and relevant state-enable, AIA, Sstc, or Smcsrind rules.

hstateen0h address, access class, and width are checked against the official CSR tables: 0x61C, HRW, 32-bit RV32 high half.
State-enable CSRs control lower-privilege or VM access to extension state; they do not affect M-mode access.
hstateen0 has official CSRIND, AIA, IMSIC, CONTEXT, ENVCFG, and related bits.
When writing, modify only officially defined fields; handle WARL, WLRL, WPRI, and reserved fields according to the official specification and implementation behavior.

What To Check First When Reading This CSR

  • - hstateen0h is a Hypervisor-level CSR; its separate address is in the official HRW access class.
  • - Guest/VS software does not reach this H-level CSR through a supervisor CSR alias; access is controlled by the H extension and relevant optional-extension rules.

Risk Checks Before Writing

  • - When writing hstateen0h, modify only officially defined target fields and preserve WPRI, reserved, and unchanged fields.

Put It Back Into A Real Flow

1

Confirm the current software is in an M/HS context that may access Hypervisor CSRs.

2

Confirm that the H, AIA, Sstc, Smstateen, Smcsrind, or other defining extension is implemented.

3

Read or write only official fields; whether guest-related access succeeds or traps is controlled by the corresponding extension rules and state-enable state.

FAQ

Can hstateen0h be accessed through a supervisor CSR alias?

Do not treat hstateen0h as a VS CSR copy. It is an H-level CSR; whether guest/VS access to related functionality traps is defined by the H extension and the relevant optional extension.

What do the AIA/IMSIC/CSRIND bits in hstateen0 control?

They control VM access to AIA, guest IMSIC, and indirect CSR alias state, respectively.