Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion header.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ endif::[]
- Clarified when to issue sync-support packet when trace is enabled (see <<sec:format33>>); +
- Updated reference encoding algorithm to generalize resync behaviour and add missing trap conditions (see <<Algorithm>>); +
- Clarified that implicit returns are not stored in the jump target cache (see <<sec:jump-cache>>); +
- Updated decoder to remove ECALL, EBREAK and C.EBREAK from is_uninferrable_jump function. Including them is harmless but unnecessary, as these instrucitons don't retire (see <<Decoder>>).
- Updated decoder to remove ECALL, EBREAK and C.EBREAK from is_uninferrable_jump function. Including them is harmless but unnecessary, as these instrucitons don't retire (see <<Decoder>>); +
- Corrected description of why the EPC is not always reported (see <<sec:thaddr>>).

|===

Expand Down
6 changes: 2 additions & 4 deletions payload.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -173,10 +173,8 @@ even though the 1st instruction of the handler hasn't retired. In this
situation, *thaddr* is 0, and *address* is undefined (unless it contains
the EPC as outlined in the previous paragraph).

(The reason for not reporting the EPC for all exceptions when *thaddr*
is 0 is that it may be at either the address of the next instruction or
current instruction depending on the exception cause, which can be
inferred by the decoder without adding complexity to the encoder.)
Note: The reason for not reporting the EPC for all exceptions when *thaddr*
is 0 is that it can be inferred by the decoder using the exception cause.

Where an interrupt or exception causes a privilege change, this change comes into force from the start of the trap handler. As such, the privilege value reported when *thaddr* is 0 will be the privilege level prior to any change.

Expand Down
Loading