]> git.baikalelectronics.ru Git - arm-tf.git/commit
Add compile-time errors for HW_ASSISTED_COHERENCY flag
authorJohn Tsichritzis <john.tsichritzis@arm.com>
Tue, 19 Mar 2019 17:20:52 +0000 (17:20 +0000)
committerJohn Tsichritzis <john.tsichritzis@arm.com>
Fri, 3 May 2019 13:23:55 +0000 (14:23 +0100)
commit076b5f02e2747ef1b5a55f1c5d368df16f046b1c
tree05101ba7422f28e7d8a9826300ad0a20b04086cc
parent9a25f98261c134e3af4c1610c4afc74b01201fa2
Add compile-time errors for HW_ASSISTED_COHERENCY flag

This patch fixes this issue:
https://github.com/ARM-software/tf-issues/issues/660

The introduced changes are the following:

1) Some cores implement cache coherency maintenance operation on the
hardware level. For those cores, such as - but not only - the DynamIQ
cores, it is mandatory that TF-A is compiled with the
HW_ASSISTED_COHERENCY flag. If not, the core behaviour at runtime is
unpredictable. To prevent this, compile time checks have been added and
compilation errors are generated, if needed.

2) To enable this change for FVP, a logical separation has been done for
the core libraries. A system cannot contain cores of both groups, i.e.
cores that manage coherency on hardware and cores that don't do it. As
such, depending on the HW_ASSISTED_COHERENCY flag, FVP includes the
libraries only of the relevant cores.

3) The neoverse_e1.S file has been added to the FVP sources.

Change-Id: I787d15819b2add4ec0d238249e04bf0497dc12f3
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
docs/user-guide.rst
lib/cpus/aarch64/cortex_a55.S
lib/cpus/aarch64/cortex_a75.S
lib/cpus/aarch64/cortex_a76.S
lib/cpus/aarch64/cortex_a76ae.S
lib/cpus/aarch64/cortex_deimos.S
lib/cpus/aarch64/neoverse_e1.S
lib/cpus/aarch64/neoverse_n1.S
lib/cpus/aarch64/neoverse_zeus.S
plat/arm/board/fvp/platform.mk