diff mbox series

[v3,2/4] dt-bindings: riscv: Document the 1.0 scalar cryptography extensions

Message ID 20230709115549.2666557-3-sameo@rivosinc.com
State Superseded
Headers show
Series RISC-V: archrandom support | expand

Commit Message

Samuel Ortiz July 9, 2023, 11:55 a.m. UTC
The RISC-V cryptography extensions define a set of instructions, CSR
definitions, architectural interfaces and also extension shorthands for
running scalar and vector based cryptography operations on RISC-V
systems.

This documents all the dt-bindings for the scalar cryptography
extensions, including the Zk, Zkn and Zks shorthands.

Signed-off-by: Samuel Ortiz <sameo@rivosinc.com>
---
 .../devicetree/bindings/riscv/extensions.yaml | 82 +++++++++++++++++++
 1 file changed, 82 insertions(+)

Comments

Heiko Stuebner July 9, 2023, 1:25 p.m. UTC | #1
Am Sonntag, 9. Juli 2023, 13:55:44 CEST schrieb Samuel Ortiz:
> The RISC-V cryptography extensions define a set of instructions, CSR
> definitions, architectural interfaces and also extension shorthands for
> running scalar and vector based cryptography operations on RISC-V
> systems.
> 
> This documents all the dt-bindings for the scalar cryptography
> extensions, including the Zk, Zkn and Zks shorthands.
> 
> Signed-off-by: Samuel Ortiz <sameo@rivosinc.com>

