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
aoe
drbd
mtip32xx
paride
rsxx
xen-blkback
zram
Kconfig -rw-r--r-- 16.2 KB
Makefile -rw-r--r-- 1.4 KB
amiflop.c -rw-r--r-- 49.9 KB
ataflop.c -rw-r--r-- 54.5 KB
brd.c -rw-r--r-- 12.8 KB
cryptoloop.c -rw-r--r-- 4.9 KB
floppy.c -rw-r--r-- 126.5 KB
loop.c -rw-r--r-- 55.2 KB
loop.h -rw-r--r-- 2.3 KB
nbd.c -rw-r--r-- 56.2 KB
null_blk.h -rw-r--r-- 3.5 KB
null_blk_main.c -rw-r--r-- 43.2 KB
null_blk_zoned.c -rw-r--r-- 3.3 KB
pktcdvd.c -rw-r--r-- 72.5 KB
ps3disk.c -rw-r--r-- 14.2 KB
ps3vram.c -rw-r--r-- 22.0 KB
rbd.c -rw-r--r-- 160.1 KB
rbd_types.h -rw-r--r-- 2.2 KB
skd_main.c -rw-r--r-- 93.2 KB
skd_s1120.h -rw-r--r-- 9.4 KB
sunvdc.c -rw-r--r-- 28.6 KB
swim.c -rw-r--r-- 20.4 KB
swim3.c -rw-r--r-- 31.4 KB
swim_asm.S -rw-r--r-- 4.6 KB
sx8.c -rw-r--r-- 37.2 KB
umem.c -rw-r--r-- 29.9 KB
umem.h -rw-r--r-- 3.6 KB
virtio_blk.c -rw-r--r-- 26.9 KB
xen-blkfront.c -rw-r--r-- 73.6 KB
xsysace.c -rw-r--r-- 33.4 KB
z2ram.c -rw-r--r-- 9.5 KB

back to top