Skip to content

Commit

Permalink
Merge pull request #179 from ved-rivos/1104
Browse files Browse the repository at this point in the history
update access fault type
  • Loading branch information
ved-rivos authored Nov 4, 2023
2 parents 1a7afa9 + 0fa2665 commit a1c0976
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions cfi_backward.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -447,8 +447,8 @@ The `SSPOPCHK` and `C.SSPOPCHK` instructions require the virtual address in
`ssp` to have a shadow stack attribute (see <<SSMP>>). Correct execution of
`SSPOPCHK` and `C.SSPOPCHK` requires that `ssp` refers to idempotent memory. If
the memory reference by `ssp` is not idempotent, then the instructions cause a
load access-fault exception. If the virtual address in `ssp` is not `XLEN`
aligned, then `SSPOPCHK` and `C.SSPOPCHK` instructions cause a load
store/AMO access-fault exception. If the virtual address in `ssp` is not `XLEN`
aligned, then `SSPOPCHK` and `C.SSPOPCHK` instructions cause a store/AMO
access-fault exception

[NOTE]
Expand Down Expand Up @@ -493,7 +493,7 @@ endif
If the value loaded from the address in `ssp` does not match the value in `rs1`,
a software-check exception (cause=18) is raised with `__x__tval` set to "shadow
stack fault (code=3)". The software-check exception caused by `SSPOPCHK`/
`C.SSPOPCHK` is lower in priority than a load access-fault exception.
`C.SSPOPCHK` is lower in priority than a load/store/AMO access-fault exception.

The `ssp` is incremented by `SSPOPCHK` and `C.SSPOPCHK` only if the load from
the shadow stack completes successfully and no software-check exception is
Expand Down

0 comments on commit a1c0976

Please sign in to comment.