Fully initialise essential control registers
This patch updates the el3_arch_init_common macro so that it fully
initialises essential control registers rather then relying on hardware
to set the reset values.

The context management functions are also updated to fully initialise
the appropriate control registers when initialising the non-secure and
secure context structures and when preparing to leave EL3 for a lower
EL.

This gives better alignement with the ARM ARM which states that software
must initialise RES0 and RES1 fields with 0 / 1.

This patch also corrects the following typos:

"NASCR definitions" -> "NSACR definitions"

Change-Id: Ia8940b8351dc27bc09e2138b011e249655041cfc
Signed-off-by: David Cunado <david.cunado@arm.com>
1 parent b118723 commit 18f2efd67d881fe0a9a535ce9e801e60d746e024
@David Cunado David Cunado authored on 13 Apr 2017
Showing 13 changed files
View
bl1/aarch32/bl1_entrypoint.S
View
bl1/aarch64/bl1_entrypoint.S
View
bl31/aarch64/bl31_entrypoint.S
View
bl32/sp_min/aarch32/entrypoint.S
View
docs/firmware-design.md
View
include/common/aarch32/el3_common_macros.S
View
include/common/aarch64/el3_common_macros.S
View
include/common/ep_info.h
View
include/lib/aarch32/arch.h
View
include/lib/aarch32/arch_helpers.h
View
include/lib/aarch64/arch.h
View
lib/el3_runtime/aarch32/context_mgmt.c
View
lib/el3_runtime/aarch64/context_mgmt.c