]> git.baikalelectronics.ru Git - arm-tf.git/commit
Unify SCTLR initialization for AArch32 normal world
authorSoby Mathew <soby.mathew@arm.com>
Thu, 29 Sep 2016 13:15:57 +0000 (14:15 +0100)
committerSoby Mathew <soby.mathew@arm.com>
Fri, 14 Oct 2016 08:53:22 +0000 (09:53 +0100)
commitb7b0787da84a79733e1ed90a1c15d588c77869e8
tree9440ea2cb83d4f192e5116f4b65997dce99c7134
parentb314c9fa88271a5b88cdbcbfd6319405e0a4e30e
Unify SCTLR initialization for AArch32 normal world

The values of CP15BEN, nTWI & nTWE bits in SCTLR_EL1 are architecturally
unknown if EL3 is AARCH64 whereas they reset to 1 if EL3 is AArch32. This
might be a compatibility break for legacy AArch32 normal world software if
these bits are not set to 1 when EL3 is AArch64. This patch enables the
CP15BEN, nTWI and nTWE bits in the SCTLR_EL1 if the lower non-secure EL is
AArch32. This unifies the SCTLR settings for lower non-secure EL in AArch32
mode for both AArch64 and AArch32 builds of Trusted Firmware.

Fixes ARM-software/tf-issues#428

Change-Id: I3152d1580e4869c0ea745c5bd9da765f9c254947
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
include/lib/aarch32/arch.h
include/lib/aarch64/arch.h
lib/el3_runtime/aarch32/context_mgmt.c
lib/el3_runtime/aarch64/context_mgmt.c