summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm
diff options
context:
space:
mode:
authorDave Martin <Dave.Martin@arm.com>2018-09-28 14:39:10 +0100
committerMarc Zyngier <marc.zyngier@arm.com>2019-03-29 14:41:52 +0000
commitd06b76be8dad2e2fa62f68264887cc295d67a3ef (patch)
tree38203fa633b3e90e6d6e0c95eb766520fb5b30f3 /arch/arm64/include/asm
parent8b08e8401fb49fe1274a91bb5fa981c2f819589c (diff)
downloadlinux-stable-d06b76be8dad2e2fa62f68264887cc295d67a3ef.tar.gz
linux-stable-d06b76be8dad2e2fa62f68264887cc295d67a3ef.tar.bz2
linux-stable-d06b76be8dad2e2fa62f68264887cc295d67a3ef.zip
arm64/sve: Check SVE virtualisability
Due to the way the effective SVE vector length is controlled and trapped at different exception levels, certain mismatches in the sets of vector lengths supported by different physical CPUs in the system may prevent straightforward virtualisation of SVE at parity with the host. This patch analyses the extent to which SVE can be virtualised safely without interfering with migration of vcpus between physical CPUs, and rejects late secondary CPUs that would erode the situation further. It is left up to KVM to decide what to do with this information. Signed-off-by: Dave Martin <Dave.Martin@arm.com> Reviewed-by: Julien Thierry <julien.thierry@arm.com> Tested-by: zhang.lei <zhang.lei@jp.fujitsu.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm64/include/asm')
-rw-r--r--arch/arm64/include/asm/fpsimd.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/fpsimd.h b/arch/arm64/include/asm/fpsimd.h
index dd1ad3950ef5..964adc9f312d 100644
--- a/arch/arm64/include/asm/fpsimd.h
+++ b/arch/arm64/include/asm/fpsimd.h
@@ -87,6 +87,7 @@ extern void sve_kernel_enable(const struct arm64_cpu_capabilities *__unused);
extern u64 read_zcr_features(void);
extern int __ro_after_init sve_max_vl;
+extern int __ro_after_init sve_max_virtualisable_vl;
#ifdef CONFIG_ARM64_SVE