Skip to content

Latest commit

 

History

History
49 lines (33 loc) · 1.26 KB

store_16bit_cap_sprel.adoc

File metadata and controls

49 lines (33 loc) · 1.26 KB

C.SC

see C.SCSP.

C.SCSP

Synopsis

Capability stores (C.SC, C.SCSP), 16-bit encodings

{cheri_cap_mode_name} Mnemonics

c.sc cs2', offset(cs1')
c.sc cs2', offset(csp)

{cheri_cap_mode_name} Expansions

sc cs2', offset(cs1')
sc cs2', offset(csp)

Encoding

wavedrom/c-sp-store-cap.adoc

{cheri_cap_mode_name} Description

Store the CLEN+1 bit value in cs2' to memory. The capability in cs1/csp authorizes the operation. The effective address of the memory access is obtained by adding the address of cs1/csp to the sign-extended 12-bit offset.

Note
These mnemonics do not exist in {cheri_int_mode_name}.
Tag of the written capability value

The capability written to memory has the tag set to 0 if the tag of cs2' is 0 or if the authorizing capability (cs1/csp) does not grant [c_perm].

The stored tag is also set to zero if the authorizing capability does not have [sl_perm] set but the stored data has a [section_cap_level] of 0 (local).

Prerequisites

{c_cheri_base_ext_names}

Operation (after expansion to 32-bit encodings)

See [SC]