Skip to content

Commit fb9489c

Browse files
authored
Added note to cbuildcap and reserved cs1 == 0 (#103)
This should close #94 .
1 parent ce6d9ce commit fb9489c

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

Diff for: src/insns/cbuildcap_32bit.adoc

+5-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,11 @@ sealed, `cs1` 's permissions and bounds are equal or a superset of `cs2` 's,
2424
`cs2` 's bounds are not malformed (see
2525
xref:section_cap_malformed[xrefstyle=short]), and all reserved bits in `cs2` 's
2626
metadata are 0. <<CBUILDCAP>> is typically used alongside <<CSETHIGH>> to build
27-
capabilities from integer values. The case `cs1 == 0` trivially leads to the tag
28-
of `cd` being stripped.
27+
capabilities from integer values.
28+
29+
NOTE: Although currently this will set the tag to 0 and leave the metadata
30+
otherwise unchanged when `cs1` is `c0`, this may change in future extensions,
31+
and so software should not assume this.
2932
3033
Prerequisites::
3134
{cheri_base_ext_name}

Diff for: src/insns/wavedrom/cbuildcap.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
{bits: 7, name: 'opcode', attr: ['7', 'OP=0110011'], type: 8},
66
{bits: 5, name: 'cd', attr: ['5', 'dest'], type: 2},
77
{bits: 3, name: 'funct3', attr: ['3', 'CBUILDCAP=101'], type: 8},
8-
{bits: 5, name: 'cs1', attr: ['5', 'src1'], type: 4},
8+
{bits: 5, name: 'cs1', attr: ['5', 'src1 != 0'], type: 4},
99
{bits: 5, name: 'cs2', attr: ['5', 'src2'], type: 3},
1010
{bits: 7, name: 'funct7', attr: ['7', 'CBUILDCAP=0000110'], type: 3},
1111
]}

0 commit comments

Comments
 (0)