riscv/riscv-CMOs

Must cbo.clean, cbo.flush, and cbo.inval raise exception on an address in vacant region?

YenHaoChen opened this issue · 4 comments

Hello,

I want to clarify the permissions for cache-block management instructions. Consider a vacant region that PMP/PMA permits access to. Does any cache-block management instruction raise an exception on a cache block in that vacant region? Or should an implementation treat the instruction as nop in this case?

image

Consider a vacant region that PMP/PMA permits access to.

A vacant region is defined in the Privileged ISA spec as PMA not supporting access to.

Vacant regions are also classified as I/O regions but with attributes specifying that no accesses are supported.

Thank you for the clarification. Therefore, for an incorrect PMA configuration that allows access to vacant regions—whether due to a buggy software setting or hardware implementation—we indeed classify it as unspecified behavior when accessing addresses within these regions. Is this understanding accurate?

Buggy behavior is unspecified in the ISA.

Thank you.