Reviewed-by: Heiko Stuebner <heiko.stuebner@vrull.eu>
Rob Herring (Arm) July 10, 2023, 3:16 p.m. UTC | #2
On Sun, Jul 09, 2023 at 01:55:44PM +0200, Samuel Ortiz wrote:
> The RISC-V cryptography extensions define a set of instructions, CSR
> definitions, architectural interfaces and also extension shorthands for
> running scalar and vector based cryptography operations on RISC-V
> systems.
> 
> This documents all the dt-bindings for the scalar cryptography
> extensions, including the Zk, Zkn and Zks shorthands.
> 
> Signed-off-by: Samuel Ortiz <sameo@rivosinc.com>
> ---
>  .../devicetree/bindings/riscv/extensions.yaml | 82 +++++++++++++++++++
>  1 file changed, 82 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml
> index cc1f546fdbdc..361756978da1 100644
> --- a/Documentation/devicetree/bindings/riscv/extensions.yaml
> +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml
> @@ -190,6 +190,24 @@ properties:
>              instructions as ratified at commit 6d33919 ("Merge pull request #158
>              from hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip.
>  
> +        - const: zbkb
> +          description: |

Don't need '|' if no formatting to preserve.

> +            The standard Zbkb cryptography extension for bit-manipulation
> +            instructions, as ratified at commit 73de909
> +            ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
> +        - const: zbkc
> +          description: |
> +            The standard Zbkc cryptography extension for carry-less multiply
> +            instructions, as ratified at commit 73de909
> +            ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
> +        - const: zbkx
> +          description: |
> +            The standard Zbkx cryptography extension for crossbar permutation
> +            instructions, as ratified at commit 73de909
> +            ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
>          - const: zicbom
>            description:
>              The standard Zicbom extension for base cache management operations as
> @@ -240,6 +258,70 @@ properties:
>              ratified in the 20191213 version of the unprivileged ISA
>              specification.
>  
> +        - const: zk
> +          description: |
> +            The standard Zk cryptography extension is a shorthand for the
> +            union of the Zkn, Zkr and Zkt cryptography extensions, as ratified
> +            at commit 73de909 ("Zvk: Update AES instruction specs") of
> +            riscv-crypto.
> +
> +        - const: zkn
> +          description: |
> +            The standard Zkn cryptography extension covers the NIST algorithm
> +            suite that other cryptography extensions support. It is the union of
> +            the Zbkb, Zbkc, Zbkx, Zknd, Zkne and Zknh extensions, as ratified at
> +            commit 73de909 ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
> +        - const: zknd
> +          description: |
> +            The standard Zknd cryptography extension for AES block cipher
> +            decryption acceleration instructions, as ratified at commit 73de909
> +            ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
> +        - const: zkne
> +          description: |
> +            The standard Zkne cryptography extension for AES block cipher
> +            encryption acceleration instructions, as ratified at commit 73de909
> +            ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
> +        - const: zknh
> +          description: |
> +            The standard Zknh cryptography extension for SHA2 hash algorithm
> +            functions acceleration instructions as ratified at commit 73de909
> +            ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
> +        - const: zkr
> +          description: |
> +            The standard Zkr cryptography extension for the entropy source CSR
> +            definitions, as ratified at commit 73de909
> +            ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
> +        - const: zks
> +          description: |
> +            The standard Zks cryptography extension covers the ShangMi algorithm
> +            suite that other cryptography extensions support. It is the union of
> +            the Zbkb, Zbkc, Zbkx, Zksed and Zksh extensions, as ratified at
> +            commit 73de909 ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
> +        - const: zksed
> +          description: |
> +            The standard Zksed cryptography extension for SM4 block cipher
> +            acceleration instructions, as ratified at commit 73de909
> +            ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
> +        - const: zksh
> +          description: |
> +            The standard Zksh cryptography extension for SM3 hash algorithm
> +            funstions acceleration instructions, as ratified at commit 73de909
> +            ("Zvk: Update AES instruction specs") of riscv-crypto.
> +
> +        - const: zkt
> +          description: |
> +            The standard Zkt cryptography extension for data independent
> +            execution latency attestation, for a safe subset of instructions,
> +            as ratified at commit 73de909 ("Zvk: Update AES instruction specs")
> +            of riscv-crypto.
> +
>          - const: ztso
>            description:
>              The standard Ztso extension for total store ordering, as ratified
> -- 
> 2.41.0
>
Conor Dooley July 11, 2023, 6:29 p.m. UTC | #3
On Tue, Jul 11, 2023 at 07:28:23PM +0200, Samuel Ortiz wrote:
> On Mon, Jul 10, 2023 at 04:42:42PM +0100, Conor Dooley wrote:
> > On Mon, Jul 10, 2023 at 09:16:24AM -0600, Rob Herring wrote:
> > > On Sun, Jul 09, 2023 at 01:55:44PM +0200, Samuel Ortiz wrote:
> > > > The RISC-V cryptography extensions define a set of instructions, CSR
> > > > definitions, architectural interfaces and also extension shorthands for
> > > > running scalar and vector based cryptography operations on RISC-V
> > > > systems.
> > > > 
> > > > This documents all the dt-bindings for the scalar cryptography
> > > > extensions, including the Zk, Zkn and Zks shorthands.
> > > > 
> > > > Signed-off-by: Samuel Ortiz <sameo@rivosinc.com>
> > > > ---
> > > >  .../devicetree/bindings/riscv/extensions.yaml | 82 +++++++++++++++++++
> > > >  1 file changed, 82 insertions(+)
> > > > 
> > > > diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml
> > > > index cc1f546fdbdc..361756978da1 100644
> > > > --- a/Documentation/devicetree/bindings/riscv/extensions.yaml
> > > > +++ b/Documentation/devicetree/bindings/riscv/extensions.yaml
> > > > @@ -190,6 +190,24 @@ properties:
> > > >              instructions as ratified at commit 6d33919 ("Merge pull request #158
> > > >              from hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip.
> > > >  
> > > > +        - const: zbkb
> > > > +          description: |
> > > 
> > > Don't need '|' if no formatting to preserve.
> > 
> > The existing binding only adds the `|` where the commit message contains
> > a #, please drop the `|`s if you end up re-submitting. Otherwise,
> 
> I think the `|` is needed because the messages contains a `:`? This is
> the case as the messages in this patch have a "Zvk:..." string.
> Removing the `|` makes dt_binding_check fail because of that.

Right you are. Please keep them so!
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/riscv/extensions.yaml b/Documentation/devicetree/bindings/riscv/extensions.yaml
index cc1f546fdbdc..361756978da1 100644
--- a/Documentation/devicetree/bindings/riscv/extensions.yaml
+++ b/Documentation/devicetree/bindings/riscv/extensions.yaml
@@ -190,6 +190,24 @@  properties:
             instructions as ratified at commit 6d33919 ("Merge pull request #158
             from hirooih/clmul-fix-loop-end-condition") of riscv-bitmanip.
 
+        - const: zbkb
+          description: |
+            The standard Zbkb cryptography extension for bit-manipulation
+            instructions, as ratified at commit 73de909
+            ("Zvk: Update AES instruction specs") of riscv-crypto.
+
+        - const: zbkc
+          description: |
+            The standard Zbkc cryptography extension for carry-less multiply
+            instructions, as ratified at commit 73de909
+            ("Zvk: Update AES instruction specs") of riscv-crypto.
+
+        - const: zbkx
+          description: |
+            The standard Zbkx cryptography extension for crossbar permutation
+            instructions, as ratified at commit 73de909
+            ("Zvk: Update AES instruction specs") of riscv-crypto.
+
         - const: zicbom
           description:
             The standard Zicbom extension for base cache management operations as
@@ -240,6 +258,70 @@  properties:
             ratified in the 20191213 version of the unprivileged ISA
             specification.
 
+        - const: zk
+          description: |
+            The standard Zk cryptography extension is a shorthand for the
+            union of the Zkn, Zkr and Zkt cryptography extensions, as ratified
+            at commit 73de909 ("Zvk: Update AES instruction specs") of
+            riscv-crypto.
+
+        - const: zkn
+          description: |
+            The standard Zkn cryptography extension covers the NIST algorithm
+            suite that other cryptography extensions support. It is the union of
+            the Zbkb, Zbkc, Zbkx, Zknd, Zkne and Zknh extensions, as ratified at
+            commit 73de909 ("Zvk: Update AES instruction specs") of riscv-crypto.
+
+        - const: zknd
+          description: |
+            The standard Zknd cryptography extension for AES block cipher
+            decryption acceleration instructions, as ratified at commit 73de909
+            ("Zvk: Update AES instruction specs") of riscv-crypto.
+
+        - const: zkne
+          description: |
+            The standard Zkne cryptography extension for AES block cipher
+            encryption acceleration instructions, as ratified at commit 73de909
+            ("Zvk: Update AES instruction specs") of riscv-crypto.
+
+        - const: zknh
+          description: |
+            The standard Zknh cryptography extension for SHA2 hash algorithm
+            functions acceleration instructions as ratified at commit 73de909
+            ("Zvk: Update AES instruction specs") of riscv-crypto.
+
+        - const: zkr
+          description: |
+            The standard Zkr cryptography extension for the entropy source CSR
+            definitions, as ratified at commit 73de909
+            ("Zvk: Update AES instruction specs") of riscv-crypto.
+
+        - const: zks
+          description: |
+            The standard Zks cryptography extension covers the ShangMi algorithm
+            suite that other cryptography extensions support. It is the union of
+            the Zbkb, Zbkc, Zbkx, Zksed and Zksh extensions, as ratified at
+            commit 73de909 ("Zvk: Update AES instruction specs") of riscv-crypto.
+
+        - const: zksed
+          description: |
+            The standard Zksed cryptography extension for SM4 block cipher
+            acceleration instructions, as ratified at commit 73de909
+            ("Zvk: Update AES instruction specs") of riscv-crypto.
+
+        - const: zksh
+          description: |
+            The standard Zksh cryptography extension for SM3 hash algorithm
+            funstions acceleration instructions, as ratified at commit 73de909
+            ("Zvk: Update AES instruction specs") of riscv-crypto.
+
+        - const: zkt
+          description: |
+            The standard Zkt cryptography extension for data independent
+            execution latency attestation, for a safe subset of instructions,
+            as ratified at commit 73de909 ("Zvk: Update AES instruction specs")
+            of riscv-crypto.
+
         - const: ztso
           description:
             The standard Ztso extension for total store ordering, as ratified