• Dave Martin's avatar
    arm64: cpufeature: Fix missing ZFR0 in __read_sysreg_by_encoding() · 78ed70bf
    Dave Martin authored
    In commit 06a916fe ("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: 06a916fe ("arm64: Expose SVE2 features for userspace")
    Signed-off-by: default avatarDave Martin <Dave.Martin@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    78ed70bf
cpufeature.c 69.1 KB