• M
    arm64: fix erroneous __raw_read_system_reg() cases · 7d0928f1
    Mark Rutland 提交于
    Since it was introduced in commit da8d02d1 ("arm64/capabilities:
    Make use of system wide safe value"), __raw_read_system_reg() has
    erroneously mapped some sysreg IDs to other registers.
    
    For the fields in ID_ISAR5_EL1, our local feature detection will be
    erroneous. We may spuriously detect that a feature is uniformly
    supported, or may fail to detect when it actually is, meaning some
    compat hwcaps may be erroneous (or not enforced upon hotplug).
    
    This patch corrects the erroneous entries.
    Signed-off-by: NMark Rutland <mark.rutland@arm.com>
    Fixes: da8d02d1 ("arm64/capabilities: Make use of system wide safe value")
    Reported-by: NCatalin Marinas <catalin.marinas@arm.com>
    Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: NWill Deacon <will.deacon@arm.com>
    7d0928f1
cpufeature.c 39.9 KB