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
hvc
ipwireless
serdev
serial
vt
Kconfig -rw-r--r-- 17.2 KB
Makefile -rw-r--r-- 1.2 KB
amiserial.c -rw-r--r-- 43.8 KB
cyclades.c -rw-r--r-- 108.9 KB
ehv_bytechan.c -rw-r--r-- 21.4 KB
goldfish.c -rw-r--r-- 11.9 KB
isicom.c -rw-r--r-- 40.5 KB
mips_ejtag_fdc.c -rw-r--r-- 35.2 KB
moxa.c -rw-r--r-- 52.1 KB
moxa.h -rw-r--r-- 8.5 KB
mxser.c -rw-r--r-- 70.1 KB
mxser.h -rw-r--r-- 4.5 KB
n_gsm.c -rw-r--r-- 78.5 KB
n_hdlc.c -rw-r--r-- 27.2 KB
n_null.c -rw-r--r-- 1.3 KB
n_r3964.c -rw-r--r-- 31.2 KB
n_tracerouter.c -rw-r--r-- 6.6 KB
n_tracesink.c -rw-r--r-- 6.6 KB
n_tracesink.h -rw-r--r-- 850 bytes
n_tty.c -rw-r--r-- 61.6 KB
nozomi.c -rw-r--r-- 46.6 KB
pty.c -rw-r--r-- 24.5 KB
rocket.c -rw-r--r-- 91.7 KB
rocket.h -rw-r--r-- 3.8 KB
rocket_int.h -rw-r--r-- 41.6 KB
synclink.c -rw-r--r-- 227.1 KB
synclink_gt.c -rw-r--r-- 130.9 KB
synclinkmp.c -rw-r--r-- 146.1 KB
sysrq.c -rw-r--r-- 26.2 KB
tty_audit.c -rw-r--r-- 5.6 KB
tty_baudrate.c -rw-r--r-- 6.6 KB
tty_buffer.c -rw-r--r-- 16.2 KB
tty_io.c -rw-r--r-- 85.5 KB
tty_ioctl.c -rw-r--r-- 23.7 KB
tty_jobctrl.c -rw-r--r-- 14.0 KB
tty_ldisc.c -rw-r--r-- 21.1 KB
tty_ldsem.c -rw-r--r-- 10.4 KB
tty_mutex.c -rw-r--r-- 1.1 KB
tty_port.c -rw-r--r-- 18.1 KB
vcc.c -rw-r--r-- 23.2 KB

back to top