ARM plat changes to enable CryptoCell integration
authorSoby Mathew <soby.mathew@arm.com>
Wed, 10 May 2017 10:50:30 +0000 (11:50 +0100)
committerSoby Mathew <soby.mathew@arm.com>
Wed, 28 Jun 2017 14:58:06 +0000 (15:58 +0100)
commite60f2af9499e33583e920e72b463b58bce0c31ee
treeed2db6480d8a4e78f504d22b2df9744859165511
parent4eb20d99c589c809be23c91b76bedd04a9ec66f5
ARM plat changes to enable CryptoCell integration

This patch makes the necessary changes to enable ARM platform to
successfully integrate CryptoCell during Trusted Board Boot. The
changes are as follows:

* A new build option `ARM_CRYPTOCELL_INTEG` is introduced to select
  the CryptoCell crypto driver for Trusted Board boot.

* The TrustZone filter settings for Non Secure DRAM is modified
  to allow CryptoCell to read this memory. This is required to
  authenticate BL33 which is loaded into the Non Secure DDR.

* The CSS platforms are modified to use coherent stacks in BL1 and BL2
  when CryptoCell crypto is selected. This is because CryptoCell makes
  use of DMA to transfer data and the CryptoCell SBROM library allocates
  buffers on the stack during signature/hash verification.

Change-Id: I1e6f6dcd1899784f1edeabfa2a9f279bbfb90e31
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
docs/porting-guide.md
docs/user-guide.md
include/plat/arm/common/arm_def.h
plat/arm/board/juno/include/platform_def.h
plat/arm/common/aarch64/arm_helpers.S
plat/arm/common/arm_common.mk
plat/arm/common/arm_tzc400.c
plat/arm/common/arm_tzc_dmc500.c