Skip to content

Commit 2f123c2

Browse files
fix(data): remove most tagged text from descriptions (#1248)
Normative / non-normative tagging is being done in the riscv-isa-manual project, so revert those attempts here. One case with a `when()` clause remains. (I didn't quickly find a matching implementation without tagging.) --------- Co-authored-by: sudo-apt-Abdullah <[email protected]>
1 parent c735fa3 commit 2f123c2

File tree

151 files changed

+1477
-2537
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+1477
-2537
lines changed

backends/instructions_appendix/all_instructions.golden.adoc

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -569,8 +569,6 @@ Encoding::
569569
Description::
570570
This instruction implements the rotation, SubBytes and Round Constant addition steps of the AES
571571
block cipher Key Schedule.
572-
573-
574572
`rnum` must be in the range `0x0..0xA`. The values `0xB..0xF` are reserved.
575573

576574

@@ -12684,7 +12682,7 @@ Encoding::
1268412682
....
1268512683

1268612684
Description::
12687-
The xref:insts:fadd_d.adoc#udb:doc:inst:fadd_d[fadd.d] instruction is analogous to xref:insts:fadd_s.adoc#udb:doc:inst:fadd_s[fadd.s] and performs double-precision floating-point addition between
12685+
The xref:insts:fadd_d.adoc#udb:doc:inst:fadd_d[fadd.d] instruction is analogous to xref:insts:fadd_s.adoc#udb:doc:inst:fadd_s[fadd.s] and performs double-precision floating-point addition of
1268812686
`fs1` and `fs2` and writes the final result to `fd`.
1268912687

1269012688

@@ -12803,7 +12801,7 @@ Encoding::
1280312801
....
1280412802

1280512803
Description::
12806-
The xref:insts:fadd_s.adoc#udb:doc:inst:fadd_s[fadd.s] instruction performs single-precision floating-point addition of `xs1` and `xs2`
12804+
The xref:insts:fadd_s.adoc#udb:doc:inst:fadd_s[fadd.s] instruction performs single-precision floating-point addition of `fs1` and `fs2`
1280712805
and writes the final result to `fd`.
1280812806

1280912807

@@ -16044,8 +16042,7 @@ Encoding::
1604416042
....
1604516043

1604616044
Description::
16047-
The
16048-
The xref:insts:fli_q.adoc#udb:doc:inst:fli_q[fli.q] instruction loads one of 32 quad-precision floating-point constants, encoded in the `rs1`
16045+
The xref:insts:fli_q.adoc#udb:doc:inst:fli_q[fli.q] instruction loads one of 32 quad-precision floating-point constants, encoded in the `xs1`
1604916046
field, into floating-point register `rd`.
1605016047
xref:insts:fli_q.adoc#udb:doc:inst:fli_q[fli.q] is encoded like xref:insts:fmv_w_x.adoc#udb:doc:inst:fmv_w_x[fmv.w.x], but with _fmt_ = Q.
1605116048

@@ -17668,7 +17665,7 @@ Included in::
1766817665
== fmv.d.x
1766917666

1767017667
Synopsis::
17671-
Floating-Point Move from Integer Register to Double-Precision Register
17668+
Floating-Point Move Double-Precision from Integer Register
1767217669

1767317670
Assembly::
1767417671
fmv.d.x fd, xs1
@@ -17787,7 +17784,7 @@ Included in::
1778717784
== fmv.x.d
1778817785

1778917786
Synopsis::
17790-
Floating-Point Move from Double-Precision Register to Integer Register
17787+
Floating-Point Move Double-Precision to Integer Register
1779117788

1779217789
Assembly::
1779317790
fmv.x.d xd, fs1
@@ -18053,7 +18050,7 @@ Encoding::
1805318050
Description::
1805418051
The xref:insts:fmvp_q_x.adoc#udb:doc:inst:fmvp_q_x[fmvp.q.x] instruction moves a double-precision number from a pair of integer registers into
1805518052
a floating-point register.
18056-
Integer registers xs1 and xs2 supply bits 63:0 and 127:64, respectively; the result is written to
18053+
Integer registers `xs1` and `xs2` supply bits 63:0 and 127:64, respectively; the result is written to
1805718054
floating-point register `fd`.
1805818055
xref:insts:fmvp_q_x.adoc#udb:doc:inst:fmvp_q_x[fmvp.q.x] is encoded in the OP-FP major opcode with _funct3_=0 and _funct7_=1011011.
1805918056

spec/custom/non_isa/preface_demo.yaml

Lines changed: 43 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,12 @@ name: preface
88
long_name: Preface (Demo)
99
version: 1.0.0
1010
ratification_date: "2025-08-08"
11-
description:
12-
- id: spec-preface-overview
13-
normative: false
14-
text: |
15-
This Programmer's Reference Manual (PRM) provides comprehensive documentation for a generic RISC-V processor implementation. It is intended for system designers, integrators, verification engineers, and software developers working with RISC-V-based systems.
11+
description: |
12+
This Programmer's Reference Manual (PRM) provides comprehensive documentation for a generic RISC-V processor implementation. It is intended for system designers, integrators, verification engineers, and software developers working with RISC-V-based systems.
1613
17-
The manual covers the processor architecture, instruction set, control and status registers, memory management, debug and trace features, and other essential aspects. It aims to clarify both standard RISC-V features and implementation-defined options, supporting robust and portable software development.
14+
The manual covers the processor architecture, instruction set, control and status registers, memory management, debug and trace features, and other essential aspects. It aims to clarify both standard RISC-V features and implementation-defined options, supporting robust and portable software development.
1815
19-
This document is suitable for public distribution and does not contain proprietary or vendor-specific content. All examples and descriptions are generic and based on open RISC-V standards.
16+
This document is suitable for public distribution and does not contain proprietary or vendor-specific content. All examples and descriptions are generic and based on open RISC-V standards.
2017
authors:
2118
- name: RISC-V Community
2219
organization:
@@ -28,13 +25,10 @@ license:
2825
url: https://spdx.org/licenses/CC0-1.0.html
2926
sections:
3027
- title: About This Manual
31-
content:
32-
- id: sec-preface-about
33-
normative: false
34-
text: |
35-
This manual is organized to guide users through the essential features of a RISC-V processor. It begins with an overview of the architecture and programming model, followed by chapters on the instruction set, privilege levels, memory subsystem, and system integration topics. Each chapter provides references to the official RISC-V specifications and highlights implementation-defined aspects where relevant.
28+
content: |
29+
This manual is organized to guide users through the essential features of a RISC-V processor. It begins with an overview of the architecture and programming model, followed by chapters on the instruction set, privilege levels, memory subsystem, and system integration topics. Each chapter provides references to the official RISC-V specifications and highlights implementation-defined aspects where relevant.
3630
37-
The manual is designed to be accessible to both new and experienced users, with clear explanations, diagrams, and practical examples. It emphasizes portability, compliance with RISC-V standards, and best practices for system design and software development.
31+
The manual is designed to be accessible to both new and experienced users, with clear explanations, diagrams, and practical examples. It emphasizes portability, compliance with RISC-V standards, and best practices for system design and software development.
3832
- title: Audience
3933
content:
4034
- id: sec-preface-audience
@@ -54,59 +48,47 @@ sections:
5448
This section is only included for educational distributions.
5549
when(): "distribution_type == 'educational'"
5650
- title: Notation and Conventions
57-
content:
58-
- id: sec-preface-notation
59-
normative: false
60-
text: |
61-
The following conventions are used throughout this manual:
51+
content: |
52+
The following conventions are used throughout this manual:
6253
63-
* Register and field names are shown in `monospace` font.
64-
* Bit values are indicated as 0 (read-only zero) or 1 (read-only one).
65-
* References to RISC-V specifications are provided for standard features.
66-
* Implementation-defined options are clearly marked and explained.
54+
* Register and field names are shown in `monospace` font.
55+
* Bit values are indicated as 0 (read-only zero) or 1 (read-only one).
56+
* References to RISC-V specifications are provided for standard features.
57+
* Implementation-defined options are clearly marked and explained.
6758
- title: Document Organization
68-
content:
69-
- id: sec-preface-organization
70-
normative: false
71-
text: |
72-
Chapters include:
59+
content: |
60+
Chapters include:
7361
74-
* Architecture Overview
75-
* Instruction Set Architecture
76-
* Privileged Architecture
77-
* Interrupts and Exceptions
78-
* Memory Subsystem
79-
* Memory Management
80-
* Reliability, Availability, and Serviceability (RAS)
81-
* Floating Point Unit
82-
* Debug and Trace
83-
* Triggers and Watchpoints
84-
* Power Management
85-
* Performance Monitoring
86-
* Timers and Watchdog
87-
* Security Features
88-
* Control and Status Registers
89-
* Build and Configuration Options
90-
* Acronyms and Definitions
91-
* References
62+
* Architecture Overview
63+
* Instruction Set Architecture
64+
* Privileged Architecture
65+
* Interrupts and Exceptions
66+
* Memory Subsystem
67+
* Memory Management
68+
* Reliability, Availability, and Serviceability (RAS)
69+
* Floating Point Unit
70+
* Debug and Trace
71+
* Triggers and Watchpoints
72+
* Power Management
73+
* Performance Monitoring
74+
* Timers and Watchdog
75+
* Security Features
76+
* Control and Status Registers
77+
* Build and Configuration Options
78+
* Acronyms and Definitions
79+
* References
9280
93-
Each chapter is self-contained and provides links to related topics and external resources.
81+
Each chapter is self-contained and provides links to related topics and external resources.
9482
- title: Web Resources
95-
content:
96-
- id: sec-preface-web
97-
normative: true
98-
text: |
99-
For more information on RISC-V standards and open-source resources, visit:
83+
content: |
84+
For more information on RISC-V standards and open-source resources, visit:
10085
101-
* https://riscv.org
102-
* https://github.com/riscv/riscv-isa-manual
103-
* https://github.com/riscv/riscv-debug-spec
104-
* https://github.com/riscv-software-src
86+
* https://riscv.org
87+
* https://github.com/riscv/riscv-isa-manual
88+
* https://github.com/riscv/riscv-debug-spec
89+
* https://github.com/riscv-software-src
10590
106-
Community forums, mailing lists, and technical documentation are available to support developers and users worldwide.
91+
Community forums, mailing lists, and technical documentation are available to support developers and users worldwide.
10792
- title: Revision History
108-
content:
109-
- id: sec-preface-history
110-
normative: true
111-
text: |
112-
Version 1.0.0 (2025-08-08): Initial public release of the demo Programmer's Reference Manual for RISC-V processors.
93+
content: |
94+
Version 1.0.0 (2025-08-08): Initial public release of the demo Programmer's Reference Manual for RISC-V processors.

spec/schemas/schema_defs.json

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -102,26 +102,19 @@
102102
{
103103
"type": "array",
104104
"items": {
105-
"$ref": "#/$defs/tagged_text"
105+
"$ref": "#/$defs/conditional_text"
106106
}
107107
}
108108
]
109109
},
110-
"tagged_text": {
110+
"conditional_text": {
111111
"type": "object",
112-
"required": ["id", "text", "normative"],
112+
"required": ["text"],
113113
"properties": {
114-
"id": {
115-
"type": "string",
116-
"description": "Unique identifier for the statement"
117-
},
118114
"text": {
119115
"type": "string",
120116
"description": "Asciidoctor source"
121117
},
122-
"normative": {
123-
"type": "boolean"
124-
},
125118
"when()": {
126119
"type": "string",
127120
"description": "IDL boolean expression. When true, the text applies"

spec/std/isa/csr/F/fflags.yaml

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,16 @@ name: fflags
99
long_name: Floating-Point Accrued Exceptions
1010
address: 0x001
1111
writable: true
12-
description:
13-
- id: csr-fflags-purpose
14-
normative: true
15-
text: |
16-
The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic
17-
instruction since the field was last reset by software.
18-
- id: csr-fflags-fptrap
19-
normative: false
20-
text: The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.
21-
- id: csr-fflags-reasoning
22-
normative: false
23-
text: |
24-
As allowed by the standard, we do not support traps on floating-point exceptions in the F
25-
extension, but instead require explicit checks of the flags in software. We considered
26-
adding branches controlled directly by the contents of the floating-point accrued
27-
exception flags, but ultimately chose to omit these instructions to keep the ISA simple.
12+
description: |
13+
The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic
14+
instruction since the field was last reset by software.
15+
16+
The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.
17+
18+
As allowed by the standard, we do not support traps on floating-point exceptions in the F
19+
extension, but instead require explicit checks of the flags in software. We considered
20+
adding branches controlled directly by the contents of the floating-point accrued
21+
exception flags, but ultimately chose to omit these instructions to keep the ISA simple.
2822
2923
priv_mode: U
3024
length: 32

spec/std/isa/csr/F/frm.yaml

Lines changed: 25 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,32 @@ name: frm
99
long_name: Floating-Point Dynamic Rounding Mode
1010
address: 0x002
1111
writable: true
12-
description:
13-
- id: csr-frm-encodings
14-
normative: false
15-
text: |
16-
Rounding modes are encoded as follows:
12+
description: |
13+
Rounding modes are encoded as follows:
1714
18-
[[rm]]
19-
.Rounding mode encoding.
20-
[%autowidth,float="center",align="center",cols="^,^,<",options="header"]
21-
!===
22-
!Rounding Mode |Mnemonic |Meaning
23-
!000 !RNE !Round to Nearest, ties to Even
24-
!001 !RTZ !Round towards Zero
25-
!010 !RDN !Round Down (towards latexmath:[$-\infty$])
26-
!011 !RUP !Round Up (towards latexmath:[$+\infty$])
27-
!100 !RMM !Round to Nearest, ties to Max Magnitude
28-
!101 ! !_Reserved for future use._
29-
!110 ! !_Reserved for future use._
30-
!111 !DYN !In instruction's _rm_ field, selects dynamic rounding mode; In Rounding Mode register, _reserved_.
31-
!===
32-
- id: csr-frm-reserved
33-
normative: false
34-
text: |
35-
The behavior of floating-point instructions that depend on rounding mode when
36-
executed with a reserved rounding mode is _reserved_, including both static
37-
reserved rounding modes (101-110) and dynamic reserved rounding modes (101-111).
38-
- id: csr-frm-rmfield
39-
normative: false
40-
text: |
41-
Some instructions, including widening conversions, have the _rm_ field but are
42-
nevertheless mathematically unaffected by the rounding mode; software should set
43-
their _rm_ field to RNE (000) but implementations must treat the _rm_ field as
44-
usual (in particular, with regard to decoding legal vs. reserved encodings).
15+
[[rm]]
16+
.Rounding mode encoding.
17+
[%autowidth,float="center",align="center",cols="^,^,<",options="header"]
18+
!===
19+
!Rounding Mode |Mnemonic |Meaning
20+
!000 !RNE !Round to Nearest, ties to Even
21+
!001 !RTZ !Round towards Zero
22+
!010 !RDN !Round Down (towards latexmath:[$-\infty$])
23+
!011 !RUP !Round Up (towards latexmath:[$+\infty$])
24+
!100 !RMM !Round to Nearest, ties to Max Magnitude
25+
!101 ! !_Reserved for future use._
26+
!110 ! !_Reserved for future use._
27+
!111 !DYN !In instruction's _rm_ field, selects dynamic rounding mode; In Rounding Mode register, _reserved_.
28+
!===
29+
30+
The behavior of floating-point instructions that depend on rounding mode when
31+
executed with a reserved rounding mode is _reserved_, including both static
32+
reserved rounding modes (101-110) and dynamic reserved rounding modes (101-111).
33+
34+
Some instructions, including widening conversions, have the _rm_ field but are
35+
nevertheless mathematically unaffected by the rounding mode; software should set
36+
their _rm_ field to RNE (000) but implementations must treat the _rm_ field as
37+
usual (in particular, with regard to decoding legal vs. reserved encodings).
4538
4639
priv_mode: U
4740
length: 32

0 commit comments

Comments
 (0)