From 62cb1e7305f929f0b0a578c48dacc9164de3ad64 Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue <91900059+ved-rivos@users.noreply.github.com> Date: Fri, 27 Sep 2024 05:47:26 -0500 Subject: [PATCH] Zicfiss clarifications: CBO and PM (#1657) --- src/priv-cfi.adoc | 6 ++++-- src/zpm.adoc | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/priv-cfi.adoc b/src/priv-cfi.adoc index 088a593f3..2f03f192d 100644 --- a/src/priv-cfi.adoc +++ b/src/priv-cfi.adoc @@ -214,8 +214,10 @@ instruction will result in a store/AMO access-fault exception. Memory mapped as an SS page cannot be written to by instructions other than `SSAMOSWAP.W/D`, `SSPUSH`, and `C.SSPUSH`. Attempts will raise a store/AMO -access-fault exception. Implicit accesses, including instruction fetches to an SS -page, are not permitted. Such accesses will raise an access-fault exception +access-fault exception. Access to a SS page using _cache-block operation_ +(`CBO.*`) instructions is not permitted. Such accesses will raise a store/AMO +access-fault exception. Implicit accesses, including instruction fetches to an +SS page, are not permitted. Such accesses will raise an access-fault exception appropriate to the access type. However, the shadow stack is readable by all instructions that only load from memory. diff --git a/src/zpm.adoc b/src/zpm.adoc index 63bfc87b1..c386e4ca7 100644 --- a/src/zpm.adoc +++ b/src/zpm.adoc @@ -131,6 +131,7 @@ Pointer masking applies to all explicit memory accesses. Currently, in the Base * **Hypervisor Extension**: HLV.\*, HSV.* (in some cases; see <<_ssnpm>>). * **Cache Management Operations**: All instructions in Zicbom, Zicbop and Zicboz. * **Vector Extension**: All vector load and store instructions in the ratified RVV 1.0 spec. +* **Zicfiss Extension**: SSPUSH, C.SSPUSH, SSPOPCHK, C.SSPOPCHK, SSAMOSWAP.W/D. * **Assorted**: FENCE, FENCE.I (if the currently unused address fields become enabled in the future). [NOTE]