CSR Bit Fields

RISC-V vsatp CSR Register

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

vsatp is the VS-stage translation root CSR holding paging mode, ASID, and the VS root page-table PPN.

Field Map

Understand vsatp By Bit Fields

3 key fields
63:60

MODE

RW

VS-stage address translation mode encoding.

MODE (bits 63:60) — VS-stage address translation mode encoding.

What This Field Controls

  • - VS-stage address translation mode encoding.

Common Values

0Bare

No paged address translation; when selecting Bare, the remaining fields must be written as zero.

1-7Reserved

Reserved encodings for RV64 satp.MODE; portable software must not write or depend on them.

8Sv39

Enables Sv39 paged virtual memory.

9Sv48

Enables Sv48 paged virtual memory.

10Sv57

Enables Sv57 paged virtual memory.

11Reserved / Sv64 future

Reserved in this version for a future Sv64 scheme.

12-13Reserved

Reserved encodings for RV64 satp.MODE; vsatp substitutes for satp when V=1 and follows this mode table, so portable software must not write or depend on them.

14-15Custom use

Custom-use encodings for RV64 satp.MODE; vsatp follows the satp mode table. These encodings have no general portable meaning, and ordinary portable software should not depend on them.

Open Official Manual
59:44

ASID

RW

VS address-space identifier.

ASID (bits 59:44) — VS address-space identifier.

What This Field Controls

  • - VS address-space identifier.

Common Values

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

Open Official Manual
43:0

PPN

RW

Physical page number of the VS root page table.

PPN (bits 43:0) — Physical page number of the VS root page table.

What This Field Controls

  • - Physical page number of the VS root page table.

Common Values

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

Open Official Manual
Official Basis & Search Notes

vsatp is a VS-stage address-translation CSR. The separate CSR address is for M/HS-side management; when V=1, guest access to the corresponding supervisor CSR is substituted with VS state unless an extension specifies otherwise.

vsatp address, access class, and width are checked against the official CSR tables: 0x280, HRW, VSXLEN.
vsatp selects the VS-stage translation root from guest virtual to guest physical addresses.
When V=1, guest access to satp is substituted with vsatp; direct access to the separate vsatp address raises a virtual-instruction exception.
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

  • - vsatp's separate CSR address is in the official HRW access class; a VS/VU guest normally reaches VS state through the corresponding supervisor CSR alias.
  • - Before reading it, confirm that the defining extension such as H, AIA, Sstc, Smstateen, or Smcsrind is implemented.

Risk Checks Before Writing

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

Put It Back Into A Real Flow

1

Set MODE, ASID, and root page-table PPN.

2

A guest reaches VS-stage state through the satp alias.

3

Manage it together with hgatp for two-stage translation.

FAQ

How does vsatp differ from hgatp?

vsatp controls VS-stage translation and hgatp controls G-stage translation; together they form two-stage address translation.

Does VS-mode directly access the vsatp address?

It does not directly access the separate vsatp address; when V=1, access to satp is substituted with vsatp.