kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
To: Lawrence Hunter <lawrence.hunter@codethink.co.uk>, qemu-devel@nongnu.org
Cc: dickon.hood@codethink.co.uk, nazar.kazakov@codethink.co.uk,
	kiran.ostrolenk@codethink.co.uk, frank.chang@sifive.com,
	palmer@dabbelt.com, alistair.francis@wdc.com,
	bin.meng@windriver.com, pbonzini@redhat.com,
	philipp.tomsich@vrull.eu, kvm@vger.kernel.org
Subject: Re: [PATCH 00/45] Add RISC-V vector cryptographic instruction set support
Date: Thu, 23 Mar 2023 09:51:48 -0300	[thread overview]
Message-ID: <b3d8e7e8-a5c0-3f1b-1bf7-1474544ab297@ventanamicro.com> (raw)
In-Reply-To: <20230310160346.1193597-1-lawrence.hunter@codethink.co.uk>

Hi,

On 3/10/23 13:03, Lawrence Hunter wrote:
> NB: this is an update over the patch series submitted today (2023/03/10) at 09:11. It fixes some accidental mangling of commits 02, 04 and 08/45.
> 
> This patchset provides an implementation for Zvkb, Zvkned, Zvknh, Zvksh, Zvkg, and Zvksed of the draft RISC-V vector cryptography extensions as per the 20230303 version of the specification(1) (1fcbb30). Please note that the Zvkt data-independent execution latency extension has not been implemented, and we would recommend not using these patches in an environment where timing attacks are an issue.
> 
> Work performed by Dickon, Lawrence, Nazar, Kiran, and William from Codethink sponsored by SiFive, as well as Max Chou and Frank Chang from SiFive.
> 
> For convenience we have created a git repo with our patches on top of a recent master. https://github.com/CodethinkLabs/qemu-ct
> 
> 1. https://github.com/riscv/riscv-crypto/releases

For the next versions I suggest CCing qemu-riscv@nongnu.org as well. It's an
easier way to keep track of RISC-V contributions since qemu-devel has a lot of
traffic.

Thanks,


Daniel

