Skip to content

Commit ebcea69

Browse files
geertuwilldeacon
authored andcommitted
arm64: Sort vendor-specific errata
Sort configuration options for vendor-specific errata by vendor, to increase uniformity. Move ARM64_WORKAROUND_REPEAT_TLBI up, as it is also selected by ARM64_ERRATUM_1286807. Acked-by: Mark Rutland <[email protected]> Acked-by: Arnd Bergmann <[email protected] Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Will Deacon <[email protected]>
1 parent 6a8b55e commit ebcea69

File tree

1 file changed

+36
-36
lines changed

1 file changed

+36
-36
lines changed

arch/arm64/Kconfig

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -553,6 +553,9 @@ config ARM64_ERRATUM_1530923
553553

554554
If unsure, say Y.
555555

556+
config ARM64_WORKAROUND_REPEAT_TLBI
557+
bool
558+
556559
config ARM64_ERRATUM_1286807
557560
bool "Cortex-A76: Modification of the translation table for a virtual address might lead to read-after-read ordering violation"
558561
default y
@@ -694,6 +697,35 @@ config CAVIUM_TX2_ERRATUM_219
694697

695698
If unsure, say Y.
696699

700+
config FUJITSU_ERRATUM_010001
701+
bool "Fujitsu-A64FX erratum E#010001: Undefined fault may occur wrongly"
702+
default y
703+
help
704+
This option adds a workaround for Fujitsu-A64FX erratum E#010001.
705+
On some variants of the Fujitsu-A64FX cores ver(1.0, 1.1), memory
706+
accesses may cause undefined fault (Data abort, DFSC=0b111111).
707+
This fault occurs under a specific hardware condition when a
708+
load/store instruction performs an address translation using:
709+
case-1 TTBR0_EL1 with TCR_EL1.NFD0 == 1.
710+
case-2 TTBR0_EL2 with TCR_EL2.NFD0 == 1.
711+
case-3 TTBR1_EL1 with TCR_EL1.NFD1 == 1.
712+
case-4 TTBR1_EL2 with TCR_EL2.NFD1 == 1.
713+
714+
The workaround is to ensure these bits are clear in TCR_ELx.
715+
The workaround only affects the Fujitsu-A64FX.
716+
717+
If unsure, say Y.
718+
719+
config HISILICON_ERRATUM_161600802
720+
bool "Hip07 161600802: Erroneous redistributor VLPI base"
721+
default y
722+
help
723+
The HiSilicon Hip07 SoC uses the wrong redistributor base
724+
when issued ITS commands such as VMOVP and VMAPP, and requires
725+
a 128kB offset to be applied to the target address in this commands.
726+
727+
If unsure, say Y.
728+
697729
config QCOM_FALKOR_ERRATUM_1003
698730
bool "Falkor E1003: Incorrect translation due to ASID change"
699731
default y
@@ -705,9 +737,6 @@ config QCOM_FALKOR_ERRATUM_1003
705737
is unchanged. Work around the erratum by invalidating the walk cache
706738
entries for the trampoline before entering the kernel proper.
707739

708-
config ARM64_WORKAROUND_REPEAT_TLBI
709-
bool
710-
711740
config QCOM_FALKOR_ERRATUM_1009
712741
bool "Falkor E1009: Prematurely complete a DSB after a TLBI"
713742
default y
@@ -729,25 +758,6 @@ config QCOM_QDF2400_ERRATUM_0065
729758

730759
If unsure, say Y.
731760

732-
config SOCIONEXT_SYNQUACER_PREITS
733-
bool "Socionext Synquacer: Workaround for GICv3 pre-ITS"
734-
default y
735-
help
736-
Socionext Synquacer SoCs implement a separate h/w block to generate
737-
MSI doorbell writes with non-zero values for the device ID.
738-
739-
If unsure, say Y.
740-
741-
config HISILICON_ERRATUM_161600802
742-
bool "Hip07 161600802: Erroneous redistributor VLPI base"
743-
default y
744-
help
745-
The HiSilicon Hip07 SoC uses the wrong redistributor base
746-
when issued ITS commands such as VMOVP and VMAPP, and requires
747-
a 128kB offset to be applied to the target address in this commands.
748-
749-
If unsure, say Y.
750-
751761
config QCOM_FALKOR_ERRATUM_E1041
752762
bool "Falkor E1041: Speculative instruction fetches might cause errant memory access"
753763
default y
@@ -758,22 +768,12 @@ config QCOM_FALKOR_ERRATUM_E1041
758768

759769
If unsure, say Y.
760770

761-
config FUJITSU_ERRATUM_010001
762-
bool "Fujitsu-A64FX erratum E#010001: Undefined fault may occur wrongly"
771+
config SOCIONEXT_SYNQUACER_PREITS
772+
bool "Socionext Synquacer: Workaround for GICv3 pre-ITS"
763773
default y
764774
help
765-
This option adds a workaround for Fujitsu-A64FX erratum E#010001.
766-
On some variants of the Fujitsu-A64FX cores ver(1.0, 1.1), memory
767-
accesses may cause undefined fault (Data abort, DFSC=0b111111).
768-
This fault occurs under a specific hardware condition when a
769-
load/store instruction performs an address translation using:
770-
case-1 TTBR0_EL1 with TCR_EL1.NFD0 == 1.
771-
case-2 TTBR0_EL2 with TCR_EL2.NFD0 == 1.
772-
case-3 TTBR1_EL1 with TCR_EL1.NFD1 == 1.
773-
case-4 TTBR1_EL2 with TCR_EL2.NFD1 == 1.
774-
775-
The workaround is to ensure these bits are clear in TCR_ELx.
776-
The workaround only affects the Fujitsu-A64FX.
775+
Socionext Synquacer SoCs implement a separate h/w block to generate
776+
MSI doorbell writes with non-zero values for the device ID.
777777

778778
If unsure, say Y.
779779

0 commit comments

Comments
 (0)