arm64: Fix EL1/EL2 early init inconsistencies with VHE
authorDave Martin <Dave.Martin@arm.com>
Mon, 18 Apr 2016 17:57:26 +0000 (18:57 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 21 Apr 2016 17:34:23 +0000 (18:34 +0100)
commit882416c1e4d1c9d4c7b50e0f5c3fa9ef043cd710
treeeafa9c29e8e048e29a1a0240c023452088e5a738
parentcbcc72e037b8a3eb1fad3c1ae22021df21c97a51
arm64: Fix EL1/EL2 early init inconsistencies with VHE

When using the Virtualisation Host Extensions, EL1 is not used in
the host and requires no separate configuration.

In addition, with VHE enabled, non-hyp-specific EL2 configuration
that does not need to be done early will be done anyway in
__cpu_setup via the _EL1 system register aliases.  In particular,
the layout and definition of CPTR_EL2 are changed by enabling VHE
so that they resemble CPACR_EL1, so existing code to initialise
CPTR_EL2 becomes architecturally wrong in this case.

This patch simply skips the affected initialisation code in the
non-VHE case.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/head.S