Skip to content

Commit 0942e39

Browse files
Merge branch 'main' into partials
2 parents 7597670 + 8721e67 commit 0942e39

File tree

5 files changed

+41
-33
lines changed

5 files changed

+41
-33
lines changed

arch/profile_release/MockProfileRelease.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ MockProfileRelease:
2727
extensions:
2828
A:
2929
presence: optional
30-
version: "= 2.1"
30+
version: "~> 2.1"
3131
I:
3232
presence: mandatory
3333
version: "~> 2.1"
@@ -52,21 +52,21 @@ MockProfileRelease:
5252
S:
5353
presence:
5454
optional: localized
55-
version: "= 1.12"
55+
version: "~> 1.12"
5656
Zifencei:
5757
presence:
5858
optional: development
59-
version: "= 2.0"
59+
version: "~> 2.0"
6060
note:
6161
Zihpm:
6262
presence:
6363
optional: expansion
64-
version: "= 2.0"
64+
version: "~> 2.0"
6565
note: Made this a expansion option
6666
Sv48:
6767
presence:
6868
optional: transitory
69-
version: "= 1.11"
69+
version: "~> 1.11"
7070
note: Made this a transitory option
7171
extra_notes:
7272
- presence: mandatory

arch/profile_release/RVA20.yaml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -66,29 +66,29 @@ RVA20:
6666
presence: mandatory
6767
Ziccif:
6868
presence: mandatory
69-
version: "= 1.0"
69+
version: "~> 1.0"
7070
note: |
7171
Ziccif is a profile-defined extension introduced with RVA20.
7272
The fetch atomicity requirement facilitates runtime patching
7373
of aligned instructions.
7474
Ziccrse:
7575
presence: mandatory
76-
version: "= 1.0"
76+
version: "~> 1.0"
7777
note: Ziccrse is a profile-defined extension introduced with RVA20.
7878
Ziccamoa:
7979
presence: mandatory
80-
version: "= 1.0"
80+
version: "~> 1.0"
8181
note: Ziccamo is a profile-defined extension introduced with RVA20.
8282
Za128rs:
8383
presence: mandatory
84-
version: "= 1.0"
84+
version: "~> 1.0"
8585
note: |
8686
Za128rs is a profile-defined extension introduced with RVA20.
8787
The minimum reservation set size is effectively determined by the
8888
size of atomic accesses in the `A` extension.
8989
Zicclsm:
9090
presence: mandatory
91-
version: "= 1.0"
91+
version: "~> 1.0"
9292
note: |
9393
Zicclsm is a profile-defined extension introduced with RVA20.
9494
This requires misaligned support for all regular load and store
@@ -140,23 +140,23 @@ RVA20:
140140
extensions:
141141
S:
142142
presence: mandatory
143-
version: "= 1.11"
143+
version: "~> 1.11"
144144
Zifencei:
145145
presence: mandatory
146-
version: "= 2.0"
146+
version: "~> 2.0"
147147
note: |
148148
Zifencei is mandated as it is the only standard way to support
149149
instruction-cache coherence in RVA20 application processors. A new
150150
instruction-cache coherence mechanism is under development which might
151151
be added as an option in the future.
152152
Svbare:
153153
presence: mandatory
154-
version: "= 1.0"
154+
version: "~> 1.0"
155155
note: |
156156
Svbare is a new extension name introduced with RVA20.
157157
Sv39:
158158
presence: mandatory
159-
version: "= 1.11"
159+
version: "~> 1.11"
160160
Svade:
161161
presence: mandatory
162162
version: "~> 1.0"
@@ -167,24 +167,24 @@ RVA20:
167167
`Svadu`.
168168
Ssccptr:
169169
presence: mandatory
170-
version: "= 1.0"
170+
version: "~> 1.0"
171171
note: |
172172
Ssccptr is a new extension name introduced with RVA20.
173173
Sstvecd:
174174
presence: mandatory
175-
version: "= 1.0"
175+
version: "~> 1.0"
176176
note: |
177177
Sstvecd is a new extension name introduced with RVA20.
178178
Sstvala:
179179
presence: mandatory
180-
version: "= 1.0"
180+
version: "~> 1.0"
181181
note: |
182182
Sstvala is a new extension name introduced with RVA20.
183183
Sv48:
184184
presence: optional
185-
version: "= 1.11"
185+
version: "~> 1.11"
186186
Ssu64xl:
187187
presence: optional
188-
version: "= 1.0"
188+
version: "~> 1.0"
189189
note: |
190190
Ssu64xl is a new extension name introduced with RVA20.

