arm64/sve: Low-level CPU setup
authorDave Martin <Dave.Martin@arm.com>
Tue, 31 Oct 2017 15:51:04 +0000 (15:51 +0000)
committerWill Deacon <will.deacon@arm.com>
Fri, 3 Nov 2017 15:24:15 +0000 (15:24 +0000)
commit22043a3c082a584434a8c0d8b5e04cb6da985296
treea7d1246c90f1e9e3ccaf039a4e573137dd9e4ca8
parentd0b8cd3187889476144bd9b13bf36a932c3e7952
arm64/sve: Low-level CPU setup

To enable the kernel to use SVE, SVE traps from EL1 to EL2 must be
disabled.  To take maximum advantage of the hardware, the full
available vector length also needs to be enabled for EL1 by
programming ZCR_EL2.LEN.  (The kernel will program ZCR_EL1.LEN as
required, but this cannot override the limit set by ZCR_EL2.)

This patch makes the appropriate changes to the EL2 early setup
code.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/head.S