> 
> Dickon Hood (2):
>    qemu/bitops.h: Limit rotate amounts
>    target/riscv: Add vrol.[vv,vx] and vror.[vv,vx,vi] decoding,
>      translation and execution support
> 
> Kiran Ostrolenk (7):
>    target/riscv: Refactor some of the generic vector functionality
>    target/riscv: Refactor some of the generic vector functionality
>    target/riscv: Refactor some of the generic vector functionality
>    target/riscv: Add vsha2ms.vv decoding, translation and execution
>      support
>    target/riscv: Add zvksh cpu property
>    target/riscv: Add vsm3c.vi decoding, translation and execution support
>    target/riscv: Expose zvksh cpu property
> 
> Lawrence Hunter (17):
>    target/riscv: Add vclmul.vv decoding, translation and execution
>      support
>    target/riscv: Add vclmul.vx decoding, translation and execution
>      support
>    target/riscv: Add vclmulh.vv decoding, translation and execution
>      support
>    target/riscv: Add vclmulh.vx decoding, translation and execution
>      support
>    target/riscv: Add vaesef.vv decoding, translation and execution
>      support
>    target/riscv: Add vaesef.vs decoding, translation and execution
>      support
>    target/riscv: Add vaesdf.vv decoding, translation and execution
>      support
>    target/riscv: Add vaesdf.vs decoding, translation and execution
>      support
>    target/riscv: Add vaesdm.vv decoding, translation and execution
>      support
>    target/riscv: Add vaesdm.vs decoding, translation and execution
>      support
>    target/riscv: Add vaesz.vs decoding, translation and execution support
>    target/riscv: Add vsha2c[hl].vv decoding, translation and execution
>      support
>    target/riscv: Add vsm3me.vv decoding, translation and execution
>      support
>    target/riscv: Add zvkg cpu property
>    target/riscv: Add vgmul.vv decoding, translation and execution support
>    target/riscv: Add vghsh.vv decoding, translation and execution support
>    target/riscv: Expose zvkg cpu property
> 
> Max Chou (5):
>    crypto: Create sm4_subword
>    crypto: Add SM4 constant parameter CK
>    target/riscv: Add zvksed cfg property
>    target/riscv: Add Zvksed support
>    target/riscv: Expose Zvksed property
> 
> Nazar Kazakov (11):
>    target/riscv: Add zvkb cpu property
>    target/riscv: Refactor some of the generic vector functionality
>    target/riscv: Add vrev8.v decoding, translation and execution support
>    target/riscv: Add vandn.[vv,vx] decoding, translation and execution
>      support
>    target/riscv: Expose zvkb cpu property
>    target/riscv: Add zvkned cpu property
>    target/riscv: Add vaeskf1.vi decoding, translation and execution
>      support
>    target/riscv: Add vaeskf2.vi decoding, translation and execution
>      support
>    target/riscv: Expose zvkned cpu property
>    target/riscv: Add zvknh cpu properties
>    target/riscv: Expose zvknh cpu properties
> 
> William Salmon (3):
>    target/riscv: Add vbrev8.v decoding, translation and execution support
>    target/riscv: Add vaesem.vv decoding, translation and execution
>      support
>    target/riscv: Add vaesem.vs decoding, translation and execution
>      support
> 
>   accel/tcg/tcg-runtime-gvec.c                 |   11 +
>   accel/tcg/tcg-runtime.h                      |    1 +
>   crypto/sm4.c                                 |   10 +
>   include/crypto/sm4.h                         |    9 +
>   include/qemu/bitops.h                        |   24 +-
>   target/arm/tcg/crypto_helper.c               |   10 +-
>   target/riscv/cpu.c                           |   36 +
>   target/riscv/cpu.h                           |    7 +
>   target/riscv/helper.h                        |   71 ++
>   target/riscv/insn32.decode                   |   49 +
>   target/riscv/insn_trans/trans_rvv.c.inc      |   93 +-
>   target/riscv/insn_trans/trans_rvzvkb.c.inc   |  220 ++++
>   target/riscv/insn_trans/trans_rvzvkg.c.inc   |   40 +
>   target/riscv/insn_trans/trans_rvzvkned.c.inc |  170 +++
>   target/riscv/insn_trans/trans_rvzvknh.c.inc  |   84 ++
>   target/riscv/insn_trans/trans_rvzvksed.c.inc |   57 +
>   target/riscv/insn_trans/trans_rvzvksh.c.inc  |   43 +
>   target/riscv/meson.build                     |    4 +-
>   target/riscv/op_helper.c                     |    5 +
>   target/riscv/translate.c                     |    6 +
>   target/riscv/vcrypto_helper.c                | 1001 ++++++++++++++++++
>   target/riscv/vector_helper.c                 |  240 +----
>   target/riscv/vector_internals.c              |   81 ++
>   target/riscv/vector_internals.h              |  222 ++++
>   24 files changed, 2192 insertions(+), 302 deletions(-)
>   create mode 100644 target/riscv/insn_trans/trans_rvzvkb.c.inc
>   create mode 100644 target/riscv/insn_trans/trans_rvzvkg.c.inc
>   create mode 100644 target/riscv/insn_trans/trans_rvzvkned.c.inc
>   create mode 100644 target/riscv/insn_trans/trans_rvzvknh.c.inc
>   create mode 100644 target/riscv/insn_trans/trans_rvzvksed.c.inc
>   create mode 100644 target/riscv/insn_trans/trans_rvzvksh.c.inc
>   create mode 100644 target/riscv/vcrypto_helper.c
>   create mode 100644 target/riscv/vector_internals.c
>   create mode 100644 target/riscv/vector_internals.h
> 

  parent reply	other threads:[~2023-03-23 12:51 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-10 16:03 [PATCH 00/45] Add RISC-V vector cryptographic instruction set support Lawrence Hunter
2023-03-10 16:03 ` [PATCH 01/45] target/riscv: Add zvkb cpu property Lawrence Hunter
2023-03-10 16:03 ` [PATCH 02/45] target/riscv: Refactor some of the generic vector functionality Lawrence Hunter
2023-03-21 12:02   ` Christoph Müllner
2023-03-23 11:34     ` Lawrence Hunter
2023-03-10 16:03 ` [PATCH 03/45] target/riscv: Add vclmul.vv decoding, translation and execution support Lawrence Hunter
2023-03-10 16:03 ` [PATCH 04/45] target/riscv: Refactor some of the generic vector functionality Lawrence Hunter
2023-03-10 16:03 ` [PATCH 05/45] target/riscv: Add vclmul.vx decoding, translation and execution support Lawrence Hunter
2023-03-10 16:03 ` [PATCH 06/45] target/riscv: Add vclmulh.vv " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 07/45] target/riscv: Add vclmulh.vx " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 08/45] target/riscv: Refactor some of the generic vector functionality Lawrence Hunter
2023-03-10 16:03 ` [PATCH 09/45] qemu/bitops.h: Limit rotate amounts Lawrence Hunter
2023-03-10 16:03 ` [PATCH 10/45] target/riscv: Add vrol.[vv,vx] and vror.[vv,vx,vi] decoding, translation and execution support Lawrence Hunter
2023-03-10 16:03 ` [PATCH 11/45] target/riscv: Refactor some of the generic vector functionality Lawrence Hunter
2023-03-10 16:03 ` [PATCH 12/45] target/riscv: Add vbrev8.v decoding, translation and execution support Lawrence Hunter
2023-03-10 16:03 ` [PATCH 13/45] target/riscv: Add vrev8.v " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 14/45] target/riscv: Add vandn.[vv,vx] " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 15/45] target/riscv: Expose zvkb cpu property Lawrence Hunter
2023-03-10 16:03 ` [PATCH 16/45] target/riscv: Add zvkned " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 17/45] target/riscv: Add vaesef.vv decoding, translation and execution support Lawrence Hunter
2023-03-10 16:03 ` [PATCH 18/45] target/riscv: Add vaesef.vs " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 19/45] target/riscv: Add vaesdf.vv " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 20/45] target/riscv: Add vaesdf.vs " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 21/45] target/riscv: Add vaesdm.vv " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 22/45] target/riscv: Add vaesdm.vs " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 23/45] target/riscv: Add vaesz.vs " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 24/45] target/riscv: Add vaesem.vv " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 25/45] target/riscv: Add vaesem.vs " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 26/45] target/riscv: Add vaeskf1.vi " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 27/45] target/riscv: Add vaeskf2.vi " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 28/45] target/riscv: Expose zvkned cpu property Lawrence Hunter
2023-03-10 16:03 ` [PATCH 29/45] target/riscv: Add zvknh cpu properties Lawrence Hunter
2023-03-10 16:03 ` [PATCH 30/45] target/riscv: Add vsha2ms.vv decoding, translation and execution support Lawrence Hunter
2023-03-10 16:03 ` [PATCH 31/45] target/riscv: Add vsha2c[hl].vv " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 32/45] target/riscv: Expose zvknh cpu properties Lawrence Hunter
2023-03-10 16:03 ` [PATCH 33/45] target/riscv: Add zvksh cpu property Lawrence Hunter
2023-03-10 16:03 ` [PATCH 34/45] target/riscv: Add vsm3me.vv decoding, translation and execution support Lawrence Hunter
2023-03-10 16:03 ` [PATCH 35/45] target/riscv: Add vsm3c.vi " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 36/45] target/riscv: Expose zvksh cpu property Lawrence Hunter
2023-03-10 16:03 ` [PATCH 37/45] target/riscv: Add zvkg " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 38/45] target/riscv: Add vgmul.vv decoding, translation and execution support Lawrence Hunter
2023-03-10 16:03 ` [PATCH 39/45] target/riscv: Add vghsh.vv " Lawrence Hunter
2023-03-10 16:03 ` [PATCH 40/45] target/riscv: Expose zvkg cpu property Lawrence Hunter
2023-03-10 16:03 ` [PATCH 41/45] crypto: Create sm4_subword Lawrence Hunter
2023-03-10 16:03 ` [PATCH 42/45] crypto: Add SM4 constant parameter CK Lawrence Hunter
2023-03-10 16:03 ` [PATCH 43/45] target/riscv: Add zvksed cfg property Lawrence Hunter
2023-03-10 16:03 ` [PATCH 44/45] target/riscv: Add Zvksed support Lawrence Hunter
2023-03-10 16:03 ` [PATCH 45/45] target/riscv: Expose Zvksed property Lawrence Hunter
2023-03-23 12:51 ` Daniel Henrique Barboza [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-03-10  9:11 [PATCH 00/45] Add RISC-V vector cryptographic instruction set support Lawrence Hunter
2023-03-21 12:02 ` Christoph Müllner
2023-03-23 11:34   ` Lawrence Hunter
2023-03-23 11:36     ` Christoph Müllner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b3d8e7e8-a5c0-3f1b-1bf7-1474544ab297@ventanamicro.com \
    --to=dbarboza@ventanamicro.com \
    --cc=alistair.francis@wdc.com \
    --cc=bin.meng@windriver.com \
    --cc=dickon.hood@codethink.co.uk \
    --cc=frank.chang@sifive.com \
    --cc=kiran.ostrolenk@codethink.co.uk \
    --cc=kvm@vger.kernel.org \
    --cc=lawrence.hunter@codethink.co.uk \
    --cc=nazar.kazakov@codethink.co.uk \
    --cc=palmer@dabbelt.com \
    --cc=pbonzini@redhat.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).