arch/profile_release/RVA22.yaml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ RVA22:
4646
$inherits: "profile_release/RVA20.yaml#/RVA20/profiles/RVA20U64/extensions"
4747
Zihpm:
4848
presence: mandatory
49-
version: "= 2.0"
49+
version: "~> 2.0"
5050
Zihintpause:
5151
presence: mandatory
52-
version: "= 2.0"
52+
version: "~> 2.0"
5353
note: |
5454
While the `pause` instruction is a HINT can be implemented as a
5555
NOP and hence trivially supported by hardware implementers, its
@@ -68,7 +68,7 @@ RVA22:
6868
version: "~> 1.0"
6969
Zic64b:
7070
presence: mandatory
71-
version: "= 1.0"
71+
version: "~> 1.0"
7272
note: |
7373
This is a new extension name for this feature. While the general
7474
RISC-V specifications are agnostic to cache block size, selecting a
@@ -156,6 +156,10 @@ RVA22:
156156
text: |
157157
The Zfinx, Zdinx, Zhinx, Zhinxmin extensions are incompatible
158158
with the profile mandates to support the F and D extensions.
159+
recommendations:
160+
- text: |
161+
Implementations are strongly recommended to raise illegal-instruction
162+
exceptions on attempts to execute unimplemented opcodes.
159163
RVA22S64:
160164
marketing_name: RVA22S64
161165
mode: S
@@ -170,10 +174,10 @@ RVA22:
170174
$inherits: "profile_release/RVA20.yaml#/RVA20/profiles/RVA20S64/extensions"
171175
S:
172176
presence: mandatory
173-
version: "= 1.12"
177+
version: "~> 1.12"
174178
Sscounterenw:
175179
presence: mandatory
176-
version: "= 1.0"
180+
version: "~> 1.0"
177181
note: |
178182
Sstvala is a new extension name introduced with RVA22.
179183
Svpbmt:
@@ -257,4 +261,8 @@ RVA22:
257261
* Shvstvala
258262
* Shtvala
259263
* Shvstvecd
260-
* Shgatpa
264+
* Shgatpa
265+
recommendations:
266+
- text: |
267+
Implementations are strongly recommended to raise illegal-instruction
268+
exceptions on attempts to execute unimplemented opcodes.

arch/profile_release/RVI20.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,35 +50,35 @@ RVI20:
5050
correctly indicate that `fence.tso` is mandatory.
5151
A:
5252
presence: optional
53-
version: "= 2.1"
53+
version: "~> 2.1"
5454
C:
5555
presence: optional
56-
version: "= 2.2"
56+
version: "~> 2.2"
5757
D:
5858
presence: optional
59-
version: "= 2.2"
59+
version: "~> 2.2"
6060
note: |
6161
NOTE: The rationale to not include Q as a profile option is that
6262
quad-precision floating-point is unlikely to be implemented in
6363
hardware, and so we do not require or expect software to expend effort
6464
optimizing use of Q instructions in case they are present.
6565
F:
6666
presence: optional
67-
version: "= 2.2"
67+
version: "~> 2.2"
6868
M:
6969
presence: optional
70-
version: "= 2.0"
70+
version: "~> 2.0"
7171
Zicntr:
7272
presence: optional
7373
version: " = 2.0"
7474
Zihpm:
7575
presence: optional
76-
version: "= 2.0"
76+
version: "~> 2.0"
7777
note: |
7878
The number of counters is platform-specific.
7979
Zifencei:
8080
presence: optional
81-
version: "= 2.0"
81+
version: "~> 2.0"
8282
recommendations:
8383
- text: |
8484
Implementations are strongly recommended to raise illegal-instruction

backends/profile_doc/templates/profile.adoc.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ associated implementation-defined parameters across all its defined profiles.
390390
Recommendations are not strictly mandated but are included to guide implementers making design choices.
391391
392392
<% profile.recommendations.each do |recommendation| -%>
393-
<%= recommendation.text %>
393+
* <%= recommendation.text %>
394394
<% end # each recommendation -%>
395395
<% end # unless recommendations empty -%>
396396

0 commit comments

Comments
 (0)