6969 * are flags controlling relaxed memory ordering and atomic memory access
7070 * (not used on single-core MCU).
7171 */
72- val mem_read_cap : (xlenbits , bool , bool , bool ) -> MemoryOpResult (Capability ) effect { rmem , rmemt , rreg , escape }
72+ val mem_read_cap : (xlenbits , bool , bool , bool ) -> MemoryOpResult (Capability )
7373function mem_read_cap (addr , aq , rl , res ) = {
7474 let result : MemoryOpResult ((CapBits , bool )) = mem_read_meta (Read (Data ), addr , cap_size , aq , rl , res , true );
7575 match result {
@@ -116,7 +116,7 @@ function mem_read_cap_revoked (addr) = {
116116 * integrated with the RMEM concurrency tool, but the address annoucement
117117 * may be ignored in sequential execution.
118118 */
119- val mem_write_ea_cap : (xlenbits , bool , bool , bool ) -> MemoryOpResult (unit ) effect { eamem }
119+ val mem_write_ea_cap : (xlenbits , bool , bool , bool ) -> MemoryOpResult (unit )
120120function mem_write_ea_cap (addr , aq , rl , con ) = {
121121 if ~(is_aligned_addr (addr , cap_size ))
122122 then MemException (E_SAMO_Addr_Align ())
@@ -130,7 +130,7 @@ function mem_write_ea_cap(addr, aq, rl, con) = {
130130 * in case of exception [e]. [aq], [rl] and [res] are flags controlling relaxed
131131 * memory ordering and atomic accesses (not used on single-core MCU).
132132 */
133- val mem_write_cap : (xlenbits , Capability , bool , bool , bool ) -> MemoryOpResult (bool ) effect { wmv , rreg , wreg , escape , wmvt }
133+ val mem_write_cap : (xlenbits , Capability , bool , bool , bool ) -> MemoryOpResult (bool )
134134function mem_write_cap (addr , cap , aq , rl , con ) = {
135135 let cap_bits = capToBits (cap );
136136 /* Assume that conversion to bits and back does not change the capability.
0 commit comments