]> git.baikalelectronics.ru Git - kernel.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)
commit756221dbbf858ecafb9b27b123cb0fd101c8799d
treeeea8210beec14f5d0c85f793af4fea631ff4d74d
parent7d19437bde7d82f0ab78a9965de48bd426cdd210
arm64: cpufeature: Fix missing ZFR0 in __read_sysreg_by_encoding()

In commit a08d6b8bda0d ("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: a08d6b8bda0d ("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