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
bcache
persistent-data
Kconfig -rw-r--r-- 18.2 KB
Makefile -rw-r--r-- 2.9 KB
dm-bio-prison-v1.c -rw-r--r-- 10.2 KB
dm-bio-prison-v1.h -rw-r--r-- 4.5 KB
dm-bio-prison-v2.c -rw-r--r-- 8.2 KB
dm-bio-prison-v2.h -rw-r--r-- 4.5 KB
dm-bio-record.h -rw-r--r-- 1012 bytes
dm-bufio.c -rw-r--r-- 47.9 KB
dm-builtin.c -rw-r--r-- 2.1 KB
dm-cache-background-tracker.c -rw-r--r-- 5.0 KB
dm-cache-background-tracker.h -rw-r--r-- 1.3 KB
dm-cache-block-types.h -rw-r--r-- 1.1 KB
dm-cache-metadata.c -rw-r--r-- 42.0 KB
dm-cache-metadata.h -rw-r--r-- 5.2 KB
dm-cache-policy-internal.h -rw-r--r-- 4.4 KB
dm-cache-policy-smq.c -rw-r--r-- 43.9 KB
dm-cache-policy.c -rw-r--r-- 3.6 KB
dm-cache-policy.h -rw-r--r-- 5.2 KB
dm-cache-target.c -rw-r--r-- 85.2 KB
dm-core.h -rw-r--r-- 2.9 KB
dm-crypt.c -rw-r--r-- 79.3 KB
dm-delay.c -rw-r--r-- 8.3 KB
dm-era-target.c -rw-r--r-- 38.0 KB
dm-exception-store.c -rw-r--r-- 6.4 KB
dm-exception-store.h -rw-r--r-- 5.7 KB
dm-flakey.c -rw-r--r-- 12.1 KB
dm-init.c -rw-r--r-- 7.4 KB
dm-integrity.c -rw-r--r-- 102.0 KB
dm-io.c -rw-r--r-- 13.9 KB
dm-ioctl.c -rw-r--r-- 46.9 KB
dm-kcopyd.c -rw-r--r-- 20.8 KB
dm-linear.c -rw-r--r-- 5.9 KB
dm-log-userspace-base.c -rw-r--r-- 21.9 KB
dm-log-userspace-transfer.c -rw-r--r-- 7.1 KB
dm-log-userspace-transfer.h -rw-r--r-- 467 bytes
dm-log-writes.c -rw-r--r-- 25.7 KB
dm-log.c -rw-r--r-- 20.0 KB
dm-mpath.c -rw-r--r-- 50.3 KB
dm-mpath.h -rw-r--r-- 415 bytes
dm-path-selector.c -rw-r--r-- 2.4 KB
dm-path-selector.h -rw-r--r-- 2.3 KB
dm-queue-length.c -rw-r--r-- 5.9 KB
dm-raid.c -rw-r--r-- 116.2 KB
dm-raid1.c -rw-r--r-- 35.1 KB
dm-region-hash.c -rw-r--r-- 18.1 KB
dm-round-robin.c -rw-r--r-- 5.0 KB
dm-rq.c -rw-r--r-- 15.1 KB
dm-rq.h -rw-r--r-- 1.2 KB
dm-service-time.c -rw-r--r-- 8.8 KB
dm-snap-persistent.c -rw-r--r-- 22.6 KB
dm-snap-transient.c -rw-r--r-- 3.7 KB
dm-snap.c -rw-r--r-- 58.2 KB
dm-stats.c -rw-r--r-- 29.2 KB
dm-stats.h -rw-r--r-- 988 bytes
dm-stripe.c -rw-r--r-- 12.1 KB
dm-switch.c -rw-r--r-- 15.3 KB
dm-sysfs.c -rw-r--r-- 3.1 KB
dm-table.c -rw-r--r-- 49.1 KB
dm-target.c -rw-r--r-- 3.1 KB
dm-thin-metadata.c -rw-r--r-- 45.3 KB
dm-thin-metadata.h -rw-r--r-- 6.8 KB
dm-thin.c -rw-r--r-- 112.3 KB
dm-uevent.c -rw-r--r-- 5.3 KB
dm-uevent.h -rw-r--r-- 1.6 KB
dm-unstripe.c -rw-r--r-- 4.6 KB
dm-verity-fec.c -rw-r--r-- 20.5 KB
dm-verity-fec.h -rw-r--r-- 4.4 KB
dm-verity-target.c -rw-r--r-- 28.8 KB
dm-verity.h -rw-r--r-- 3.6 KB
dm-writecache.c -rw-r--r-- 56.5 KB
dm-zero.c -rw-r--r-- 1.6 KB
dm-zoned-metadata.c -rw-r--r-- 58.9 KB
dm-zoned-reclaim.c -rw-r--r-- 12.9 KB
dm-zoned-target.c -rw-r--r-- 21.9 KB
dm-zoned.h -rw-r--r-- 6.7 KB
dm.c -rw-r--r-- 73.8 KB
dm.h -rw-r--r-- 6.5 KB
md-bitmap.c -rw-r--r-- 69.3 KB
md-bitmap.h -rw-r--r-- 10.0 KB
md-cluster.c -rw-r--r-- 44.1 KB
md-cluster.h -rw-r--r-- 1.4 KB
md-faulty.c -rw-r--r-- 9.0 KB
md-linear.c -rw-r--r-- 9.0 KB
md-linear.h -rw-r--r-- 304 bytes
md-multipath.c -rw-r--r-- 13.0 KB
md-multipath.h -rw-r--r-- 649 bytes
md.c -rw-r--r-- 247.3 KB
md.h -rw-r--r-- 26.0 KB
raid0.c -rw-r--r-- 21.3 KB
raid0.h -rw-r--r-- 451 bytes
raid1-10.c -rw-r--r-- 1.8 KB
raid1.c -rw-r--r-- 91.6 KB
raid1.h -rw-r--r-- 6.3 KB
raid10.c -rw-r--r-- 136.9 KB
raid10.h -rw-r--r-- 5.0 KB
raid5-cache.c -rw-r--r-- 87.9 KB
raid5-log.h -rw-r--r-- 4.7 KB
raid5-ppl.c -rw-r--r-- 42.8 KB
raid5.c -rw-r--r-- 239.4 KB
raid5.h -rw-r--r-- 27.9 KB

back to top