[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 00/37] crypto: Provide aes-round.h and host accel
From: |
Daniel Henrique Barboza |
Subject: |
Re: [PATCH v4 00/37] crypto: Provide aes-round.h and host accel |
Date: |
Fri, 7 Jul 2023 14:30:47 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 |
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
- [PATCH v4 27/37] target/arm: Use aesenc_MC, (continued)
- [PATCH v4 27/37] target/arm: Use aesenc_MC, Richard Henderson, 2023/07/03
- [PATCH v4 30/37] target/riscv: Use aesdec_ISB_ISR_AK, Richard Henderson, 2023/07/03
- [PATCH v4 33/37] target/riscv: Use aesdec_ISB_ISR_IMC_AK, Richard Henderson, 2023/07/03
- [PATCH v4 37/37] crypto: Unexport AES_*_rot, AES_TeN, AES_TdN, Richard Henderson, 2023/07/03
- [PATCH v4 35/37] crypto: Implement aesdec_IMC with AES_imc_rot, Richard Henderson, 2023/07/03
- [PATCH v4 34/37] crypto: Remove AES_shifts, AES_ishifts, Richard Henderson, 2023/07/03
- [PATCH v4 36/37] crypto: Remove AES_imc, Richard Henderson, 2023/07/03
- Re: [PATCH v4 00/37] crypto: Provide aes-round.h and host accel,
Daniel Henrique Barboza <=
- Re: [PATCH v4 00/37] crypto: Provide aes-round.h and host accel, Philippe Mathieu-Daudé, 2023/07/08