]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arm64/sve: Remove SMCR pseudo register from cpufeature code
authorMark Brown <broonie@kernel.org>
Wed, 13 Sep 2023 14:48:13 +0000 (15:48 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 25 Sep 2023 15:14:49 +0000 (16:14 +0100)
commit391208485c3ad50ff4f2ddd9f7d4a1d77341acbb
treeb7a6defc157df0c9dbff01df060b28debc3d45f7
parentabef0695f9665c3dbe9473f964c4da3c1f7c5d3f
arm64/sve: Remove SMCR pseudo register from cpufeature code

For reasons that are not currently apparent during cpufeature enumeration
we maintain a pseudo register for SMCR which records the maximum supported
vector length using the value that would be written to SMCR_EL1.LEN to
configure it. This is not exposed to userspace and is not sufficient for
detecting unsupportable configurations, we need the more detailed checks in
vec_update_vq_map() for that since we can't cope with missing vector
lengths on late CPUs and KVM requires an exactly matching set of supported
vector lengths as EL1 can enumerate VLs directly with the hardware.

Remove the code, replacing the usage in sme_setup() with a query of the
vq_map.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230913-arm64-vec-len-cpufeature-v1-2-cc69b0600a8a@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/cpu.h
arch/arm64/kernel/cpufeature.c
arch/arm64/kernel/fpsimd.c