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
Kconfig -rw-r--r-- 4.4 KB
Makefile -rw-r--r-- 1.9 KB
TODO -rw-r--r-- 3.2 KB
acpi_pcihp.c -rw-r--r-- 5.7 KB
acpiphp.h -rw-r--r-- 4.7 KB
acpiphp_core.c -rw-r--r-- 8.3 KB
acpiphp_glue.c -rw-r--r-- 26.0 KB
acpiphp_ibm.c -rw-r--r-- 13.7 KB
cpci_hotplug.h -rw-r--r-- 2.6 KB
cpci_hotplug_core.c -rw-r--r-- 14.3 KB
cpci_hotplug_pci.c -rw-r--r-- 6.3 KB
cpcihp_generic.c -rw-r--r-- 5.2 KB
cpcihp_zt5550.c -rw-r--r-- 7.3 KB
cpcihp_zt5550.h -rw-r--r-- 1.6 KB
cpqphp.h -rw-r--r-- 20.8 KB
cpqphp_core.c -rw-r--r-- 33.7 KB
cpqphp_ctrl.c -rw-r--r-- 73.5 KB
cpqphp_nvram.c -rw-r--r-- 12.8 KB
cpqphp_nvram.h -rw-r--r-- 812 bytes
cpqphp_pci.c -rw-r--r-- 38.3 KB
cpqphp_sysfs.c -rw-r--r-- 4.8 KB
ibmphp.h -rw-r--r-- 23.1 KB
ibmphp_core.c -rw-r--r-- 32.5 KB
ibmphp_ebda.c -rw-r--r-- 31.7 KB
ibmphp_hpc.c -rw-r--r-- 31.3 KB
ibmphp_pci.c -rw-r--r-- 54.3 KB
ibmphp_res.c -rw-r--r-- 56.4 KB
pci_hotplug_core.c -rw-r--r-- 14.2 KB
pciehp.h -rw-r--r-- 8.4 KB
pciehp_core.c -rw-r--r-- 8.9 KB
pciehp_ctrl.c -rw-r--r-- 10.1 KB
pciehp_hpc.c -rw-r--r-- 25.1 KB
pciehp_pci.c -rw-r--r-- 3.3 KB
pnv_php.c -rw-r--r-- 22.9 KB
rpadlpar.h -rw-r--r-- 420 bytes
rpadlpar_core.c -rw-r--r-- 9.8 KB
rpadlpar_sysfs.c -rw-r--r-- 2.5 KB
rpaphp.h -rw-r--r-- 2.4 KB
rpaphp_core.c -rw-r--r-- 11.3 KB
rpaphp_pci.c -rw-r--r-- 2.7 KB
rpaphp_slot.c -rw-r--r-- 2.6 KB
s390_pci_hpc.c -rw-r--r-- 3.7 KB
sgi_hotplug.c -rw-r--r-- 17.4 KB
shpchp.h -rw-r--r-- 10.0 KB
shpchp_core.c -rw-r--r-- 8.5 KB
shpchp_ctrl.c -rw-r--r-- 17.5 KB
shpchp_hpc.c -rw-r--r-- 27.4 KB
shpchp_pci.c -rw-r--r-- 2.0 KB
shpchp_sysfs.c -rw-r--r-- 2.4 KB

back to top