xref: /freebsd/sys/contrib/device-tree/Bindings/riscv/extensions.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1f126890aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR MIT)
2f126890aSEmmanuel Vadot%YAML 1.2
3f126890aSEmmanuel Vadot---
4f126890aSEmmanuel Vadot$id: http://devicetree.org/schemas/riscv/extensions.yaml#
5f126890aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadottitle: RISC-V ISA extensions
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadotmaintainers:
10f126890aSEmmanuel Vadot  - Paul Walmsley <paul.walmsley@sifive.com>
11f126890aSEmmanuel Vadot  - Palmer Dabbelt <palmer@sifive.com>
12f126890aSEmmanuel Vadot  - Conor Dooley <conor@kernel.org>
13f126890aSEmmanuel Vadot
14f126890aSEmmanuel Vadotdescription: |
15f126890aSEmmanuel Vadot  RISC-V has a large number of extensions, some of which are "standard"
16f126890aSEmmanuel Vadot  extensions, meaning they are ratified by RISC-V International, and others
17f126890aSEmmanuel Vadot  are "vendor" extensions.
18f126890aSEmmanuel Vadot  This document defines properties that indicate whether a hart supports a
19f126890aSEmmanuel Vadot  given extension.
20f126890aSEmmanuel Vadot
21f126890aSEmmanuel Vadot  Once a standard extension has been ratified, no changes in behaviour can be
22f126890aSEmmanuel Vadot  made without the creation of a new extension.
23f126890aSEmmanuel Vadot  The properties for standard extensions therefore map to their originally
24f126890aSEmmanuel Vadot  ratified states, with the exception of the I, Zicntr & Zihpm extensions.
25f126890aSEmmanuel Vadot  See the "i" property for more information.
26f126890aSEmmanuel Vadot
27f126890aSEmmanuel Vadotselect:
28f126890aSEmmanuel Vadot  properties:
29f126890aSEmmanuel Vadot    compatible:
30f126890aSEmmanuel Vadot      contains:
31f126890aSEmmanuel Vadot        const: riscv
32f126890aSEmmanuel Vadot
33f126890aSEmmanuel Vadotproperties:
34f126890aSEmmanuel Vadot  riscv,isa:
35f126890aSEmmanuel Vadot    description:
36f126890aSEmmanuel Vadot      Identifies the specific RISC-V instruction set architecture
37f126890aSEmmanuel Vadot      supported by the hart.  These are documented in the RISC-V
38f126890aSEmmanuel Vadot      User-Level ISA document, available from
39f126890aSEmmanuel Vadot      https://riscv.org/specifications/
40f126890aSEmmanuel Vadot
41f126890aSEmmanuel Vadot      Due to revisions of the ISA specification, some deviations
42f126890aSEmmanuel Vadot      have arisen over time.
43f126890aSEmmanuel Vadot      Notably, riscv,isa was defined prior to the creation of the
44f126890aSEmmanuel Vadot      Zicntr, Zicsr, Zifencei and Zihpm extensions and thus "i"
45f126890aSEmmanuel Vadot      implies "zicntr_zicsr_zifencei_zihpm".
46f126890aSEmmanuel Vadot
47f126890aSEmmanuel Vadot      While the isa strings in ISA specification are case
48f126890aSEmmanuel Vadot      insensitive, letters in the riscv,isa string must be all
49f126890aSEmmanuel Vadot      lowercase.
50f126890aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
51*8d13bc63SEmmanuel Vadot    pattern: ^rv(?:64|32)imaf?d?q?c?b?k?j?p?v?h?(?:[hsxz](?:[0-9a-z])+)?(?:_[hsxz](?:[0-9a-z])+)*$
52f126890aSEmmanuel Vadot    deprecated: true
53f126890aSEmmanuel Vadot
54f126890aSEmmanuel Vadot  riscv,isa-base:
55f126890aSEmmanuel Vadot    description:
56f126890aSEmmanuel Vadot      The base ISA implemented by this hart, as described by the 20191213
57f126890aSEmmanuel Vadot      version of the unprivileged ISA specification.
58f126890aSEmmanuel Vadot    enum:
59f126890aSEmmanuel Vadot      - rv32i
60f126890aSEmmanuel Vadot      - rv64i
61f126890aSEmmanuel Vadot
62f126890aSEmmanuel Vadot  riscv,isa-extensions:
63f126890aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string-array
64f126890aSEmmanuel Vadot    minItems: 1
65f126890aSEmmanuel Vadot    description: Extensions supported by the hart.
66f126890aSEmmanuel Vadot    items:
67f126890aSEmmanuel Vadot      anyOf:
68f126890aSEmmanuel Vadot        # single letter extensions, in canonical order
69f126890aSEmmanuel Vadot        - const: i
70f126890aSEmmanuel Vadot          description: |
71f126890aSEmmanuel Vadot            The base integer instruction set, as ratified in the 20191213
72f126890aSEmmanuel Vadot            version of the unprivileged ISA specification.
73f126890aSEmmanuel Vadot
74f126890aSEmmanuel Vadot            This does not include Chapter 10, "Counters", which was moved into
75f126890aSEmmanuel Vadot            the Zicntr and Zihpm extensions after the ratification of the
76f126890aSEmmanuel Vadot            20191213 version of the unprivileged specification.
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel Vadot        - const: m
79f126890aSEmmanuel Vadot          description:
80f126890aSEmmanuel Vadot            The standard M extension for integer multiplication and division, as
81f126890aSEmmanuel Vadot            ratified in the 20191213 version of the unprivileged ISA
82f126890aSEmmanuel Vadot            specification.
83f126890aSEmmanuel Vadot
84f126890aSEmmanuel Vadot        - const: a
85f126890aSEmmanuel Vadot          description:
86f126890aSEmmanuel Vadot            The standard A extension for atomic instructions, as ratified in the
87f126890aSEmmanuel Vadot            20191213 version of the unprivileged ISA specification.
88f126890aSEmmanuel Vadot
89f126890aSEmmanuel Vadot        - const: f
90f126890aSEmmanuel Vadot          description:
91f126890aSEmmanuel Vadot            The standard F extension for single-precision floating point, as
92f126890aSEmmanuel Vadot            ratified in the 20191213 version of the unprivileged ISA
93f126890aSEmmanuel Vadot            specification.
94f126890aSEmmanuel Vadot
95f126890aSEmmanuel Vadot        - const: d
96f126890aSEmmanuel Vadot          description:
97f126890aSEmmanuel Vadot            The standard D extension for double-precision floating-point, as
98f126890aSEmmanuel Vadot            ratified in the 20191213 version of the unprivileged ISA
99f126890aSEmmanuel Vadot            specification.
100f126890aSEmmanuel Vadot
101f126890aSEmmanuel Vadot        - const: q
102f126890aSEmmanuel Vadot          description:
103f126890aSEmmanuel Vadot            The standard Q extension for quad-precision floating-point, as
104f126890aSEmmanuel Vadot            ratified in the 20191213 version of the unprivileged ISA
105f126890aSEmmanuel Vadot            specification.
106f126890aSEmmanuel Vadot
107f126890aSEmmanuel Vadot        - const: c
108f126890aSEmmanuel Vadot          description:
109f126890aSEmmanuel Vadot            The standard C extension for compressed instructions, as ratified in
110f126890aSEmmanuel Vadot            the 20191213 version of the unprivileged ISA specification.
111f126890aSEmmanuel Vadot
112f126890aSEmmanuel Vadot        - const: v
113f126890aSEmmanuel Vadot          description:
114f126890aSEmmanuel Vadot            The standard V extension for vector operations, as ratified
115f126890aSEmmanuel Vadot            in-and-around commit 7a6c8ae ("Fix text that describes vfmv.v.f
116f126890aSEmmanuel Vadot            encoding") of the riscv-v-spec.
117f126890aSEmmanuel Vadot
118f126890aSEmmanuel Vadot        - const: h
119f126890aSEmmanuel Vadot          description:
120f126890aSEmmanuel Vadot            The standard H extension for hypervisors as ratified in the 20191213
121f126890aSEmmanuel Vadot            version of the privileged ISA specification.
122f126890aSEmmanuel Vadot
123f126890aSEmmanuel Vadot        # multi-letter extensions, sorted alphanumerically
124f126890aSEmmanuel Vadot        - const: smaia
125f126890aSEmmanuel Vadot          description: |
126f126890aSEmmanuel Vadot            The standard Smaia supervisor-level extension for the advanced
127f126890aSEmmanuel Vadot            interrupt architecture for machine-mode-visible csr and behavioural
128f126890aSEmmanuel Vadot            changes to interrupts as frozen at commit ccbddab ("Merge pull
129f126890aSEmmanuel Vadot            request #42 from riscv/jhauser-2023-RC4") of riscv-aia.
130f126890aSEmmanuel Vadot
13184943d6fSEmmanuel Vadot        - const: smstateen
13284943d6fSEmmanuel Vadot          description: |
13384943d6fSEmmanuel Vadot            The standard Smstateen extension for controlling access to CSRs
13484943d6fSEmmanuel Vadot            added by other RISC-V extensions in H/S/VS/U/VU modes and as
13584943d6fSEmmanuel Vadot            ratified at commit a28bfae (Ratified (#7)) of riscv-state-enable.
13684943d6fSEmmanuel Vadot
137f126890aSEmmanuel Vadot        - const: ssaia
138f126890aSEmmanuel Vadot          description: |
139f126890aSEmmanuel Vadot            The standard Ssaia supervisor-level extension for the advanced
140f126890aSEmmanuel Vadot            interrupt architecture for supervisor-mode-visible csr and
141f126890aSEmmanuel Vadot            behavioural changes to interrupts as frozen at commit ccbddab
142f126890aSEmmanuel Vadot            ("Merge pull request #42 from riscv/jhauser-2023-RC4") of riscv-aia.
143f126890aSEmmanuel Vadot
144f126890aSEmmanuel Vadot        - const: sscofpmf
145f126890aSEmmanuel Vadot          description: |
146f126890aSEmmanuel Vadot            The standard Sscofpmf supervisor-level extension for count overflow
147f126890aSEmmanuel Vadot            and mode-based filtering as ratified at commit 01d1df0 ("Add ability
148f126890aSEmmanuel Vadot            to manually trigger workflow. (#2)") of riscv-count-overflow.
149f126890aSEmmanuel Vadot
150f126890aSEmmanuel Vadot        - const: sstc
151f126890aSEmmanuel Vadot          description: |
152f126890aSEmmanuel Vadot            The standard Sstc supervisor-level extension for time compare as
153f126890aSEmmanuel Vadot            ratified at commit 3f9ed34 ("Add ability to manually trigger
154f126890aSEmmanuel Vadot            workflow. (#2)") of riscv-time-compare.
155f126890aSEmmanuel Vadot
156f126890aSEmmanuel Vadot        - const: svinval
157f126890aSEmmanuel Vadot          description:
158f126890aSEmmanuel Vadot            The standard Svinval supervisor-level extension for fine-grained
159f126890aSEmmanuel Vadot            address-translation cache invalidation as ratified in the 20191213
160f126890aSEmmanuel Vadot            version of the privileged ISA specification.
161f126890aSEmmanuel Vadot
162f126890aSEmmanuel Vadot        - const: svnapot
163f126890aSEmmanuel Vadot          description:
164f126890aSEmmanuel Vadot            The standard Svnapot supervisor-level extensions for napot
165f126890aSEmmanuel Vadot            translation contiguity as ratified in the 20191213 version of the
166f126890aSEmmanuel Vadot            privileged ISA specification.
167f126890aSEmmanuel Vadot
168f126890aSEmmanuel Vadot        - const: svpbmt
169f126890aSEmmanuel Vadot          description:
170f126890aSEmmanuel Vadot            The standard Svpbmt supervisor-level extensions for page-based
171f126890aSEmmanuel Vadot            memory types as ratified in the 20191213 version of the privileged
172f126890aSEmmanuel Vadot            ISA specification.
173f126890aSEmmanuel Vadot
174*8d13bc63SEmmanuel Vadot        - const: zacas
175*8d13bc63SEmmanuel Vadot          description: |
176*8d13bc63SEmmanuel Vadot            The Zacas extension for Atomic Compare-and-Swap (CAS) instructions
177*8d13bc63SEmmanuel Vadot            is supported as ratified at commit 5059e0ca641c ("update to
178*8d13bc63SEmmanuel Vadot            ratified") of the riscv-zacas.
179*8d13bc63SEmmanuel Vadot
180f126890aSEmmanuel Vadot        - const: zba
181f126890aSEmmanuel Vadot          description: |
182f126890aSEmmanuel Vadot            The standard Zba bit-manipulation extension for address generation
183f126890aSEmmanuel Vadot            acceleration instructions as ratified at commit 6d33919 ("Merge pull
184f126890aSEmmanuel Vadot            request #158 from hirooih/clmul-fix-loop-end-condition") of
185f126890aSEmmanuel Vadot            riscv-bitmanip.
186f126890aSEmmanuel Vadot
187f126890aSEmmanuel Vadot        - const: zbb
188f126890aSEmmanuel Vadot          description: |
189f126890aSEmmanuel Vadot            The standard Zbb bit-manipulation extension for basic bit-manipulation
190f126890aSEmmanuel Vadot            as ratified at commit 6d33919 ("Merge pull request #158 from
191f126890aSEmmanuel Vadot            hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip.
192f126890aSEmmanuel Vadot
193f126890aSEmmanuel Vadot        - const: zbc
194f126890aSEmmanuel Vadot          description: |
195f126890aSEmmanuel Vadot            The standard Zbc bit-manipulation extension for carry-less
196f126890aSEmmanuel Vadot            multiplication as ratified at commit 6d33919 ("Merge pull request
197f126890aSEmmanuel Vadot            #158 from hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip.
198f126890aSEmmanuel Vadot
199*8d13bc63SEmmanuel Vadot        - const: zbkb
200*8d13bc63SEmmanuel Vadot          description:
201*8d13bc63SEmmanuel Vadot            The standard Zbkb bitmanip instructions for cryptography as ratified
202*8d13bc63SEmmanuel Vadot            in version 1.0 of RISC-V Cryptography Extensions Volume I
203*8d13bc63SEmmanuel Vadot            specification.
204*8d13bc63SEmmanuel Vadot
205*8d13bc63SEmmanuel Vadot        - const: zbkc
206*8d13bc63SEmmanuel Vadot          description:
207*8d13bc63SEmmanuel Vadot            The standard Zbkc carry-less multiply instructions as ratified
208*8d13bc63SEmmanuel Vadot            in version 1.0 of RISC-V Cryptography Extensions Volume I
209*8d13bc63SEmmanuel Vadot            specification.
210*8d13bc63SEmmanuel Vadot
211*8d13bc63SEmmanuel Vadot        - const: zbkx
212*8d13bc63SEmmanuel Vadot          description:
213*8d13bc63SEmmanuel Vadot            The standard Zbkx crossbar permutation instructions as ratified
214*8d13bc63SEmmanuel Vadot            in version 1.0 of RISC-V Cryptography Extensions Volume I
215*8d13bc63SEmmanuel Vadot            specification.
216*8d13bc63SEmmanuel Vadot
217f126890aSEmmanuel Vadot        - const: zbs
218f126890aSEmmanuel Vadot          description: |
219f126890aSEmmanuel Vadot            The standard Zbs bit-manipulation extension for single-bit
220f126890aSEmmanuel Vadot            instructions as ratified at commit 6d33919 ("Merge pull request #158
221f126890aSEmmanuel Vadot            from hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip.
222f126890aSEmmanuel Vadot
223*8d13bc63SEmmanuel Vadot        - const: zfa
224*8d13bc63SEmmanuel Vadot          description:
225*8d13bc63SEmmanuel Vadot            The standard Zfa extension for additional floating point
226*8d13bc63SEmmanuel Vadot            instructions, as ratified in commit 056b6ff ("Zfa is ratified") of
227*8d13bc63SEmmanuel Vadot            riscv-isa-manual.
228*8d13bc63SEmmanuel Vadot
229*8d13bc63SEmmanuel Vadot        - const: zfh
230*8d13bc63SEmmanuel Vadot          description:
231*8d13bc63SEmmanuel Vadot            The standard Zfh extension for 16-bit half-precision binary
232*8d13bc63SEmmanuel Vadot            floating-point instructions, as ratified in commit 64074bc ("Update
233*8d13bc63SEmmanuel Vadot            version numbers for Zfh/Zfinx") of riscv-isa-manual.
234*8d13bc63SEmmanuel Vadot
235*8d13bc63SEmmanuel Vadot        - const: zfhmin
236*8d13bc63SEmmanuel Vadot          description:
237*8d13bc63SEmmanuel Vadot            The standard Zfhmin extension which provides minimal support for
238*8d13bc63SEmmanuel Vadot            16-bit half-precision binary floating-point instructions, as ratified
239*8d13bc63SEmmanuel Vadot            in commit 64074bc ("Update version numbers for Zfh/Zfinx") of
240*8d13bc63SEmmanuel Vadot            riscv-isa-manual.
241*8d13bc63SEmmanuel Vadot
242*8d13bc63SEmmanuel Vadot        - const: zk
243*8d13bc63SEmmanuel Vadot          description:
244*8d13bc63SEmmanuel Vadot            The standard Zk Standard Scalar cryptography extension as ratified
245*8d13bc63SEmmanuel Vadot            in version 1.0 of RISC-V Cryptography Extensions Volume I
246*8d13bc63SEmmanuel Vadot            specification.
247*8d13bc63SEmmanuel Vadot
248*8d13bc63SEmmanuel Vadot        - const: zkn
249*8d13bc63SEmmanuel Vadot          description:
250*8d13bc63SEmmanuel Vadot            The standard Zkn NIST algorithm suite extensions as ratified in
251*8d13bc63SEmmanuel Vadot            version 1.0 of RISC-V Cryptography Extensions Volume I
252*8d13bc63SEmmanuel Vadot            specification.
253*8d13bc63SEmmanuel Vadot
254*8d13bc63SEmmanuel Vadot        - const: zknd
255*8d13bc63SEmmanuel Vadot          description: |
256*8d13bc63SEmmanuel Vadot            The standard Zknd for NIST suite: AES decryption instructions as
257*8d13bc63SEmmanuel Vadot            ratified in version 1.0 of RISC-V Cryptography Extensions Volume I
258*8d13bc63SEmmanuel Vadot            specification.
259*8d13bc63SEmmanuel Vadot
260*8d13bc63SEmmanuel Vadot        - const: zkne
261*8d13bc63SEmmanuel Vadot          description: |
262*8d13bc63SEmmanuel Vadot            The standard Zkne for NIST suite: AES encryption instructions as
263*8d13bc63SEmmanuel Vadot            ratified in version 1.0 of RISC-V Cryptography Extensions Volume I
264*8d13bc63SEmmanuel Vadot            specification.
265*8d13bc63SEmmanuel Vadot
266*8d13bc63SEmmanuel Vadot        - const: zknh
267*8d13bc63SEmmanuel Vadot          description: |
268*8d13bc63SEmmanuel Vadot            The standard Zknh for NIST suite: hash function instructions as
269*8d13bc63SEmmanuel Vadot            ratified in version 1.0 of RISC-V Cryptography Extensions Volume I
270*8d13bc63SEmmanuel Vadot            specification.
271*8d13bc63SEmmanuel Vadot
272*8d13bc63SEmmanuel Vadot        - const: zkr
273*8d13bc63SEmmanuel Vadot          description:
274*8d13bc63SEmmanuel Vadot            The standard Zkr entropy source extension as ratified in version
275*8d13bc63SEmmanuel Vadot            1.0 of RISC-V Cryptography Extensions Volume I specification.
276*8d13bc63SEmmanuel Vadot            This string being present means that the CSR associated to this
277*8d13bc63SEmmanuel Vadot            extension is accessible at the privilege level to which that
278*8d13bc63SEmmanuel Vadot            device-tree has been provided.
279*8d13bc63SEmmanuel Vadot
280*8d13bc63SEmmanuel Vadot        - const: zks
281*8d13bc63SEmmanuel Vadot          description:
282*8d13bc63SEmmanuel Vadot            The standard Zks ShangMi algorithm suite extensions as ratified in
283*8d13bc63SEmmanuel Vadot            version 1.0 of RISC-V Cryptography Extensions Volume I
284*8d13bc63SEmmanuel Vadot            specification.
285*8d13bc63SEmmanuel Vadot
286*8d13bc63SEmmanuel Vadot        - const: zksed
287*8d13bc63SEmmanuel Vadot          description: |
288*8d13bc63SEmmanuel Vadot            The standard Zksed for ShangMi suite: SM4 block cipher instructions
289*8d13bc63SEmmanuel Vadot            as ratified in version 1.0 of RISC-V Cryptography Extensions
290*8d13bc63SEmmanuel Vadot            Volume I specification.
291*8d13bc63SEmmanuel Vadot
292*8d13bc63SEmmanuel Vadot        - const: zksh
293*8d13bc63SEmmanuel Vadot          description: |
294*8d13bc63SEmmanuel Vadot            The standard Zksh for ShangMi suite: SM3 hash function instructions
295*8d13bc63SEmmanuel Vadot            as ratified in version 1.0 of RISC-V Cryptography Extensions
296*8d13bc63SEmmanuel Vadot            Volume I specification.
297*8d13bc63SEmmanuel Vadot
298*8d13bc63SEmmanuel Vadot        - const: zkt
299*8d13bc63SEmmanuel Vadot          description:
300*8d13bc63SEmmanuel Vadot            The standard Zkt for data independent execution latency as ratified
301*8d13bc63SEmmanuel Vadot            in version 1.0 of RISC-V Cryptography Extensions Volume I
302*8d13bc63SEmmanuel Vadot            specification.
303*8d13bc63SEmmanuel Vadot
304f126890aSEmmanuel Vadot        - const: zicbom
305f126890aSEmmanuel Vadot          description:
306f126890aSEmmanuel Vadot            The standard Zicbom extension for base cache management operations as
307f126890aSEmmanuel Vadot            ratified in commit 3dd606f ("Create cmobase-v1.0.pdf") of riscv-CMOs.
308f126890aSEmmanuel Vadot
309f126890aSEmmanuel Vadot        - const: zicbop
310f126890aSEmmanuel Vadot          description:
311f126890aSEmmanuel Vadot            The standard Zicbop extension for cache-block prefetch instructions
312f126890aSEmmanuel Vadot            as ratified in commit 3dd606f ("Create cmobase-v1.0.pdf") of
313f126890aSEmmanuel Vadot            riscv-CMOs.
314f126890aSEmmanuel Vadot
315f126890aSEmmanuel Vadot        - const: zicboz
316f126890aSEmmanuel Vadot          description:
317f126890aSEmmanuel Vadot            The standard Zicboz extension for cache-block zeroing as ratified
318f126890aSEmmanuel Vadot            in commit 3dd606f ("Create cmobase-v1.0.pdf") of riscv-CMOs.
319f126890aSEmmanuel Vadot
320f126890aSEmmanuel Vadot        - const: zicntr
321f126890aSEmmanuel Vadot          description:
322f126890aSEmmanuel Vadot            The standard Zicntr extension for base counters and timers, as
323f126890aSEmmanuel Vadot            ratified in the 20191213 version of the unprivileged ISA
324f126890aSEmmanuel Vadot            specification.
325f126890aSEmmanuel Vadot
32684943d6fSEmmanuel Vadot        - const: zicond
32784943d6fSEmmanuel Vadot          description:
32884943d6fSEmmanuel Vadot            The standard Zicond extension for conditional arithmetic and
32984943d6fSEmmanuel Vadot            conditional-select/move operations as ratified in commit 95cf1f9
33084943d6fSEmmanuel Vadot            ("Add changes requested by Ved during signoff") of riscv-zicond.
33184943d6fSEmmanuel Vadot
332f126890aSEmmanuel Vadot        - const: zicsr
333f126890aSEmmanuel Vadot          description: |
334f126890aSEmmanuel Vadot            The standard Zicsr extension for control and status register
335f126890aSEmmanuel Vadot            instructions, as ratified in the 20191213 version of the
336f126890aSEmmanuel Vadot            unprivileged ISA specification.
337f126890aSEmmanuel Vadot
338f126890aSEmmanuel Vadot            This does not include Chapter 10, "Counters", which documents
339f126890aSEmmanuel Vadot            special case read-only CSRs, that were moved into the Zicntr and
340f126890aSEmmanuel Vadot            Zihpm extensions after the ratification of the 20191213 version of
341f126890aSEmmanuel Vadot            the unprivileged specification.
342f126890aSEmmanuel Vadot
343f126890aSEmmanuel Vadot        - const: zifencei
344f126890aSEmmanuel Vadot          description:
345f126890aSEmmanuel Vadot            The standard Zifencei extension for instruction-fetch fence, as
346f126890aSEmmanuel Vadot            ratified in the 20191213 version of the unprivileged ISA
347f126890aSEmmanuel Vadot            specification.
348f126890aSEmmanuel Vadot
349f126890aSEmmanuel Vadot        - const: zihintpause
350f126890aSEmmanuel Vadot          description:
351f126890aSEmmanuel Vadot            The standard Zihintpause extension for pause hints, as ratified in
352f126890aSEmmanuel Vadot            commit d8ab5c7 ("Zihintpause is ratified") of the riscv-isa-manual.
353f126890aSEmmanuel Vadot
354*8d13bc63SEmmanuel Vadot        - const: zihintntl
355*8d13bc63SEmmanuel Vadot          description:
356*8d13bc63SEmmanuel Vadot            The standard Zihintntl extension for non-temporal locality hints, as
357*8d13bc63SEmmanuel Vadot            ratified in commit 0dc91f5 ("Zihintntl is ratified") of the
358*8d13bc63SEmmanuel Vadot            riscv-isa-manual.
359*8d13bc63SEmmanuel Vadot
360f126890aSEmmanuel Vadot        - const: zihpm
361f126890aSEmmanuel Vadot          description:
362f126890aSEmmanuel Vadot            The standard Zihpm extension for hardware performance counters, as
363f126890aSEmmanuel Vadot            ratified in the 20191213 version of the unprivileged ISA
364f126890aSEmmanuel Vadot            specification.
365f126890aSEmmanuel Vadot
366f126890aSEmmanuel Vadot        - const: ztso
367f126890aSEmmanuel Vadot          description:
368f126890aSEmmanuel Vadot            The standard Ztso extension for total store ordering, as ratified
369f126890aSEmmanuel Vadot            in commit 2e5236 ("Ztso is now ratified.") of the
370f126890aSEmmanuel Vadot            riscv-isa-manual.
371f126890aSEmmanuel Vadot
372*8d13bc63SEmmanuel Vadot        - const: zvbb
373*8d13bc63SEmmanuel Vadot          description:
374*8d13bc63SEmmanuel Vadot            The standard Zvbb extension for vectored basic bit-manipulation
375*8d13bc63SEmmanuel Vadot            instructions, as ratified in commit 56ed795 ("Update
376*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
377*8d13bc63SEmmanuel Vadot
378*8d13bc63SEmmanuel Vadot        - const: zvbc
379*8d13bc63SEmmanuel Vadot          description:
380*8d13bc63SEmmanuel Vadot            The standard Zvbc extension for vectored carryless multiplication
381*8d13bc63SEmmanuel Vadot            instructions, as ratified in commit 56ed795 ("Update
382*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
383*8d13bc63SEmmanuel Vadot
384*8d13bc63SEmmanuel Vadot        - const: zvfh
385*8d13bc63SEmmanuel Vadot          description:
386*8d13bc63SEmmanuel Vadot            The standard Zvfh extension for vectored half-precision
387*8d13bc63SEmmanuel Vadot            floating-point instructions, as ratified in commit e2ccd05
388*8d13bc63SEmmanuel Vadot            ("Remove draft warnings from Zvfh[min]") of riscv-v-spec.
389*8d13bc63SEmmanuel Vadot
390*8d13bc63SEmmanuel Vadot        - const: zvfhmin
391*8d13bc63SEmmanuel Vadot          description:
392*8d13bc63SEmmanuel Vadot            The standard Zvfhmin extension for vectored minimal half-precision
393*8d13bc63SEmmanuel Vadot            floating-point instructions, as ratified in commit e2ccd05
394*8d13bc63SEmmanuel Vadot            ("Remove draft warnings from Zvfh[min]") of riscv-v-spec.
395*8d13bc63SEmmanuel Vadot
396*8d13bc63SEmmanuel Vadot        - const: zvkb
397*8d13bc63SEmmanuel Vadot          description:
398*8d13bc63SEmmanuel Vadot            The standard Zvkb extension for vector cryptography bit-manipulation
399*8d13bc63SEmmanuel Vadot            instructions, as ratified in commit 56ed795 ("Update
400*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
401*8d13bc63SEmmanuel Vadot
402*8d13bc63SEmmanuel Vadot        - const: zvkg
403*8d13bc63SEmmanuel Vadot          description:
404*8d13bc63SEmmanuel Vadot            The standard Zvkg extension for vector GCM/GMAC instructions, as
405*8d13bc63SEmmanuel Vadot            ratified in commit 56ed795 ("Update riscv-crypto-spec-vector.adoc")
406*8d13bc63SEmmanuel Vadot            of riscv-crypto.
407*8d13bc63SEmmanuel Vadot
408*8d13bc63SEmmanuel Vadot        - const: zvkn
409*8d13bc63SEmmanuel Vadot          description:
410*8d13bc63SEmmanuel Vadot            The standard Zvkn extension for NIST algorithm suite instructions, as
411*8d13bc63SEmmanuel Vadot            ratified in commit 56ed795 ("Update riscv-crypto-spec-vector.adoc")
412*8d13bc63SEmmanuel Vadot            of riscv-crypto.
413*8d13bc63SEmmanuel Vadot
414*8d13bc63SEmmanuel Vadot        - const: zvknc
415*8d13bc63SEmmanuel Vadot          description:
416*8d13bc63SEmmanuel Vadot            The standard Zvknc extension for NIST algorithm suite with carryless
417*8d13bc63SEmmanuel Vadot            multiply instructions, as ratified in commit 56ed795 ("Update
418*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
419*8d13bc63SEmmanuel Vadot
420*8d13bc63SEmmanuel Vadot        - const: zvkned
421*8d13bc63SEmmanuel Vadot          description:
422*8d13bc63SEmmanuel Vadot            The standard Zvkned extension for Vector AES block cipher
423*8d13bc63SEmmanuel Vadot            instructions, as ratified in commit 56ed795 ("Update
424*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
425*8d13bc63SEmmanuel Vadot
426*8d13bc63SEmmanuel Vadot        - const: zvkng
427*8d13bc63SEmmanuel Vadot          description:
428*8d13bc63SEmmanuel Vadot            The standard Zvkng extension for NIST algorithm suite with GCM
429*8d13bc63SEmmanuel Vadot            instructions, as ratified in commit 56ed795 ("Update
430*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
431*8d13bc63SEmmanuel Vadot
432*8d13bc63SEmmanuel Vadot        - const: zvknha
433*8d13bc63SEmmanuel Vadot          description: |
434*8d13bc63SEmmanuel Vadot            The standard Zvknha extension for NIST suite: vector SHA-2 secure,
435*8d13bc63SEmmanuel Vadot            hash (SHA-256 only) instructions, as ratified in commit
436*8d13bc63SEmmanuel Vadot            56ed795 ("Update riscv-crypto-spec-vector.adoc") of riscv-crypto.
437*8d13bc63SEmmanuel Vadot
438*8d13bc63SEmmanuel Vadot        - const: zvknhb
439*8d13bc63SEmmanuel Vadot          description: |
440*8d13bc63SEmmanuel Vadot            The standard Zvknhb extension for NIST suite: vector SHA-2 secure,
441*8d13bc63SEmmanuel Vadot            hash (SHA-256 and SHA-512) instructions, as ratified in commit
442*8d13bc63SEmmanuel Vadot            56ed795 ("Update riscv-crypto-spec-vector.adoc") of riscv-crypto.
443*8d13bc63SEmmanuel Vadot
444*8d13bc63SEmmanuel Vadot        - const: zvks
445*8d13bc63SEmmanuel Vadot          description:
446*8d13bc63SEmmanuel Vadot            The standard Zvks extension for ShangMi algorithm suite
447*8d13bc63SEmmanuel Vadot            instructions, as ratified in commit 56ed795 ("Update
448*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
449*8d13bc63SEmmanuel Vadot
450*8d13bc63SEmmanuel Vadot        - const: zvksc
451*8d13bc63SEmmanuel Vadot          description:
452*8d13bc63SEmmanuel Vadot            The standard Zvksc extension for ShangMi algorithm suite with
453*8d13bc63SEmmanuel Vadot            carryless multiplication instructions, as ratified in commit 56ed795
454*8d13bc63SEmmanuel Vadot            ("Update riscv-crypto-spec-vector.adoc") of riscv-crypto.
455*8d13bc63SEmmanuel Vadot
456*8d13bc63SEmmanuel Vadot        - const: zvksed
457*8d13bc63SEmmanuel Vadot          description: |
458*8d13bc63SEmmanuel Vadot            The standard Zvksed extension for ShangMi suite: SM4 block cipher
459*8d13bc63SEmmanuel Vadot            instructions, as ratified in commit 56ed795 ("Update
460*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
461*8d13bc63SEmmanuel Vadot
462*8d13bc63SEmmanuel Vadot        - const: zvksh
463*8d13bc63SEmmanuel Vadot          description: |
464*8d13bc63SEmmanuel Vadot            The standard Zvksh extension for ShangMi suite: SM3 secure hash
465*8d13bc63SEmmanuel Vadot            instructions, as ratified in commit 56ed795 ("Update
466*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
467*8d13bc63SEmmanuel Vadot
468*8d13bc63SEmmanuel Vadot        - const: zvksg
469*8d13bc63SEmmanuel Vadot          description:
470*8d13bc63SEmmanuel Vadot            The standard Zvksg extension for ShangMi algorithm suite with GCM
471*8d13bc63SEmmanuel Vadot            instructions, as ratified in commit 56ed795 ("Update
472*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
473*8d13bc63SEmmanuel Vadot
474*8d13bc63SEmmanuel Vadot        - const: zvkt
475*8d13bc63SEmmanuel Vadot          description:
476*8d13bc63SEmmanuel Vadot            The standard Zvkt extension for vector data-independent execution
477*8d13bc63SEmmanuel Vadot            latency, as ratified in commit 56ed795 ("Update
478*8d13bc63SEmmanuel Vadot            riscv-crypto-spec-vector.adoc") of riscv-crypto.
479*8d13bc63SEmmanuel Vadot
480f126890aSEmmanuel VadotadditionalProperties: true
481f126890aSEmmanuel Vadot...
482