Revision 3dbcea54b3ff706c58f8e8d4470f5e5d3d24a6a0 authored by Mark Rutland on 15 March 2019, 12:22:36 UTC, committed by Catalin Marinas on 19 March 2019, 14:54:24 UTC
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>
1 parent 6a019a9
History
File Mode Size
iscsi
loopback
sbp
tcm_fc
Kconfig -rw-r--r-- 1.4 KB
Makefile -rw-r--r-- 939 bytes
target_core_alua.c -rw-r--r-- 60.5 KB
target_core_alua.h -rw-r--r-- 6.0 KB
target_core_configfs.c -rw-r--r-- 92.2 KB
target_core_device.c -rw-r--r-- 31.9 KB
target_core_fabric_configfs.c -rw-r--r-- 27.7 KB
target_core_fabric_lib.c -rw-r--r-- 11.7 KB
target_core_file.c -rw-r--r-- 25.0 KB
target_core_file.h -rw-r--r-- 1.2 KB
target_core_hba.c -rw-r--r-- 4.7 KB
target_core_iblock.c -rw-r--r-- 22.0 KB
target_core_iblock.h -rw-r--r-- 623 bytes
target_core_internal.h -rw-r--r-- 6.7 KB
target_core_pr.c -rw-r--r-- 122.7 KB
target_core_pr.h -rw-r--r-- 2.4 KB
target_core_pscsi.c -rw-r--r-- 28.1 KB
target_core_pscsi.h -rw-r--r-- 1.3 KB
target_core_rd.c -rw-r--r-- 16.4 KB
target_core_rd.h -rw-r--r-- 1.5 KB
target_core_sbc.c -rw-r--r-- 37.9 KB
target_core_spc.c -rw-r--r-- 38.8 KB
target_core_stat.c -rw-r--r-- 37.1 KB
target_core_tmr.c -rw-r--r-- 12.0 KB
target_core_tpg.c -rw-r--r-- 18.0 KB
target_core_transport.c -rw-r--r-- 92.0 KB
target_core_ua.c -rw-r--r-- 8.9 KB
target_core_ua.h -rw-r--r-- 1.7 KB
target_core_user.c -rw-r--r-- 69.1 KB
target_core_xcopy.c -rw-r--r-- 30.4 KB
target_core_xcopy.h -rw-r--r-- 1.9 KB

back to top