]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
arm64: cpufeature: Fix missing ZFR0 in __read_sysreg_by_encoding()
authorDave Martin <Dave.Martin@arm.com>
Mon, 3 Jun 2019 15:35:02 +0000 (16:35 +0100)
committerWill Deacon <will.deacon@arm.com>
Wed, 5 Jun 2019 12:05:28 +0000 (13:05 +0100)
commit78ed70bf3a923f1965e3c19f544677d418397108
treeeea8210beec14f5d0c85f793af4fea631ff4d74d
parent1e29ab3186e33c77dbb2d7566172a205b59fa390
arm64: cpufeature: Fix missing ZFR0 in __read_sysreg_by_encoding()

In commit 06a916feca2b ("arm64: Expose SVE2 features for
userspace"), new hwcaps are added that are detected via fields in
the SVE-specific ID register ID_AA64ZFR0_EL1.

In order to check compatibility of secondary cpus with the hwcaps
established at boot, the cpufeatures code uses
__read_sysreg_by_encoding() to read this ID register based on the
sys_reg field of the arm64_elf_hwcaps[] table.

This leads to a kernel splat if an hwcap uses an ID register that
__read_sysreg_by_encoding() doesn't explicitly handle, as now
happens when exercising cpu hotplug on an SVE2-capable platform.

So fix it by adding the required case in there.

Fixes: 06a916feca2b ("arm64: Expose SVE2 features for userspace")
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/cpufeature.c