linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gilad Ben-Yossef <gilad@benyossef.com>
To: Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Ofir Drang <ofir.drang@arm.com>,
	linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org,
	devel@driverdev.osuosl.org
Subject: [PATCH 0/7] Introduce Arm TrustZone CryptoCell
Date: Thu, 11 Jan 2018 09:17:07 +0000	[thread overview]
Message-ID: <1515662239-1714-1-git-send-email-gilad@benyossef.com> (raw)

Arm TrustZone CryptoCell is a security hardware IP that
includes support for hardware based hash, digest, cipher
and AEAD operations. This driver provides support for
these as part of the Linux Crypto sub-system.

The driver spent some time now in the staging tree being
cleaned up and is now submitted for review for the
purpose of moving into the crypto tree. The first patch
therefore delete it's copy in the staging directory
otherwise there is a build failure due to collisions
with it's other copy there.

Please note that the driver include some stubs for yet
unexposed functionality (ivgen and secure HW keys).

Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>

Gilad Ben-Yossef (7):
  staging: ccree: remove ccree from staging tree
  crypto: ccree: introduce CryptoCell driver
  crypto: ccree: add ablkcipher support
  crypto: ccree: add ahash support
  crypto: ccree: add AEAD support
  crypto: ccree: add FIPS support
  MAINTAINERS: update ccree entry

 MAINTAINERS                                        |    5 +-
 drivers/crypto/Kconfig                             |   27 +
 drivers/crypto/Makefile                            |    1 +
 drivers/crypto/ccree/Makefile                      |    7 +
 .../ccree/ssi_aead.c => crypto/ccree/cc_aead.c}    | 1120 ++++++------
 .../ccree/ssi_aead.h => crypto/ccree/cc_aead.h}    |   56 +-
 .../ccree/cc_buffer_mgr.c}                         | 1085 ++++++------
 drivers/crypto/ccree/cc_buffer_mgr.h               |   74 +
 .../ssi_cipher.c => crypto/ccree/cc_cipher.c}      |  716 +++-----
 drivers/crypto/ccree/cc_cipher.h                   |   74 +
 drivers/{staging => crypto}/ccree/cc_crypto_ctx.h  |   38 +-
 drivers/crypto/ccree/cc_debugfs.c                  |  101 ++
 drivers/crypto/ccree/cc_debugfs.h                  |   32 +
 drivers/crypto/ccree/cc_driver.c                   |  477 +++++
 drivers/crypto/ccree/cc_driver.h                   |  194 +++
 .../ccree/ssi_fips.c => crypto/ccree/cc_fips.c}    |   44 +-
 drivers/crypto/ccree/cc_fips.h                     |   37 +
 .../ccree/ssi_hash.c => crypto/ccree/cc_hash.c}    | 1818 +++++++++-----------
 drivers/crypto/ccree/cc_hash.h                     |  114 ++
 drivers/crypto/ccree/cc_host_regs.h                |  142 ++
 .../{staging => crypto}/ccree/cc_hw_queue_defs.h   |   40 +-
 .../ccree/ssi_ivgen.c => crypto/ccree/cc_ivgen.c}  |  141 +-
 drivers/crypto/ccree/cc_ivgen.h                    |   55 +
 drivers/crypto/ccree/cc_kernel_regs.h              |  167 ++
 drivers/{staging => crypto}/ccree/cc_lli_defs.h    |   19 +-
 drivers/crypto/ccree/cc_pm.c                       |  123 ++
 drivers/crypto/ccree/cc_pm.h                       |   57 +
 drivers/crypto/ccree/cc_request_mgr.c              |  714 ++++++++
 drivers/crypto/ccree/cc_request_mgr.h              |   51 +
 .../ssi_sram_mgr.c => crypto/ccree/cc_sram_mgr.c}  |   70 +-
 drivers/crypto/ccree/cc_sram_mgr.h                 |   65 +
 drivers/staging/Kconfig                            |    2 -
 drivers/staging/Makefile                           |    1 -
 .../devicetree/bindings/crypto/arm-cryptocell.txt  |   27 -
 drivers/staging/ccree/Kconfig                      |   25 -
 drivers/staging/ccree/Makefile                     |    3 -
 drivers/staging/ccree/TODO                         |   30 -
 drivers/staging/ccree/dx_crys_kernel.h             |  180 --
 drivers/staging/ccree/dx_host.h                    |  155 --
 drivers/staging/ccree/dx_reg_common.h              |   26 -
 drivers/staging/ccree/hash_defs.h                  |   36 -
 drivers/staging/ccree/ssi_buffer_mgr.h             |   91 -
 drivers/staging/ccree/ssi_cipher.h                 |   84 -
 drivers/staging/ccree/ssi_config.h                 |   36 -
 drivers/staging/ccree/ssi_driver.c                 |  538 ------
 drivers/staging/ccree/ssi_driver.h                 |  206 ---
 drivers/staging/ccree/ssi_fips.h                   |   49 -
 drivers/staging/ccree/ssi_hash.h                   |  103 --
 drivers/staging/ccree/ssi_ivgen.h                  |   71 -
 drivers/staging/ccree/ssi_pm.c                     |  145 --
 drivers/staging/ccree/ssi_pm.h                     |   43 -
 drivers/staging/ccree/ssi_request_mgr.c            |  610 -------
 drivers/staging/ccree/ssi_request_mgr.h            |   60 -
 drivers/staging/ccree/ssi_sram_mgr.h               |   79 -
 drivers/staging/ccree/ssi_sysfs.c                  |  172 --
 drivers/staging/ccree/ssi_sysfs.h                  |   55 -
 56 files changed, 4706 insertions(+), 5785 deletions(-)
 create mode 100644 drivers/crypto/ccree/Makefile
 rename drivers/{staging/ccree/ssi_aead.c => crypto/ccree/cc_aead.c} (70%)
 rename drivers/{staging/ccree/ssi_aead.h => crypto/ccree/cc_aead.h} (64%)
 rename drivers/{staging/ccree/ssi_buffer_mgr.c => crypto/ccree/cc_buffer_mgr.c} (56%)
 create mode 100644 drivers/crypto/ccree/cc_buffer_mgr.h
 rename drivers/{staging/ccree/ssi_cipher.c => crypto/ccree/cc_cipher.c} (58%)
 create mode 100644 drivers/crypto/ccree/cc_cipher.h
 rename drivers/{staging => crypto}/ccree/cc_crypto_ctx.h (78%)
 create mode 100644 drivers/crypto/ccree/cc_debugfs.c
 create mode 100644 drivers/crypto/ccree/cc_debugfs.h
 create mode 100644 drivers/crypto/ccree/cc_driver.c
 create mode 100644 drivers/crypto/ccree/cc_driver.h
 rename drivers/{staging/ccree/ssi_fips.c => crypto/ccree/cc_fips.c} (61%)
 create mode 100644 drivers/crypto/ccree/cc_fips.h
 rename drivers/{staging/ccree/ssi_hash.c => crypto/ccree/cc_hash.c} (52%)
 create mode 100644 drivers/crypto/ccree/cc_hash.h
 create mode 100644 drivers/crypto/ccree/cc_host_regs.h
 rename drivers/{staging => crypto}/ccree/cc_hw_queue_defs.h (94%)
 rename drivers/{staging/ccree/ssi_ivgen.c => crypto/ccree/cc_ivgen.c} (62%)
 create mode 100644 drivers/crypto/ccree/cc_ivgen.h
 create mode 100644 drivers/crypto/ccree/cc_kernel_regs.h
 rename drivers/{staging => crypto}/ccree/cc_lli_defs.h (69%)
 create mode 100644 drivers/crypto/ccree/cc_pm.c
 create mode 100644 drivers/crypto/ccree/cc_pm.h
 create mode 100644 drivers/crypto/ccree/cc_request_mgr.c
 create mode 100644 drivers/crypto/ccree/cc_request_mgr.h
 rename drivers/{staging/ccree/ssi_sram_mgr.c => crypto/ccree/cc_sram_mgr.c} (50%)
 create mode 100644 drivers/crypto/ccree/cc_sram_mgr.h
 delete mode 100644 drivers/staging/ccree/Documentation/devicetree/bindings/crypto/arm-cryptocell.txt
 delete mode 100644 drivers/staging/ccree/Kconfig
 delete mode 100644 drivers/staging/ccree/Makefile
 delete mode 100644 drivers/staging/ccree/TODO
 delete mode 100644 drivers/staging/ccree/dx_crys_kernel.h
 delete mode 100644 drivers/staging/ccree/dx_host.h
 delete mode 100644 drivers/staging/ccree/dx_reg_common.h
 delete mode 100644 drivers/staging/ccree/hash_defs.h
 delete mode 100644 drivers/staging/ccree/ssi_buffer_mgr.h
 delete mode 100644 drivers/staging/ccree/ssi_cipher.h
 delete mode 100644 drivers/staging/ccree/ssi_config.h
 delete mode 100644 drivers/staging/ccree/ssi_driver.c
 delete mode 100644 drivers/staging/ccree/ssi_driver.h
 delete mode 100644 drivers/staging/ccree/ssi_fips.h
 delete mode 100644 drivers/staging/ccree/ssi_hash.h
 delete mode 100644 drivers/staging/ccree/ssi_ivgen.h
 delete mode 100644 drivers/staging/ccree/ssi_pm.c
 delete mode 100644 drivers/staging/ccree/ssi_pm.h
 delete mode 100644 drivers/staging/ccree/ssi_request_mgr.c
 delete mode 100644 drivers/staging/ccree/ssi_request_mgr.h
 delete mode 100644 drivers/staging/ccree/ssi_sram_mgr.h
 delete mode 100644 drivers/staging/ccree/ssi_sysfs.c
 delete mode 100644 drivers/staging/ccree/ssi_sysfs.h

