[PATCH 0/7] ARM64: crypto: add Crypto Extensions accelerated SHA implementation

Sascha Hauer sha at pengutronix.de
Wed May 24 23:48:05 PDT 2023


On Mon, May 22, 2023 at 07:30:37AM +0200, Ahmad Fatoum wrote:
> This shaves 400ms of a FIT image boot that uses sha256 as digest for
> the images referenced by the selected configuration:
> 
>   barebox at imx8mn-old:/ time bootm -d kernel-a
>   Dryrun. Aborted.
>   time: 998ms
> 
>   barebox at imx8mn-new:/ time bootm -d kernel-a
>   Dryrun. Aborted.
>   time: 601ms
> 
> We also use SHA256 to verify barebox proper when in high assurance boot,
> but that still uses the software implementation.
> 
> Ahmad Fatoum (7):
>   crypto: digest: match driver name if no algo name matches
>   test: self: add digest test
>   include: sync <linux/linkage.h> with Linux
>   ARM: asm: implement CPU_BE/CPU_LE
>   ARM: asm: import Linux adr_l/ldr_l assembler.h definitions
>   crypto: sha: reorder struct sha*_state into Linux order
>   ARM64: crypto: add Crypto Extensions accelerated SHA implementation

Applied, thanks

Sascha

> 
>  arch/arm/Makefile                |   3 +-
>  arch/arm/crypto/Makefile         |   6 +
>  arch/arm/crypto/sha1-ce-core.S   | 149 ++++++++++++++
>  arch/arm/crypto/sha1-ce-glue.c   |  93 +++++++++
>  arch/arm/crypto/sha2-ce-core.S   | 156 +++++++++++++++
>  arch/arm/crypto/sha2-ce-glue.c   | 121 ++++++++++++
>  arch/arm/include/asm/assembler.h | 230 ++++++++++++++++++++++
>  arch/arm/include/asm/neon.h      |   8 +
>  commands/digest.c                |   2 +-
>  common/Kconfig                   |   6 +
>  crypto/Kconfig                   |  21 ++
>  crypto/digest.c                  |  11 +-
>  include/crypto/sha.h             |  10 +-
>  include/crypto/sha1_base.h       | 104 ++++++++++
>  include/crypto/sha256_base.h     | 129 +++++++++++++
>  include/linux/barebox-wrapper.h  |   1 +
>  include/linux/linkage.h          | 321 ++++++++++++++++++++++++++++---
>  include/linux/string.h           |  20 ++
>  test/self/Kconfig                |   6 +
>  test/self/Makefile               |   1 +
>  test/self/digest.c               | 194 +++++++++++++++++++
>  21 files changed, 1553 insertions(+), 39 deletions(-)
>  create mode 100644 arch/arm/crypto/sha1-ce-core.S
>  create mode 100644 arch/arm/crypto/sha1-ce-glue.c
>  create mode 100644 arch/arm/crypto/sha2-ce-core.S
>  create mode 100644 arch/arm/crypto/sha2-ce-glue.c
>  create mode 100644 arch/arm/include/asm/neon.h
>  create mode 100644 include/crypto/sha1_base.h
>  create mode 100644 include/crypto/sha256_base.h
>  create mode 100644 test/self/digest.c
> 
> -- 
> 2.39.2
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list