Always enable CCI coherency in BL3-1
authorSandrine Bailleux <sandrine.bailleux@arm.com>
Thu, 14 May 2015 13:13:05 +0000 (14:13 +0100)
committerSandrine Bailleux <sandrine.bailleux@arm.com>
Mon, 1 Jun 2015 09:03:32 +0000 (10:03 +0100)
commita66952750526c34c9ab420ea4cf7c2c8f4e6ef5b
tree0140256de7300f1ba03e3ac8b6394be38f783bf5
parentc163ec455b9f7432a8f677b8d35981e6d11b39cb
Always enable CCI coherency in BL3-1

On ARM standard platforms, snoop and DVM requests used to be enabled
for the primary CPU's cluster only in the first EL3 bootloader.
In other words, if the platform reset into BL1 then CCI coherency
would be enabled by BL1 only, and not by BL3-1 again.

However, this doesn't cater for platforms that use BL3-1 along with
a non-TF ROM bootloader that doesn't enable snoop and DVM requests.
In this case, CCI coherency is never enabled.

This patch modifies the function bl31_early_platform_setup() on
ARM standard platforms so that it always enables snoop and DVM
requests regardless of whether earlier bootloader stages have
already done it. There is no harm in executing this code twice.

ARM Trusted Firmware Design document updated accordingly.

Change-Id: Idf1bdeb24d2e1947adfbb76a509f10beef224e1c
docs/firmware-design.md
plat/arm/board/fvp/fvp_bl31_setup.c
plat/arm/common/arm_bl31_setup.c