-- 
2.7.4

             reply	other threads:[~2018-01-11  9:17 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-11  9:17 Gilad Ben-Yossef [this message]
2018-01-11  9:17 ` [PATCH 1/7] staging: ccree: remove ccree from staging tree Gilad Ben-Yossef
2018-01-13 13:21   ` Greg Kroah-Hartman
2018-01-18  8:39     ` Gilad Ben-Yossef
2018-01-18  9:41       ` Greg Kroah-Hartman
2018-01-11  9:17 ` [PATCH 2/7] crypto: ccree: introduce CryptoCell driver Gilad Ben-Yossef
2018-01-11  9:17 ` [PATCH 3/7] crypto: ccree: add ablkcipher support Gilad Ben-Yossef
2018-01-11 10:01   ` Corentin Labbe
2018-01-22  7:07     ` Gilad Ben-Yossef
2018-01-11 10:03   ` Stephan Mueller
2018-01-22  7:08     ` Gilad Ben-Yossef
2018-01-11  9:17 ` [PATCH 4/7] crypto: ccree: add ahash support Gilad Ben-Yossef
2018-01-11  9:17 ` [PATCH 5/7] crypto: ccree: add AEAD support Gilad Ben-Yossef
2018-01-11  9:17 ` [PATCH 6/7] crypto: ccree: add FIPS support Gilad Ben-Yossef
2018-01-11  9:17 ` [PATCH 7/7] MAINTAINERS: update ccree entry Gilad Ben-Yossef

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=1515662239-1714-1-git-send-email-gilad@benyossef.com \
    --to=gilad@benyossef.com \
    --cc=davem@davemloft.net \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ofir.drang@arm.com \
    /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).