From: Daniel Henrique Barboza <danielhb413@gmail.com>
To: Richard Henderson <richard.henderson@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org, qemu-riscv@nongnu.org, pbonzini@redhat.com,
eduardo@habkost.net, alistair.francis@wdc.com
Subject: Re: [PATCH v4 00/37] crypto: Provide aes-round.h and host accel
Date: Fri, 7 Jul 2023 14:30:47 -0300 [thread overview]
Message-ID: <9877c1f7-a923-1457-071d-b08d0d816ca2@gmail.com> (raw)
In-Reply-To: <20230703100520.68224-1-richard.henderson@linaro.org>
Richard,
On 7/3/23 07:04, Richard Henderson wrote:
> Inspired by Ard Biesheuvel's RFC patches for accelerating AES
> under emulation, provide a set of primitives that maps between
> the guest and host fragments.
>
> Changes for v4:
> * Fix typo in AESState (Max Chou)
> * Define AES_SH/ISH as macros (Ard Biesheuvel)
> * Group patches by subsystem.
>
> Patches lacking review:
> 12-host-include-i386-Implement-aes-round.h.patch
> 13-host-include-aarch64-Implement-aes-round.h.patch
> 21-target-i386-Use-aesdec_IMC.patch
> 22-target-i386-Use-aesenc_SB_SR_MC_AK.patch
> 23-target-i386-Use-aesdec_ISB_ISR_IMC_AK.patch
> 25-target-arm-Use-aesenc_SB_SR_AK.patch
> 26-target-arm-Use-aesdec_ISB_ISR_AK.patch
> 27-target-arm-Use-aesenc_MC.patch
> 28-target-arm-Use-aesdec_IMC.patch
> 29-target-riscv-Use-aesenc_SB_SR_AK.patch
> 30-target-riscv-Use-aesdec_ISB_ISR_AK.patch
> 31-target-riscv-Use-aesdec_IMC.patch
> 32-target-riscv-Use-aesenc_SB_SR_MC_AK.patch
> 33-target-riscv-Use-aesdec_ISB_ISR_IMC_AK.patch
>
> Daniel(s), I could push the set that has been reviewed
> (crypto/, DPB; target/ppc/, DHB) through tcg-next if you like,
> just to reduce the outstanding set. Perhaps smaller patch sets
> would help getting the other targets reviewed...
>
Sorry for the delay reacting to my name drop.
You're more than welcome in posting the target/ppc bits via tcg-next. I was
kind of expecting you to do it but failed to mention explicitly back then.
Go ahead.
By the way I sent the PowerPC PR earlier today (you're probably already saw it).
So ... yeah, I'm counting on you into pushing this ppc code via the tcg queue,
in any format you find appropriate (smaller series, big series, single patch
per PR ... your call).
Thanks,
Daniel
>
> r~
>
>
> Richard Henderson (37):
> util: Add cpuinfo-ppc.c
> tests/multiarch: Add test-aes
> target/arm: Move aesmc and aesimc tables to crypto/aes.c
> crypto/aes: Add AES_SH, AES_ISH macros
> crypto: Add aesenc_SB_SR_AK
> crypto: Add aesdec_ISB_ISR_AK
> crypto: Add aesenc_MC
> crypto: Add aesdec_IMC
> crypto: Add aesenc_SB_SR_MC_AK
> crypto: Add aesdec_ISB_ISR_IMC_AK
> crypto: Add aesdec_ISB_ISR_AK_IMC
> host/include/i386: Implement aes-round.h
> host/include/aarch64: Implement aes-round.h
> host/include/ppc: Implement aes-round.h
> target/ppc: Use aesenc_SB_SR_AK
> target/ppc: Use aesdec_ISB_ISR_AK
> target/ppc: Use aesenc_SB_SR_MC_AK
> target/ppc: Use aesdec_ISB_ISR_AK_IMC
> target/i386: Use aesenc_SB_SR_AK
> target/i386: Use aesdec_ISB_ISR_AK
> target/i386: Use aesdec_IMC
> target/i386: Use aesenc_SB_SR_MC_AK
> target/i386: Use aesdec_ISB_ISR_IMC_AK
> target/arm: Demultiplex AESE and AESMC
> target/arm: Use aesenc_SB_SR_AK
> target/arm: Use aesdec_ISB_ISR_AK
> target/arm: Use aesenc_MC
> target/arm: Use aesdec_IMC
> target/riscv: Use aesenc_SB_SR_AK
> target/riscv: Use aesdec_ISB_ISR_AK
> target/riscv: Use aesdec_IMC
> target/riscv: Use aesenc_SB_SR_MC_AK
> target/riscv: Use aesdec_ISB_ISR_IMC_AK
> crypto: Remove AES_shifts, AES_ishifts
> crypto: Implement aesdec_IMC with AES_imc_rot
> crypto: Remove AES_imc
> crypto: Unexport AES_*_rot, AES_TeN, AES_TdN
>
> MAINTAINERS | 1 +
> meson.build | 9 +
> host/include/aarch64/host/cpuinfo.h | 1 +
> host/include/aarch64/host/crypto/aes-round.h | 205 +++++
> host/include/generic/host/crypto/aes-round.h | 33 +
> host/include/i386/host/cpuinfo.h | 1 +
> host/include/i386/host/crypto/aes-round.h | 152 ++++
> host/include/ppc/host/cpuinfo.h | 30 +
> host/include/ppc/host/crypto/aes-round.h | 182 +++++
> host/include/ppc64/host/cpuinfo.h | 1 +
> host/include/ppc64/host/crypto/aes-round.h | 1 +
> host/include/x86_64/host/crypto/aes-round.h | 1 +
> include/crypto/aes-round.h | 164 ++++
> include/crypto/aes.h | 30 -
> target/arm/helper.h | 2 +
> target/i386/ops_sse.h | 60 +-
> tcg/ppc/tcg-target.h | 16 +-
> target/arm/tcg/sve.decode | 4 +-
> crypto/aes.c | 780 ++++++++++++-------
> target/arm/tcg/crypto_helper.c | 249 ++----
> target/arm/tcg/translate-a64.c | 13 +-
> target/arm/tcg/translate-neon.c | 4 +-
> target/arm/tcg/translate-sve.c | 8 +-
> target/ppc/int_helper.c | 50 +-
> target/riscv/crypto_helper.c | 138 +---
> tests/tcg/aarch64/test-aes.c | 58 ++
> tests/tcg/i386/test-aes.c | 68 ++
> tests/tcg/ppc64/test-aes.c | 116 +++
> tests/tcg/riscv64/test-aes.c | 76 ++
> util/cpuinfo-aarch64.c | 2 +
> util/cpuinfo-i386.c | 3 +
> util/cpuinfo-ppc.c | 64 ++
> tcg/ppc/tcg-target.c.inc | 44 +-
> tests/tcg/multiarch/test-aes-main.c.inc | 183 +++++
> tests/tcg/aarch64/Makefile.target | 4 +
> tests/tcg/i386/Makefile.target | 4 +
> tests/tcg/ppc64/Makefile.target | 1 +
> tests/tcg/riscv64/Makefile.target | 13 +
> util/meson.build | 2 +
> 39 files changed, 2049 insertions(+), 724 deletions(-)
> create mode 100644 host/include/aarch64/host/crypto/aes-round.h
> create mode 100644 host/include/generic/host/crypto/aes-round.h
> create mode 100644 host/include/i386/host/crypto/aes-round.h
> create mode 100644 host/include/ppc/host/cpuinfo.h
> create mode 100644 host/include/ppc/host/crypto/aes-round.h
> create mode 100644 host/include/ppc64/host/cpuinfo.h
> create mode 100644 host/include/ppc64/host/crypto/aes-round.h
> create mode 100644 host/include/x86_64/host/crypto/aes-round.h
> create mode 100644 include/crypto/aes-round.h
> create mode 100644 tests/tcg/aarch64/test-aes.c
> create mode 100644 tests/tcg/i386/test-aes.c
> create mode 100644 tests/tcg/ppc64/test-aes.c
> create mode 100644 tests/tcg/riscv64/test-aes.c
> create mode 100644 util/cpuinfo-ppc.c
> create mode 100644 tests/tcg/multiarch/test-aes-main.c.inc
>
next prev parent reply other threads:[~2023-07-07 17:32 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-03 10:04 [PATCH v4 00/37] crypto: Provide aes-round.h and host accel Richard Henderson
2023-07-03 10:04 ` [PATCH v4 01/37] util: Add cpuinfo-ppc.c Richard Henderson
2023-07-03 10:04 ` [PATCH v4 02/37] tests/multiarch: Add test-aes Richard Henderson
2023-07-03 12:08 ` Christoph Müllner
2023-07-05 14:28 ` Richard Henderson
2023-07-03 10:04 ` [PATCH v4 03/37] target/arm: Move aesmc and aesimc tables to crypto/aes.c Richard Henderson
2023-07-03 10:04 ` [PATCH v4 04/37] crypto/aes: Add AES_SH, AES_ISH macros Richard Henderson
2023-07-03 10:04 ` [PATCH v4 05/37] crypto: Add aesenc_SB_SR_AK Richard Henderson
2023-07-03 10:04 ` [PATCH v4 06/37] crypto: Add aesdec_ISB_ISR_AK Richard Henderson
2023-07-03 10:04 ` [PATCH v4 07/37] crypto: Add aesenc_MC Richard Henderson
2023-07-03 10:04 ` [PATCH v4 08/37] crypto: Add aesdec_IMC Richard Henderson
2023-07-03 10:04 ` [PATCH v4 09/37] crypto: Add aesenc_SB_SR_MC_AK Richard Henderson
2023-07-03 10:04 ` [PATCH v4 10/37] crypto: Add aesdec_ISB_ISR_IMC_AK Richard Henderson
2023-07-03 10:04 ` [PATCH v4 11/37] crypto: Add aesdec_ISB_ISR_AK_IMC Richard Henderson
2023-07-03 10:04 ` [PATCH v4 12/37] host/include/i386: Implement aes-round.h Richard Henderson
2023-07-03 10:04 ` [PATCH v4 13/37] host/include/aarch64: " Richard Henderson
2023-07-08 17:35 ` Philippe Mathieu-Daudé
2023-07-03 10:04 ` [PATCH v4 14/37] host/include/ppc: " Richard Henderson
2023-07-03 10:04 ` [PATCH v4 15/37] target/ppc: Use aesenc_SB_SR_AK Richard Henderson
2023-07-03 10:04 ` [PATCH v4 16/37] target/ppc: Use aesdec_ISB_ISR_AK Richard Henderson
2023-07-03 10:05 ` [PATCH v4 17/37] target/ppc: Use aesenc_SB_SR_MC_AK Richard Henderson
2023-07-07 19:50 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 18/37] target/ppc: Use aesdec_ISB_ISR_AK_IMC Richard Henderson
2023-07-03 10:05 ` [PATCH v4 19/37] target/i386: Use aesenc_SB_SR_AK Richard Henderson
2023-07-03 10:05 ` [PATCH v4 20/37] target/i386: Use aesdec_ISB_ISR_AK Richard Henderson
2023-07-03 10:05 ` [PATCH v4 21/37] target/i386: Use aesdec_IMC Richard Henderson
2023-07-07 19:48 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 22/37] target/i386: Use aesenc_SB_SR_MC_AK Richard Henderson
2023-07-07 19:50 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 23/37] target/i386: Use aesdec_ISB_ISR_IMC_AK Richard Henderson
2023-07-07 20:34 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 24/37] target/arm: Demultiplex AESE and AESMC Richard Henderson
2023-07-03 10:05 ` [PATCH v4 25/37] target/arm: Use aesenc_SB_SR_AK Richard Henderson
2023-07-08 17:18 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 26/37] target/arm: Use aesdec_ISB_ISR_AK Richard Henderson
2023-07-08 17:19 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 27/37] target/arm: Use aesenc_MC Richard Henderson
2023-07-08 17:20 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 28/37] target/arm: Use aesdec_IMC Richard Henderson
2023-07-08 17:20 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 29/37] target/riscv: Use aesenc_SB_SR_AK Richard Henderson
2023-07-07 20:38 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 30/37] target/riscv: Use aesdec_ISB_ISR_AK Richard Henderson
2023-07-07 20:32 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 31/37] target/riscv: Use aesdec_IMC Richard Henderson
2023-07-08 17:22 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 32/37] target/riscv: Use aesenc_SB_SR_MC_AK Richard Henderson
2023-07-07 20:26 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 33/37] target/riscv: Use aesdec_ISB_ISR_IMC_AK Richard Henderson
2023-07-08 17:33 ` Philippe Mathieu-Daudé
2023-07-03 10:05 ` [PATCH v4 34/37] crypto: Remove AES_shifts, AES_ishifts Richard Henderson
2023-07-03 10:05 ` [PATCH v4 35/37] crypto: Implement aesdec_IMC with AES_imc_rot Richard Henderson
2023-07-03 10:05 ` [PATCH v4 36/37] crypto: Remove AES_imc Richard Henderson
2023-07-03 10:05 ` [PATCH v4 37/37] crypto: Unexport AES_*_rot, AES_TeN, AES_TdN Richard Henderson
2023-07-07 17:30 ` Daniel Henrique Barboza [this message]
2023-07-08 17:38 ` [PATCH v4 00/37] crypto: Provide aes-round.h and host accel Philippe Mathieu-Daudé
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=9877c1f7-a923-1457-071d-b08d0d816ca2@gmail.com \
--to=danielhb413@gmail.com \
--cc=alistair.francis@wdc.com \
--cc=eduardo@habkost.net \
--cc=pbonzini@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=richard.henderson@linaro.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).