Skip to content

Commit d6cc5d1

Browse files
sort out extensions xrefs (#422)
All extensions are now linked by an xref
1 parent 3248cc6 commit d6cc5d1

8 files changed

+26
-20
lines changed

src/cap-description.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ permission.
248248
| 6 | <<el_perm>>^1^
249249
| 7 | <<sl_perm>>^1^
250250
|==============================================================================
251-
^1^ This permission is only supported if the implementation supports <<section_ext_cheri_levels,{cheri_levels_ext_name}>>.
251+
^1^ This permission is only supported if the implementation supports <<cheri_levels_ext,{cheri_levels_ext_name}>>.
252252

253253
The <<m_bit>> is only assigned meaning when the
254254
implementation supports {cheri_default_ext_name} _and_ <<x_perm>> is set.

src/cheri-pte-ext.adoc

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[#section_sv_cheri]
2+
[#cheri_pte_ext]
23
== "{cheri_pte_ext_name}" Extension for CHERI Page-Based Virtual-Memory Systems
34

45
CHERI is a security mechanism that is generally orthogonal to page-based

src/debug-integration.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ If {cheri_default_ext_name} is implemented:
181181

182182
* The <<m_bit>> is reset to {cheri_int_mode_name} ({INT_MODE_VALUE}).
183183
* The debugger can set the <<m_bit>> to {cheri_cap_mode_name} ({CAP_MODE_VALUE}) by executing <<MODESW_CAP>> from the program buffer.
184-
** Executing <<MODESW_CAP>> causes subsequent instruction execution from the program buffer, starting from the next instruction, to be executed in {cheri_cap_mode_name}. It also sets the CHERI execution mode to {cheri_cap_mode_name} on future entry into debug mode.
184+
** Executing <<MODESW_CAP>> causes subsequent instructions execution from the program buffer, starting from the next instruction, to be executed in {cheri_cap_mode_name}. It also sets the CHERI execution mode to {cheri_cap_mode_name} on future entry into debug mode.
185185
** Therefore to enable use of a CHERI debugger, a single <<MODESW_CAP>> only needs to be executed once from the program buffer after resetting the core.
186186
** The debugger can also execute <<MODESW_INT>> to change the mode back to {cheri_int_mode_name}, which also affects the execution of the next instruction in the program buffer, updates the <<m_bit>> of <<dinfc>> and controls which CHERI execution mode to enter on the next entry into debug mode.
187187

src/insns/acperm_32bit.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ The MXLEN=32 additional rules are:
6868
[#acperm_bit_field]
6969
include::../img/acperm_bit_field.edn[]
7070

71-
NOTE: The <<el_perm,EL>>, <<sl_perm,SL>> and <<section_cap_level,CL>> fields are only defined if the implementation supports <<section_ext_cheri_levels,{cheri_levels_ext_name}>>.
71+
NOTE: The <<el_perm,EL>>, <<sl_perm,SL>> and <<section_cap_level,CL>> fields are only defined if the implementation supports <<cheri_levels_ext,{cheri_levels_ext_name}>>.
7272

7373
NOTE: Even though being included here <<section_cap_level,CL>> is not considered an architectural permission.
7474

src/introduction.adoc

+15-15
Original file line numberDiff line numberDiff line change
@@ -81,20 +81,20 @@ This specification is based on publicly available documentation including
8181
cite:[cheri-v9-spec] and cite:[woodruff2019cheri]. It defines the following
8282
extensions to support CHERI alongside RISC-V:
8383

84-
{cheri_base_ext_name}:: Introduces key, minimal CHERI concepts and features to
84+
<<cheri_base_ext,{cheri_base_ext_name}>>:: Introduces key, minimal CHERI concepts and features to
8585
the RISC-V ISA. The resulting extended ISA is not
8686
backwards-compatible with RISC-V.
87-
{cheri_default_ext_name}:: Extends {cheri_base_ext_name} with features to ensure
87+
<<cheri_default_ext,{cheri_default_ext_name}>>:: Extends {cheri_base_ext_name} with features to ensure
8888
that the ISA extended with CHERI allows backwards binary compatibility with
8989
RISC-V.
90-
{sh4add_ext_name}:: Addition of <<SH4ADD>> and <<SH4ADD_UW>> for RV64 only, as CHERI capabilities are 16 bytes when XLEN=64
91-
{lr_sc_bh_ext_name}:: Addition of <<LR_B>>, <<LR_H>>, <<SC_B>>, <<SC_H>> for more accurate atomic locking as the memory ranges are restricted by using bounds, therefore precise locking is needed.
92-
{cheri_pte_ext_name}:: CHERI extension for RISC-V harts supporting page-based
90+
<<sh4add_ext,{sh4add_ext_name}>>:: Addition of <<SH4ADD>> and <<SH4ADD_UW>> for RV64 only, as CHERI capabilities are 16 bytes when XLEN=64
91+
<<lr_sc_bh_ext,{lr_sc_bh_ext_name}>>:: Addition of <<LR_B>>, <<LR_H>>, <<SC_B>>, <<SC_H>> for more accurate atomic locking as the memory ranges are restricted by using bounds, therefore precise locking is needed.
92+
<<cheri_pte_ext,{cheri_pte_ext_name}>>:: CHERI extension for RISC-V harts supporting page-based
9393
virtual-memory.
94-
{cheri_levels_ext_name}:: Extension for supporting capability flow control.
95-
This extension allows limiting storing of capabilities to specific regions and can be used e.g. for safer data sharing between compartments.
96-
{tid_ext_name}:: Extension for supporting thread identifiers. This extension
94+
<<tid_ext,{tid_ext_name}>>:: Extension for supporting thread identifiers. This extension
9795
improves software compartmentalization on CHERI systems.
96+
<<cheri_levels_ext,{cheri_levels_ext_name}>>:: Extension for supporting capability flow control.
97+
This extension allows limiting storing of capabilities to specific regions and can be used e.g. for safer data sharing between compartments.
9898

9999
CAUTION: The extension names are provisional and subject to change.
100100

@@ -103,13 +103,13 @@ CAUTION: The extension names are provisional and subject to change.
103103
[options=header,align=center,width="90%",cols="25,23,52"]
104104
|==============================================================================
105105
| Extension | Status | Comment
106-
|{cheri_base_ext_name} | Stable | This extension is a candidate for freezing
107-
|{cheri_default_ext_name} | Stable | This extension is a candidate for freezing
108-
|{sh4add_ext_name} | Stable | This extension is a candidate for freezing
109-
|{lr_sc_bh_ext_name} | Stable | This extension is a candidate for freezing
110-
|{cheri_pte_ext_name} | Prototype | This extension is a prototype, software is being developed to use it to increase the maturity level
111-
|{tid_ext_name} | Prototype | This extension is a prototype, software is being developed to use it to increase the maturity level
112-
|{cheri_levels_ext_name} | Prototype | This extension is a prototype, software is being developed to use it to increase the maturity level
106+
|<<cheri_base_ext, {cheri_base_ext_name}>> | Stable | This extension is a candidate for freezing
107+
|<<cheri_default_ext,{cheri_default_ext_name}>> | Stable | This extension is a candidate for freezing
108+
|<<sh4add_ext, {sh4add_ext_name}>> | Stable | This extension is a candidate for freezing
109+
|<<lr_sc_bh_ext, {lr_sc_bh_ext_name}>> | Stable | This extension is a candidate for freezing
110+
|<<cheri_pte_ext, {cheri_pte_ext_name}>> | Prototype | This extension is a prototype, software is being developed to use it to increase the maturity level
111+
|<<tid_ext, {tid_ext_name}>> | Prototype | This extension is a prototype, software is being developed to use it to increase the maturity level
112+
|<<cheri_levels_ext, {cheri_levels_ext_name}>> | Prototype | This extension is a prototype, software is being developed to use it to increase the maturity level
113113
|==============================================================================
114114

115115
{cheri_base_ext_name} is defined as the base extension which all CHERI RISC-V

src/level-ext.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[#section_ext_cheri_levels]
1+
[#cheri_levels_ext]
22
== "{cheri_levels_ext_name}" Extension for Capability Levels
33

44
{cheri_levels_ext_name} is an extension to {cheri_base_ext_name} that adds support for associating a level with capabilities and limiting the flow of capabilities to specific memory region subsets.

src/tables.adoc

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[appendix]
22
== Extension summary
33

4+
[#lr_sc_bh_ext]
45
=== {lr_sc_bh_ext_name}
56

67
{lr_sc_bh_ext_name} is a separate extension independent of CHERI, but is required for CHERI software.
@@ -14,6 +15,7 @@ These instructions are not controlled by the CRE bits in <<mseccfg>>, <<menvcfg>
1415
include::generated/Zabhlrsc_insns_table_body.adoc[]
1516
|==============================================================================
1617

18+
[#sh4add_ext]
1719
=== {sh4add_ext_name}
1820

1921
{sh4add_ext_name} is a separate extension independent of CHERI, but improves performance for CHERI code
@@ -28,11 +30,12 @@ These instructions are not controlled by the CRE bits in <<mseccfg>>, <<menvcfg>
2830
include::generated/Zish4add_insns_table_body.adoc[]
2931
|==============================================================================
3032

33+
[#cheri_base_ext]
3134
=== {cheri_base_ext_name}
3235

3336
{cheri_base_ext_name} defines the set of instructions supported by a core when in {cheri_cap_mode_name}.
3437

35-
Some instructions depend on the presence of other extensions, as listed in xref:Zcheri_purecap_instruction_extension[xrefstyle=short]
38+
Some instructions depend on the presence of other extensions, as listed in xref:Zcheri_purecap_instruction_extension[xrefstyle=short].
3639

3740
.{cheri_base_ext_name} instruction extension - Pure {cheri_cap_mode_name} instructions
3841
[#Zcheri_purecap_instruction_extension]
@@ -41,6 +44,7 @@ Some instructions depend on the presence of other extensions, as listed in xref:
4144
include::generated/Zcheri_purecap_insns_table_body.adoc[]
4245
|==============================================================================
4346

47+
[#cheri_default_ext]
4448
=== {cheri_default_ext_name}
4549

4650
{cheri_default_ext_name} defines the set of instructions added by the {cheri_int_mode_name}, in addition to {cheri_base_ext_name}.

src/tid-ext.adoc

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
[#tid_ext]
12
== "{tid_ext_name}" Extension for Thread Identification
23

34
{tid_ext_name} is an optional extension to the RISC-V base ISA.

0 commit comments

Comments
 (0)