@@ -1985,7 +1985,8 @@ If the hardware platform specifies that no exceptions set `mtval`
19851985to a nonzero value, then `mtval` is read-only zero.
19861986
19871987If `mtval` is written with a nonzero value when a breakpoint,
1988- address-misaligned, access-fault, or page-fault exception occurs on an
1988+ address-misaligned, access-fault, page-fault, or hardware-error exception
1989+ occurs on an
19891990instruction fetch, load, or store, then `mtval` will contain the
19901991faulting virtual address.
19911992
@@ -2000,12 +2001,13 @@ include::images/bytefield/mtvalreg.edn[]
20002001
20012002
20022003If `mtval` is written with a nonzero value when a misaligned load or
2003- store causes an access-fault or page-fault exception, then `mtval` will
2004+ store causes an access-fault, page-fault, or hardware-error exception,
2005+ then `mtval` will
20042006contain the virtual address of the portion of the access that caused the
20052007fault.
20062008
20072009If `mtval` is written with a nonzero value when an instruction
2008- access-fault or page-fault exception occurs on a hart with
2010+ access-fault, page-fault, or hardware-error exception occurs on a hart with
20092011variable-length instructions, then `mtval` will contain the virtual
20102012address of the portion of the instruction that caused the fault, while
20112013`mepc` will point to the beginning of the instruction.
0 commit comments