diff options
author | Mark Rutland <mark.rutland@arm.com> | 2019-03-15 13:22:36 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2019-03-19 15:54:24 +0100 |
commit | 3dbcea54b3ff706c58f8e8d4470f5e5d3d24a6a0 (patch) | |
tree | 9590905f6647bad08f3a262b3ed8300d8b927184 /arch/arm64/kernel/stacktrace.c | |
parent | arm64: kprobes: Use arch_populate_kprobe_blacklist() (diff) | |
download | linux-3dbcea54b3ff706c58f8e8d4470f5e5d3d24a6a0.tar.xz linux-3dbcea54b3ff706c58f8e8d4470f5e5d3d24a6a0.zip |
arm64: apply workaround on A64FX v1r0
Fujitsu erratum 010001 applies to A64FX v0r0 and v1r0, and we try to
handle either by masking MIDR with MIDR_FUJITSU_ERRATUM_010001_MASK
before comparing it to MIDR_FUJITSU_ERRATUM_010001.
Unfortunately, MIDR_FUJITSU_ERRATUM_010001 is constructed incorrectly
using MIDR_VARIANT(), which is intended to extract the variant field
from MIDR_EL1, rather than generate the field in-place. This results in
MIDR_FUJITSU_ERRATUM_010001 being all-ones, and we only match A64FX
v0r0.
This patch uses MIDR_CPU_VAR_REV() to generate an in-place mask for the
variant field, ensuring the we match both v0r0 and v1r0.
Fixes: 3e32131abc311a5c ("arm64: Add workaround for Fujitsu A64FX erratum 010001")
Reported-by: "Okamoto, Takayuki" <tokamoto@jp.fujitsu.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
[catalin.marinas@arm.com: fixed the patch author]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/kernel/stacktrace.c')
0 files changed, 0 insertions, 0 deletions