stval

Supervisor Trap Value

Holds trap-specific information

Attributes

CSR Address

0x143

Defining extension

  • S, version >= 0

Length

64-bit

Privilege Mode

S

Format

stval format
Figure 1. stval format

Field Summary

Name Location Type Reset Value

VALUE

63:0

RW-H

0

Fields

VALUE

Location

stval[63:0]

Description

Written with trap-specific information when a trap is taken into S-mode.

The values are:

Exception type

Value +

[0] Instruction address misaligned

The misaligned virtual PC (same as the value written to mepc).

[1] Instruction access fault

The portion of the virtual PC causing the access fault .

[2] Illegal Instruction

The encoding of the illegal instruction.

[3] Breakpoint

[when,"REPORT_VA_IN_STVAL_ON_BREAKPOINT == true"] When caused by an EBREAK instruction, the virtual PC of the breakpoint instruction. + [when,"REPORT_VA_IN_STVAL_ON_BREAKPOINT == false"] When caused by an EBREAK instruction, zero. + When caused by a data address (i.e., watchpoint) breakpoint, the faulting virtual address. When caused by an instruction address breakpoint, the faulting virtual PC.

[4] Load address misaligned

The misaligned virtual load address.

[5] Load access fault

The part of virtual load address causing in the access fault. + When the load is misaligned, the reported value is the smallest address on the page causing a fault (e.g., if an 8-byte load is equally split across a page and the fault occurs on the second page, address + 4 is reported). + (Even though the access fault arises on a physical address, the virtual address is reported)

[6] Store/AMO address misaligned

The misaligned virtual store/AMO address.

[7] Store/AMO access fault

The virtual store/AMO address causing the access fault. + When the store/AMO is misaligned, the reported value is the smallest address on the page causing a fault (e.g., if an 8-byte store is equally split across a page and the fault occurs on the second page, address + 4 is reported). + (Even though the access fault arises on a physical address, the virtual address is reported)

[8] Environment call from U-mode or VU-mode

Zero

[9] Environment call from (H)S-mode

Zero

[10] Environment call from VS-mode

Zero

[12] Instruction page fault

The portion of the virtual PC causing the page fault .

[13] Load page fault

The part of the virtual load address causing in the page fault. + When the load is misaligned, the reported value is the smallest address on the page causing a fault (e.g., if an 8-byte load is equally split across a page and the fault occurs on the second page, address + 4 is reported).

[15] Store/AMO page fault

The virtual store/AMO address causing in the page fault. + When the store/AMO is misaligned, the reported value is the smallest address on the page causing a fault (e.g., if an 8-byte store is equally split across a page and the fault occurs on the second page, address + 4 is reported).

[20] Instruction guest-page fault

The portion of the virtual PC causing the fault . + The guest physical address is reported in mtval2.

[21] Load guest-page fault

The part of the virtual address causing the fault. + When the load is misaligned, the reported value is the smallest address on the page causing a fault (e.g., if an 8-byte load is equally split across a page and the fault occurs on the second page, address + 4 is reported). + The guest physical address is reported in mtval2.

[22] Virutal instruction

The encoding of the faulting virtual instruction.

[23] Store/AMO guest-page fault

The part of the virtual address causing the fault. + When the store/AMO is misaligned, the reported value is the smallest address on the page causing a fault (e.g., if an 8-byte store is equally split across a page and the fault occurs on the second page, address + 4 is reported). + The guest physical address is reported in htval.

Type

RW-H

Read-Write with Hardware update

Field is writable by software. Any value that fits in the field is acceptable. Hardware also updates the field without an explicit software write.

Reset value

0