[PATCH 0/9 v3] digest: allow multiple implementation of digest
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Wed Mar 25 04:51:40 PDT 2015
Hi,
The following serie allow you to have multiple driver for
the digest.
This also switch the sha1 implementation to the kernel one and
add the armv4 asm implementtion that save nearly 6KiB in a zbarebox
lzo.
v2:
switch sha256 and sha512 to linux implementation
add arm sha256 asm implementation
v3:
Fix sha256 for armv4 in a better way as discussed on ARM ML
Only register the generic hmac one time per sha algo, as we will
use the best sha algo at runtime
The following changes since commit 52d4a0321405b7525422f04fffbe7f318c9c5a88:
Merge branch 'for-next/state' into next (2015-03-19 07:55:59 +0100)
are available in the git repository at:
git://git.jcrosoft.org/barebox.git delivery/sha1
for you to fetch changes up to 141ffeabaf852f6c11c7aad9c18b1e017578b56a:
arm: crypto: add sha256 assembly support (2015-03-25 19:50:36 +0800)
----------------------------------------------------------------
Jean-Christophe PLAGNIOL-VILLARD (9):
command: digest/hashsum: set key command level
digest: allow algo to specify their length at runtime
crypto: prepare to allow multiple digest driver
crypto: hmac: move register to hmac
crypto: sha1: switch to linux implementation
crypto: sha256: switch to linux implementation
crypto: sha512: switch to linux implementation
arm: crypto: add sha1 assembly support
arm: crypto: add sha256 assembly support
arch/arm/Makefile | 1 +
arch/arm/configs/at91rm9200ek_defconfig | 4 +-
arch/arm/configs/highbank_defconfig | 4 +-
arch/arm/configs/mioa701_defconfig | 2 +-
arch/arm/configs/module-mb7707_defconfig | 4 +-
arch/arm/configs/nhk8815_defconfig | 2 +-
arch/arm/configs/phytec-phycard-omap3_defconfig | 6 +-
arch/arm/configs/rpi_defconfig | 4 +-
arch/arm/configs/versatilepb_arm1176_defconfig | 4 +-
arch/arm/configs/versatilepb_defconfig | 4 +-
arch/arm/configs/vexpress_ca9_defconfig | 4 +-
arch/arm/configs/vexpress_defconfig | 4 +-
arch/arm/configs/virt2real_defconfig | 4 +-
arch/arm/configs/zylonite310_defconfig | 2 +-
arch/arm/crypto/Makefile | 17 +
arch/arm/crypto/sha1-armv4-large.S | 497 +++++++++++++++++++++++++++++
arch/arm/crypto/sha1_glue.c | 137 ++++++++
arch/arm/crypto/sha256-armv4.pl | 717 ++++++++++++++++++++++++++++++++++++++++++
arch/arm/crypto/sha256-core.S_shipped | 2779 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
arch/arm/crypto/sha256_glue.c | 213 +++++++++++++
arch/arm/crypto/sha256_glue.h | 23 ++
arch/mips/configs/img-ci20_defconfig | 6 +-
arch/mips/configs/ritmix-rzx50_defconfig | 6 +-
arch/mips/configs/tplink-mr3020_defconfig | 4 +-
commands/digest.c | 27 +-
commands/hashsum.c | 10 +-
commands/internal.h | 3 +-
crypto/Kconfig | 57 +++-
crypto/Makefile | 14 +-
crypto/digest.c | 32 +-
crypto/hmac.c | 58 +++-
crypto/md5.c | 17 +-
crypto/sha1.c | 539 +++++++++++++++-----------------
crypto/sha2.c | 593 ++++++++++++++++++-----------------
crypto/sha4.c | 495 +++++++++++++----------------
include/asm-generic/barebox.lds.h | 3 +-
{crypto => include/crypto}/internal.h | 10 -
include/crypto/sha.h | 95 ++++++
include/digest.h | 20 +-
include/init.h | 3 +-
40 files changed, 5446 insertions(+), 978 deletions(-)
create mode 100644 arch/arm/crypto/Makefile
create mode 100644 arch/arm/crypto/sha1-armv4-large.S
create mode 100644 arch/arm/crypto/sha1_glue.c
create mode 100644 arch/arm/crypto/sha256-armv4.pl
create mode 100644 arch/arm/crypto/sha256-core.S_shipped
create mode 100644 arch/arm/crypto/sha256_glue.c
create mode 100644 arch/arm/crypto/sha256_glue.h
rename {crypto => include/crypto}/internal.h (53%)
create mode 100644 include/crypto/sha.h
Best Regards,
J.
More information about the barebox
mailing list