1aeb71e42SConor Dooley# SPDX-License-Identifier: (GPL-2.0 OR MIT) 2aeb71e42SConor Dooley%YAML 1.2 3aeb71e42SConor Dooley--- 4aeb71e42SConor Dooley$id: http://devicetree.org/schemas/riscv/extensions.yaml# 5aeb71e42SConor Dooley$schema: http://devicetree.org/meta-schemas/core.yaml# 6aeb71e42SConor Dooley 7aeb71e42SConor Dooleytitle: RISC-V ISA extensions 8aeb71e42SConor Dooley 9aeb71e42SConor Dooleymaintainers: 10aeb71e42SConor Dooley - Paul Walmsley <paul.walmsley@sifive.com> 11aeb71e42SConor Dooley - Palmer Dabbelt <palmer@sifive.com> 12aeb71e42SConor Dooley - Conor Dooley <conor@kernel.org> 13aeb71e42SConor Dooley 14aeb71e42SConor Dooleydescription: | 15aeb71e42SConor Dooley RISC-V has a large number of extensions, some of which are "standard" 16aeb71e42SConor Dooley extensions, meaning they are ratified by RISC-V International, and others 17aeb71e42SConor Dooley are "vendor" extensions. 18aeb71e42SConor Dooley This document defines properties that indicate whether a hart supports a 19aeb71e42SConor Dooley given extension. 20aeb71e42SConor Dooley 21aeb71e42SConor Dooley Once a standard extension has been ratified, no changes in behaviour can be 22aeb71e42SConor Dooley made without the creation of a new extension. 23aeb71e42SConor Dooley The properties for standard extensions therefore map to their originally 24aeb71e42SConor Dooley ratified states, with the exception of the I, Zicntr & Zihpm extensions. 25aeb71e42SConor Dooley See the "i" property for more information. 26aeb71e42SConor Dooley 27aeb71e42SConor Dooleyselect: 28aeb71e42SConor Dooley properties: 29aeb71e42SConor Dooley compatible: 30aeb71e42SConor Dooley contains: 31aeb71e42SConor Dooley const: riscv 32aeb71e42SConor Dooley 33aeb71e42SConor Dooleyproperties: 34aeb71e42SConor Dooley riscv,isa: 35aeb71e42SConor Dooley description: 36aeb71e42SConor Dooley Identifies the specific RISC-V instruction set architecture 37aeb71e42SConor Dooley supported by the hart. These are documented in the RISC-V 38aeb71e42SConor Dooley User-Level ISA document, available from 39aeb71e42SConor Dooley https://riscv.org/specifications/ 40aeb71e42SConor Dooley 41aeb71e42SConor Dooley Due to revisions of the ISA specification, some deviations 42aeb71e42SConor Dooley have arisen over time. 43aeb71e42SConor Dooley Notably, riscv,isa was defined prior to the creation of the 44aeb71e42SConor Dooley Zicntr, Zicsr, Zifencei and Zihpm extensions and thus "i" 45aeb71e42SConor Dooley implies "zicntr_zicsr_zifencei_zihpm". 46aeb71e42SConor Dooley 47aeb71e42SConor Dooley While the isa strings in ISA specification are case 48aeb71e42SConor Dooley insensitive, letters in the riscv,isa string must be all 49aeb71e42SConor Dooley lowercase. 50aeb71e42SConor Dooley $ref: /schemas/types.yaml#/definitions/string 5107df87c0SConor Dooley pattern: ^rv(?:64|32)imaf?d?q?c?b?k?j?p?v?h?(?:[hsxz](?:[0-9a-z])+)?(?:_[hsxz](?:[0-9a-z])+)*$ 52aeb71e42SConor Dooley deprecated: true 53aeb71e42SConor Dooley 54aeb71e42SConor Dooley riscv,isa-base: 55aeb71e42SConor Dooley description: 56aeb71e42SConor Dooley The base ISA implemented by this hart, as described by the 20191213 57aeb71e42SConor Dooley version of the unprivileged ISA specification. 58aeb71e42SConor Dooley enum: 59aeb71e42SConor Dooley - rv32i 60aeb71e42SConor Dooley - rv64i 61aeb71e42SConor Dooley 62aeb71e42SConor Dooley riscv,isa-extensions: 63aeb71e42SConor Dooley $ref: /schemas/types.yaml#/definitions/string-array 64aeb71e42SConor Dooley minItems: 1 65aeb71e42SConor Dooley description: Extensions supported by the hart. 66aeb71e42SConor Dooley items: 67aeb71e42SConor Dooley anyOf: 68aeb71e42SConor Dooley # single letter extensions, in canonical order 69aeb71e42SConor Dooley - const: i 70aeb71e42SConor Dooley description: | 71aeb71e42SConor Dooley The base integer instruction set, as ratified in the 20191213 72aeb71e42SConor Dooley version of the unprivileged ISA specification. 73aeb71e42SConor Dooley 74aeb71e42SConor Dooley This does not include Chapter 10, "Counters", which was moved into 75aeb71e42SConor Dooley the Zicntr and Zihpm extensions after the ratification of the 76aeb71e42SConor Dooley 20191213 version of the unprivileged specification. 77aeb71e42SConor Dooley 78aeb71e42SConor Dooley - const: m 79aeb71e42SConor Dooley description: 80aeb71e42SConor Dooley The standard M extension for integer multiplication and division, as 81aeb71e42SConor Dooley ratified in the 20191213 version of the unprivileged ISA 82aeb71e42SConor Dooley specification. 83aeb71e42SConor Dooley 84aeb71e42SConor Dooley - const: a 85aeb71e42SConor Dooley description: 86aeb71e42SConor Dooley The standard A extension for atomic instructions, as ratified in the 87aeb71e42SConor Dooley 20191213 version of the unprivileged ISA specification. 88aeb71e42SConor Dooley 89aeb71e42SConor Dooley - const: f 90aeb71e42SConor Dooley description: 91aeb71e42SConor Dooley The standard F extension for single-precision floating point, as 92aeb71e42SConor Dooley ratified in the 20191213 version of the unprivileged ISA 93aeb71e42SConor Dooley specification. 94aeb71e42SConor Dooley 95aeb71e42SConor Dooley - const: d 96aeb71e42SConor Dooley description: 97aeb71e42SConor Dooley The standard D extension for double-precision floating-point, as 98aeb71e42SConor Dooley ratified in the 20191213 version of the unprivileged ISA 99aeb71e42SConor Dooley specification. 100aeb71e42SConor Dooley 101aeb71e42SConor Dooley - const: q 102aeb71e42SConor Dooley description: 103aeb71e42SConor Dooley The standard Q extension for quad-precision floating-point, as 104aeb71e42SConor Dooley ratified in the 20191213 version of the unprivileged ISA 105aeb71e42SConor Dooley specification. 106aeb71e42SConor Dooley 107aeb71e42SConor Dooley - const: c 108aeb71e42SConor Dooley description: 109aeb71e42SConor Dooley The standard C extension for compressed instructions, as ratified in 110aeb71e42SConor Dooley the 20191213 version of the unprivileged ISA specification. 111aeb71e42SConor Dooley 112aeb71e42SConor Dooley - const: v 113aeb71e42SConor Dooley description: 114aeb71e42SConor Dooley The standard V extension for vector operations, as ratified 115aeb71e42SConor Dooley in-and-around commit 7a6c8ae ("Fix text that describes vfmv.v.f 116aeb71e42SConor Dooley encoding") of the riscv-v-spec. 117aeb71e42SConor Dooley 118aeb71e42SConor Dooley - const: h 119aeb71e42SConor Dooley description: 120aeb71e42SConor Dooley The standard H extension for hypervisors as ratified in the 20191213 121aeb71e42SConor Dooley version of the privileged ISA specification. 122aeb71e42SConor Dooley 123aeb71e42SConor Dooley # multi-letter extensions, sorted alphanumerically 124aeb71e42SConor Dooley - const: smaia 125aeb71e42SConor Dooley description: | 126aeb71e42SConor Dooley The standard Smaia supervisor-level extension for the advanced 127aeb71e42SConor Dooley interrupt architecture for machine-mode-visible csr and behavioural 128aeb71e42SConor Dooley changes to interrupts as frozen at commit ccbddab ("Merge pull 129aeb71e42SConor Dooley request #42 from riscv/jhauser-2023-RC4") of riscv-aia. 130aeb71e42SConor Dooley 131a4f5f398SMayuresh Chitale - const: smstateen 132a4f5f398SMayuresh Chitale description: | 133a4f5f398SMayuresh Chitale The standard Smstateen extension for controlling access to CSRs 134a4f5f398SMayuresh Chitale added by other RISC-V extensions in H/S/VS/U/VU modes and as 135a4f5f398SMayuresh Chitale ratified at commit a28bfae (Ratified (#7)) of riscv-state-enable. 136a4f5f398SMayuresh Chitale 137aeb71e42SConor Dooley - const: ssaia 138aeb71e42SConor Dooley description: | 139aeb71e42SConor Dooley The standard Ssaia supervisor-level extension for the advanced 140aeb71e42SConor Dooley interrupt architecture for supervisor-mode-visible csr and 141aeb71e42SConor Dooley behavioural changes to interrupts as frozen at commit ccbddab 142aeb71e42SConor Dooley ("Merge pull request #42 from riscv/jhauser-2023-RC4") of riscv-aia. 143aeb71e42SConor Dooley 144aeb71e42SConor Dooley - const: sscofpmf 145aeb71e42SConor Dooley description: | 146aeb71e42SConor Dooley The standard Sscofpmf supervisor-level extension for count overflow 147aeb71e42SConor Dooley and mode-based filtering as ratified at commit 01d1df0 ("Add ability 148aeb71e42SConor Dooley to manually trigger workflow. (#2)") of riscv-count-overflow. 149aeb71e42SConor Dooley 150aeb71e42SConor Dooley - const: sstc 151aeb71e42SConor Dooley description: | 152aeb71e42SConor Dooley The standard Sstc supervisor-level extension for time compare as 153aeb71e42SConor Dooley ratified at commit 3f9ed34 ("Add ability to manually trigger 154aeb71e42SConor Dooley workflow. (#2)") of riscv-time-compare. 155aeb71e42SConor Dooley 156aeb71e42SConor Dooley - const: svinval 157aeb71e42SConor Dooley description: 158aeb71e42SConor Dooley The standard Svinval supervisor-level extension for fine-grained 159aeb71e42SConor Dooley address-translation cache invalidation as ratified in the 20191213 160aeb71e42SConor Dooley version of the privileged ISA specification. 161aeb71e42SConor Dooley 162aeb71e42SConor Dooley - const: svnapot 163aeb71e42SConor Dooley description: 164aeb71e42SConor Dooley The standard Svnapot supervisor-level extensions for napot 165aeb71e42SConor Dooley translation contiguity as ratified in the 20191213 version of the 166aeb71e42SConor Dooley privileged ISA specification. 167aeb71e42SConor Dooley 168aeb71e42SConor Dooley - const: svpbmt 169aeb71e42SConor Dooley description: 170aeb71e42SConor Dooley The standard Svpbmt supervisor-level extensions for page-based 171aeb71e42SConor Dooley memory types as ratified in the 20191213 version of the privileged 172aeb71e42SConor Dooley ISA specification. 173aeb71e42SConor Dooley 174*d25599b5SAlexandre Ghiti - const: svvptc 175*d25599b5SAlexandre Ghiti description: 176*d25599b5SAlexandre Ghiti The standard Svvptc supervisor-level extension for 177*d25599b5SAlexandre Ghiti address-translation cache behaviour with respect to invalid entries 178*d25599b5SAlexandre Ghiti as ratified at commit 4a69197e5617 ("Update to ratified state") of 179*d25599b5SAlexandre Ghiti riscv-svvptc. 180*d25599b5SAlexandre Ghiti 181cd7be4d0SClément Léger - const: zacas 182cd7be4d0SClément Léger description: | 183cd7be4d0SClément Léger The Zacas extension for Atomic Compare-and-Swap (CAS) instructions 184cd7be4d0SClément Léger is supported as ratified at commit 5059e0ca641c ("update to 185cd7be4d0SClément Léger ratified") of the riscv-zacas. 186cd7be4d0SClément Léger 1876d585281SAndrew Jones - const: zawrs 1886d585281SAndrew Jones description: | 1896d585281SAndrew Jones The Zawrs extension for entering a low-power state or for trapping 1906d585281SAndrew Jones to a hypervisor while waiting on a store to a memory location, as 1916d585281SAndrew Jones ratified in commit 98918c844281 ("Merge pull request #1217 from 1926d585281SAndrew Jones riscv/zawrs") of riscv-isa-manual. 1936d585281SAndrew Jones 194aeb71e42SConor Dooley - const: zba 195aeb71e42SConor Dooley description: | 196aeb71e42SConor Dooley The standard Zba bit-manipulation extension for address generation 197aeb71e42SConor Dooley acceleration instructions as ratified at commit 6d33919 ("Merge pull 198aeb71e42SConor Dooley request #158 from hirooih/clmul-fix-loop-end-condition") of 199aeb71e42SConor Dooley riscv-bitmanip. 200aeb71e42SConor Dooley 201aeb71e42SConor Dooley - const: zbb 202aeb71e42SConor Dooley description: | 203aeb71e42SConor Dooley The standard Zbb bit-manipulation extension for basic bit-manipulation 204aeb71e42SConor Dooley as ratified at commit 6d33919 ("Merge pull request #158 from 205aeb71e42SConor Dooley hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip. 206aeb71e42SConor Dooley 207aeb71e42SConor Dooley - const: zbc 208aeb71e42SConor Dooley description: | 209aeb71e42SConor Dooley The standard Zbc bit-manipulation extension for carry-less 210aeb71e42SConor Dooley multiplication as ratified at commit 6d33919 ("Merge pull request 211aeb71e42SConor Dooley #158 from hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip. 212aeb71e42SConor Dooley 21393763962SClément Léger - const: zbkb 21493763962SClément Léger description: 21593763962SClément Léger The standard Zbkb bitmanip instructions for cryptography as ratified 21693763962SClément Léger in version 1.0 of RISC-V Cryptography Extensions Volume I 21793763962SClément Léger specification. 21893763962SClément Léger 21993763962SClément Léger - const: zbkc 22093763962SClément Léger description: 22193763962SClément Léger The standard Zbkc carry-less multiply instructions as ratified 22293763962SClément Léger in version 1.0 of RISC-V Cryptography Extensions Volume I 22393763962SClément Léger specification. 22493763962SClément Léger 22593763962SClément Léger - const: zbkx 22693763962SClément Léger description: 22793763962SClément Léger The standard Zbkx crossbar permutation instructions as ratified 22893763962SClément Léger in version 1.0 of RISC-V Cryptography Extensions Volume I 22993763962SClément Léger specification. 23093763962SClément Léger 231aeb71e42SConor Dooley - const: zbs 232aeb71e42SConor Dooley description: | 233aeb71e42SConor Dooley The standard Zbs bit-manipulation extension for single-bit 234aeb71e42SConor Dooley instructions as ratified at commit 6d33919 ("Merge pull request #158 235aeb71e42SConor Dooley from hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip. 236aeb71e42SConor Dooley 237e9f9946cSClément Léger - const: zca 238e9f9946cSClément Léger description: | 239e9f9946cSClément Léger The Zca extension part of Zc* standard extensions for code size 240e9f9946cSClément Léger reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on 241e9f9946cSClément Léger RV64 as it contains no instructions") of riscv-code-size-reduction, 242e9f9946cSClément Léger merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed 243e9f9946cSClément Léger of zc.adoc to src tree."). 244e9f9946cSClément Léger 245e9f9946cSClément Léger - const: zcb 246e9f9946cSClément Léger description: | 247e9f9946cSClément Léger The Zcb extension part of Zc* standard extensions for code size 248e9f9946cSClément Léger reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on 249e9f9946cSClément Léger RV64 as it contains no instructions") of riscv-code-size-reduction, 250e9f9946cSClément Léger merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed 251e9f9946cSClément Léger of zc.adoc to src tree."). 252e9f9946cSClément Léger 253e9f9946cSClément Léger - const: zcd 254e9f9946cSClément Léger description: | 255e9f9946cSClément Léger The Zcd extension part of Zc* standard extensions for code size 256e9f9946cSClément Léger reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on 257e9f9946cSClément Léger RV64 as it contains no instructions") of riscv-code-size-reduction, 258e9f9946cSClément Léger merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed 259e9f9946cSClément Léger of zc.adoc to src tree."). 260e9f9946cSClément Léger 261e9f9946cSClément Léger - const: zcf 262e9f9946cSClément Léger description: | 263e9f9946cSClément Léger The Zcf extension part of Zc* standard extensions for code size 264e9f9946cSClément Léger reduction, as ratified in commit 8be3419c1c0 ("Zcf doesn't exist on 265e9f9946cSClément Léger RV64 as it contains no instructions") of riscv-code-size-reduction, 266e9f9946cSClément Léger merged in the riscv-isa-manual by commit dbc79cf28a2 ("Initial seed 267e9f9946cSClément Léger of zc.adoc to src tree."). 268e9f9946cSClément Léger 269700556a7SClément Léger - const: zcmop 270700556a7SClément Léger description: 271700556a7SClément Léger The standard Zcmop extension version 1.0, as ratified in commit 272700556a7SClément Léger c732a4f39a4 ("Zcmop is ratified/1.0") of the riscv-isa-manual. 273700556a7SClément Léger 2749726acfdSClément Léger - const: zfa 2759726acfdSClément Léger description: 2769726acfdSClément Léger The standard Zfa extension for additional floating point 2779726acfdSClément Léger instructions, as ratified in commit 056b6ff ("Zfa is ratified") of 2789726acfdSClément Léger riscv-isa-manual. 2799726acfdSClément Léger 280c44714c3SClément Léger - const: zfh 281c44714c3SClément Léger description: 282c44714c3SClément Léger The standard Zfh extension for 16-bit half-precision binary 283c44714c3SClément Léger floating-point instructions, as ratified in commit 64074bc ("Update 284c44714c3SClément Léger version numbers for Zfh/Zfinx") of riscv-isa-manual. 285c44714c3SClément Léger 286c44714c3SClément Léger - const: zfhmin 287c44714c3SClément Léger description: 288c44714c3SClément Léger The standard Zfhmin extension which provides minimal support for 289c44714c3SClément Léger 16-bit half-precision binary floating-point instructions, as ratified 290c44714c3SClément Léger in commit 64074bc ("Update version numbers for Zfh/Zfinx") of 291c44714c3SClément Léger riscv-isa-manual. 292c44714c3SClément Léger 29393763962SClément Léger - const: zk 29493763962SClément Léger description: 29593763962SClément Léger The standard Zk Standard Scalar cryptography extension as ratified 29693763962SClément Léger in version 1.0 of RISC-V Cryptography Extensions Volume I 29793763962SClément Léger specification. 29893763962SClément Léger 29993763962SClément Léger - const: zkn 30093763962SClément Léger description: 30193763962SClément Léger The standard Zkn NIST algorithm suite extensions as ratified in 30293763962SClément Léger version 1.0 of RISC-V Cryptography Extensions Volume I 30393763962SClément Léger specification. 30493763962SClément Léger 30593763962SClément Léger - const: zknd 30693763962SClément Léger description: | 30793763962SClément Léger The standard Zknd for NIST suite: AES decryption instructions as 30893763962SClément Léger ratified in version 1.0 of RISC-V Cryptography Extensions Volume I 30993763962SClément Léger specification. 31093763962SClément Léger 31193763962SClément Léger - const: zkne 31293763962SClément Léger description: | 31393763962SClément Léger The standard Zkne for NIST suite: AES encryption instructions as 31493763962SClément Léger ratified in version 1.0 of RISC-V Cryptography Extensions Volume I 31593763962SClément Léger specification. 31693763962SClément Léger 31793763962SClément Léger - const: zknh 31893763962SClément Léger description: | 31993763962SClément Léger The standard Zknh for NIST suite: hash function instructions as 32093763962SClément Léger ratified in version 1.0 of RISC-V Cryptography Extensions Volume I 32193763962SClément Léger specification. 32293763962SClément Léger 32393763962SClément Léger - const: zkr 32493763962SClément Léger description: 32593763962SClément Léger The standard Zkr entropy source extension as ratified in version 32693763962SClément Léger 1.0 of RISC-V Cryptography Extensions Volume I specification. 32793763962SClément Léger This string being present means that the CSR associated to this 32893763962SClément Léger extension is accessible at the privilege level to which that 32993763962SClément Léger device-tree has been provided. 33093763962SClément Léger 33193763962SClément Léger - const: zks 33293763962SClément Léger description: 33393763962SClément Léger The standard Zks ShangMi algorithm suite extensions as ratified in 33493763962SClément Léger version 1.0 of RISC-V Cryptography Extensions Volume I 33593763962SClément Léger specification. 33693763962SClément Léger 33793763962SClément Léger - const: zksed 33893763962SClément Léger description: | 33993763962SClément Léger The standard Zksed for ShangMi suite: SM4 block cipher instructions 34093763962SClément Léger as ratified in version 1.0 of RISC-V Cryptography Extensions 34193763962SClément Léger Volume I specification. 34293763962SClément Léger 34393763962SClément Léger - const: zksh 34493763962SClément Léger description: | 34593763962SClément Léger The standard Zksh for ShangMi suite: SM3 hash function instructions 34693763962SClément Léger as ratified in version 1.0 of RISC-V Cryptography Extensions 34793763962SClément Léger Volume I specification. 34893763962SClément Léger 34993763962SClément Léger - const: zkt 35093763962SClément Léger description: 35193763962SClément Léger The standard Zkt for data independent execution latency as ratified 35293763962SClément Léger in version 1.0 of RISC-V Cryptography Extensions Volume I 35393763962SClément Léger specification. 35493763962SClément Léger 355aeb71e42SConor Dooley - const: zicbom 356aeb71e42SConor Dooley description: 357aeb71e42SConor Dooley The standard Zicbom extension for base cache management operations as 358aeb71e42SConor Dooley ratified in commit 3dd606f ("Create cmobase-v1.0.pdf") of riscv-CMOs. 359aeb71e42SConor Dooley 360aeb71e42SConor Dooley - const: zicbop 361aeb71e42SConor Dooley description: 362aeb71e42SConor Dooley The standard Zicbop extension for cache-block prefetch instructions 363aeb71e42SConor Dooley as ratified in commit 3dd606f ("Create cmobase-v1.0.pdf") of 364aeb71e42SConor Dooley riscv-CMOs. 365aeb71e42SConor Dooley 366aeb71e42SConor Dooley - const: zicboz 367aeb71e42SConor Dooley description: 368aeb71e42SConor Dooley The standard Zicboz extension for cache-block zeroing as ratified 369aeb71e42SConor Dooley in commit 3dd606f ("Create cmobase-v1.0.pdf") of riscv-CMOs. 370aeb71e42SConor Dooley 371aeb71e42SConor Dooley - const: zicntr 372aeb71e42SConor Dooley description: 373aeb71e42SConor Dooley The standard Zicntr extension for base counters and timers, as 374aeb71e42SConor Dooley ratified in the 20191213 version of the unprivileged ISA 375aeb71e42SConor Dooley specification. 376aeb71e42SConor Dooley 37700c6f39cSAnup Patel - const: zicond 37800c6f39cSAnup Patel description: 37900c6f39cSAnup Patel The standard Zicond extension for conditional arithmetic and 38000c6f39cSAnup Patel conditional-select/move operations as ratified in commit 95cf1f9 38100c6f39cSAnup Patel ("Add changes requested by Ved during signoff") of riscv-zicond. 38200c6f39cSAnup Patel 383aeb71e42SConor Dooley - const: zicsr 384aeb71e42SConor Dooley description: | 385aeb71e42SConor Dooley The standard Zicsr extension for control and status register 386aeb71e42SConor Dooley instructions, as ratified in the 20191213 version of the 387aeb71e42SConor Dooley unprivileged ISA specification. 388aeb71e42SConor Dooley 389aeb71e42SConor Dooley This does not include Chapter 10, "Counters", which documents 390aeb71e42SConor Dooley special case read-only CSRs, that were moved into the Zicntr and 391aeb71e42SConor Dooley Zihpm extensions after the ratification of the 20191213 version of 392aeb71e42SConor Dooley the unprivileged specification. 393aeb71e42SConor Dooley 394aeb71e42SConor Dooley - const: zifencei 395aeb71e42SConor Dooley description: 396aeb71e42SConor Dooley The standard Zifencei extension for instruction-fetch fence, as 397aeb71e42SConor Dooley ratified in the 20191213 version of the unprivileged ISA 398aeb71e42SConor Dooley specification. 399aeb71e42SConor Dooley 400aeb71e42SConor Dooley - const: zihintpause 401aeb71e42SConor Dooley description: 402aeb71e42SConor Dooley The standard Zihintpause extension for pause hints, as ratified in 403aeb71e42SConor Dooley commit d8ab5c7 ("Zihintpause is ratified") of the riscv-isa-manual. 404aeb71e42SConor Dooley 405892f10c8SClément Léger - const: zihintntl 406892f10c8SClément Léger description: 407892f10c8SClément Léger The standard Zihintntl extension for non-temporal locality hints, as 408892f10c8SClément Léger ratified in commit 0dc91f5 ("Zihintntl is ratified") of the 409892f10c8SClément Léger riscv-isa-manual. 410892f10c8SClément Léger 411aeb71e42SConor Dooley - const: zihpm 412aeb71e42SConor Dooley description: 413aeb71e42SConor Dooley The standard Zihpm extension for hardware performance counters, as 414aeb71e42SConor Dooley ratified in the 20191213 version of the unprivileged ISA 415aeb71e42SConor Dooley specification. 416aeb71e42SConor Dooley 417a57b68bcSClément Léger - const: zimop 418a57b68bcSClément Léger description: 419a57b68bcSClément Léger The standard Zimop extension version 1.0, as ratified in commit 420a57b68bcSClément Léger 58220614a5f ("Zimop is ratified/1.0") of the riscv-isa-manual. 421a57b68bcSClément Léger 422aeb71e42SConor Dooley - const: ztso 423aeb71e42SConor Dooley description: 424aeb71e42SConor Dooley The standard Ztso extension for total store ordering, as ratified 425aeb71e42SConor Dooley in commit 2e5236 ("Ztso is now ratified.") of the 426aeb71e42SConor Dooley riscv-isa-manual. 427aeb71e42SConor Dooley 42810815531SClément Léger - const: zvbb 42910815531SClément Léger description: 43010815531SClément Léger The standard Zvbb extension for vectored basic bit-manipulation 43110815531SClément Léger instructions, as ratified in commit 56ed795 ("Update 43210815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 43310815531SClément Léger 43410815531SClément Léger - const: zvbc 43510815531SClément Léger description: 43610815531SClément Léger The standard Zvbc extension for vectored carryless multiplication 43710815531SClément Léger instructions, as ratified in commit 56ed795 ("Update 43810815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 43910815531SClément Léger 440037df296SAndy Chiu - const: zve32f 441037df296SAndy Chiu description: 442037df296SAndy Chiu The standard Zve32f extension for embedded processors, as ratified 443037df296SAndy Chiu in commit 6f702a2 ("Vector extensions are now ratified") of 444037df296SAndy Chiu riscv-v-spec. 445037df296SAndy Chiu 446037df296SAndy Chiu - const: zve32x 447037df296SAndy Chiu description: 448037df296SAndy Chiu The standard Zve32x extension for embedded processors, as ratified 449037df296SAndy Chiu in commit 6f702a2 ("Vector extensions are now ratified") of 450037df296SAndy Chiu riscv-v-spec. 451037df296SAndy Chiu 452037df296SAndy Chiu - const: zve64d 453037df296SAndy Chiu description: 454037df296SAndy Chiu The standard Zve64d extension for embedded processors, as ratified 455037df296SAndy Chiu in commit 6f702a2 ("Vector extensions are now ratified") of 456037df296SAndy Chiu riscv-v-spec. 457037df296SAndy Chiu 458037df296SAndy Chiu - const: zve64f 459037df296SAndy Chiu description: 460037df296SAndy Chiu The standard Zve64f extension for embedded processors, as ratified 461037df296SAndy Chiu in commit 6f702a2 ("Vector extensions are now ratified") of 462037df296SAndy Chiu riscv-v-spec. 463037df296SAndy Chiu 464037df296SAndy Chiu - const: zve64x 465037df296SAndy Chiu description: 466037df296SAndy Chiu The standard Zve64x extension for embedded processors, as ratified 467037df296SAndy Chiu in commit 6f702a2 ("Vector extensions are now ratified") of 468037df296SAndy Chiu riscv-v-spec. 469037df296SAndy Chiu 470e11880b4SClément Léger - const: zvfh 471e11880b4SClément Léger description: 472e11880b4SClément Léger The standard Zvfh extension for vectored half-precision 473e11880b4SClément Léger floating-point instructions, as ratified in commit e2ccd05 474e11880b4SClément Léger ("Remove draft warnings from Zvfh[min]") of riscv-v-spec. 475e11880b4SClément Léger 476e11880b4SClément Léger - const: zvfhmin 477e11880b4SClément Léger description: 478e11880b4SClément Léger The standard Zvfhmin extension for vectored minimal half-precision 479e11880b4SClément Léger floating-point instructions, as ratified in commit e2ccd05 480e11880b4SClément Léger ("Remove draft warnings from Zvfh[min]") of riscv-v-spec. 481e11880b4SClément Léger 48210815531SClément Léger - const: zvkb 48310815531SClément Léger description: 48410815531SClément Léger The standard Zvkb extension for vector cryptography bit-manipulation 48510815531SClément Léger instructions, as ratified in commit 56ed795 ("Update 48610815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 48710815531SClément Léger 48810815531SClément Léger - const: zvkg 48910815531SClément Léger description: 49010815531SClément Léger The standard Zvkg extension for vector GCM/GMAC instructions, as 49110815531SClément Léger ratified in commit 56ed795 ("Update riscv-crypto-spec-vector.adoc") 49210815531SClément Léger of riscv-crypto. 49310815531SClément Léger 49410815531SClément Léger - const: zvkn 49510815531SClément Léger description: 49610815531SClément Léger The standard Zvkn extension for NIST algorithm suite instructions, as 49710815531SClément Léger ratified in commit 56ed795 ("Update riscv-crypto-spec-vector.adoc") 49810815531SClément Léger of riscv-crypto. 49910815531SClément Léger 50010815531SClément Léger - const: zvknc 50110815531SClément Léger description: 50210815531SClément Léger The standard Zvknc extension for NIST algorithm suite with carryless 50310815531SClément Léger multiply instructions, as ratified in commit 56ed795 ("Update 50410815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 50510815531SClément Léger 50610815531SClément Léger - const: zvkned 50710815531SClément Léger description: 50810815531SClément Léger The standard Zvkned extension for Vector AES block cipher 50910815531SClément Léger instructions, as ratified in commit 56ed795 ("Update 51010815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 51110815531SClément Léger 51210815531SClément Léger - const: zvkng 51310815531SClément Léger description: 51410815531SClément Léger The standard Zvkng extension for NIST algorithm suite with GCM 51510815531SClément Léger instructions, as ratified in commit 56ed795 ("Update 51610815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 51710815531SClément Léger 51810815531SClément Léger - const: zvknha 51910815531SClément Léger description: | 52010815531SClément Léger The standard Zvknha extension for NIST suite: vector SHA-2 secure, 52110815531SClément Léger hash (SHA-256 only) instructions, as ratified in commit 52210815531SClément Léger 56ed795 ("Update riscv-crypto-spec-vector.adoc") of riscv-crypto. 52310815531SClément Léger 52410815531SClément Léger - const: zvknhb 52510815531SClément Léger description: | 52610815531SClément Léger The standard Zvknhb extension for NIST suite: vector SHA-2 secure, 52710815531SClément Léger hash (SHA-256 and SHA-512) instructions, as ratified in commit 52810815531SClément Léger 56ed795 ("Update riscv-crypto-spec-vector.adoc") of riscv-crypto. 52910815531SClément Léger 53010815531SClément Léger - const: zvks 53110815531SClément Léger description: 53210815531SClément Léger The standard Zvks extension for ShangMi algorithm suite 53310815531SClément Léger instructions, as ratified in commit 56ed795 ("Update 53410815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 53510815531SClément Léger 53610815531SClément Léger - const: zvksc 53710815531SClément Léger description: 53810815531SClément Léger The standard Zvksc extension for ShangMi algorithm suite with 53910815531SClément Léger carryless multiplication instructions, as ratified in commit 56ed795 54010815531SClément Léger ("Update riscv-crypto-spec-vector.adoc") of riscv-crypto. 54110815531SClément Léger 54210815531SClément Léger - const: zvksed 54310815531SClément Léger description: | 54410815531SClément Léger The standard Zvksed extension for ShangMi suite: SM4 block cipher 54510815531SClément Léger instructions, as ratified in commit 56ed795 ("Update 54610815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 54710815531SClément Léger 54810815531SClément Léger - const: zvksh 54910815531SClément Léger description: | 55010815531SClément Léger The standard Zvksh extension for ShangMi suite: SM3 secure hash 55110815531SClément Léger instructions, as ratified in commit 56ed795 ("Update 55210815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 55310815531SClément Léger 55410815531SClément Léger - const: zvksg 55510815531SClément Léger description: 55610815531SClément Léger The standard Zvksg extension for ShangMi algorithm suite with GCM 55710815531SClément Léger instructions, as ratified in commit 56ed795 ("Update 55810815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 55910815531SClément Léger 56010815531SClément Léger - const: zvkt 56110815531SClément Léger description: 56210815531SClément Léger The standard Zvkt extension for vector data-independent execution 56310815531SClément Léger latency, as ratified in commit 56ed795 ("Update 56410815531SClément Léger riscv-crypto-spec-vector.adoc") of riscv-crypto. 56510815531SClément Léger 56661609bf2SYu Chien Peter Lin - const: xandespmu 56761609bf2SYu Chien Peter Lin description: 56861609bf2SYu Chien Peter Lin The Andes Technology performance monitor extension for counter overflow 56961609bf2SYu Chien Peter Lin and privilege mode filtering. For more details, see Counter Related 57061609bf2SYu Chien Peter Lin Registers in the AX45MP datasheet. 57161609bf2SYu Chien Peter Lin https://www.andestech.com/wp-content/uploads/AX45MP-1C-Rev.-5.0.0-Datasheet.pdf 57261609bf2SYu Chien Peter Lin 573e9f9946cSClément Léger allOf: 574e9f9946cSClément Léger # Zcb depends on Zca 575e9f9946cSClément Léger - if: 576e9f9946cSClément Léger contains: 577e9f9946cSClément Léger const: zcb 578e9f9946cSClément Léger then: 579e9f9946cSClément Léger contains: 580e9f9946cSClément Léger const: zca 581e9f9946cSClément Léger # Zcd depends on Zca and D 582e9f9946cSClément Léger - if: 583e9f9946cSClément Léger contains: 584e9f9946cSClément Léger const: zcd 585e9f9946cSClément Léger then: 586e9f9946cSClément Léger allOf: 587e9f9946cSClément Léger - contains: 588e9f9946cSClément Léger const: zca 589e9f9946cSClément Léger - contains: 590e9f9946cSClément Léger const: d 591e9f9946cSClément Léger # Zcf depends on Zca and F 592e9f9946cSClément Léger - if: 593e9f9946cSClément Léger contains: 594e9f9946cSClément Léger const: zcf 595e9f9946cSClément Léger then: 596e9f9946cSClément Léger allOf: 597e9f9946cSClément Léger - contains: 598e9f9946cSClément Léger const: zca 599e9f9946cSClément Léger - contains: 600e9f9946cSClément Léger const: f 601700556a7SClément Léger # Zcmop depends on Zca 602700556a7SClément Léger - if: 603700556a7SClément Léger contains: 604700556a7SClément Léger const: zcmop 605700556a7SClément Léger then: 606700556a7SClément Léger contains: 607700556a7SClément Léger const: zca 608e9f9946cSClément Léger 609e9f9946cSClément LégerallOf: 610e9f9946cSClément Léger # Zcf extension does not exist on rv64 611e9f9946cSClément Léger - if: 612e9f9946cSClément Léger properties: 613e9f9946cSClément Léger riscv,isa-extensions: 614e9f9946cSClément Léger contains: 615e9f9946cSClément Léger const: zcf 616e9f9946cSClément Léger riscv,isa-base: 617e9f9946cSClément Léger contains: 618e9f9946cSClément Léger const: rv64i 619e9f9946cSClément Léger then: 620e9f9946cSClément Léger properties: 621e9f9946cSClément Léger riscv,isa-extensions: 622e9f9946cSClément Léger not: 623e9f9946cSClément Léger contains: 624e9f9946cSClément Léger const: zcf 625e9f9946cSClément Léger 626aeb71e42SConor DooleyadditionalProperties: true 627aeb71e42SConor Dooley... 628