qemu-riscv
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]