Skip to content

Commit eb30d83

Browse files
Anshuman Khandualctmarinas
authored andcommitted
arm64: errata: Update ARM64_ERRATUM_[2119858|2224489] with Cortex-X2 ranges
Errata ARM64_ERRATUM_[2119858|2224489] also affect some Cortex-X2 ranges as well. Lets update these errata definition and detection to accommodate all new Cortex-X2 based cpu MIDR ranges. Cc: Will Deacon <[email protected]> Cc: Mathieu Poirier <[email protected]> Cc: Suzuki Poulose <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Signed-off-by: Anshuman Khandual <[email protected]> Reviewed-by: Suzuki K Poulose <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Catalin Marinas <[email protected]>
1 parent 72bb9dc commit eb30d83

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

Documentation/arm64/silicon-errata.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ stable kernels.
9898
+----------------+-----------------+-----------------+-----------------------------+
9999
| ARM | Cortex-A710 | #2224489 | ARM64_ERRATUM_2224489 |
100100
+----------------+-----------------+-----------------+-----------------------------+
101+
| ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 |
102+
+----------------+-----------------+-----------------+-----------------------------+
103+
| ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 |
104+
+----------------+-----------------+-----------------+-----------------------------+
101105
| ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 |
102106
+----------------+-----------------+-----------------+-----------------------------+
103107
| ARM | Neoverse-N1 | #1349291 | N/A |

arch/arm64/Kconfig

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -671,14 +671,14 @@ config ARM64_WORKAROUND_TRBE_OVERWRITE_FILL_MODE
671671
bool
672672

673673
config ARM64_ERRATUM_2119858
674-
bool "Cortex-A710: 2119858: workaround TRBE overwriting trace data in FILL mode"
674+
bool "Cortex-A710/X2: 2119858: workaround TRBE overwriting trace data in FILL mode"
675675
default y
676676
depends on CORESIGHT_TRBE
677677
select ARM64_WORKAROUND_TRBE_OVERWRITE_FILL_MODE
678678
help
679-
This option adds the workaround for ARM Cortex-A710 erratum 2119858.
679+
This option adds the workaround for ARM Cortex-A710/X2 erratum 2119858.
680680

681-
Affected Cortex-A710 cores could overwrite up to 3 cache lines of trace
681+
Affected Cortex-A710/X2 cores could overwrite up to 3 cache lines of trace
682682
data at the base of the buffer (pointed to by TRBASER_EL1) in FILL mode in
683683
the event of a WRAP event.
684684

@@ -761,14 +761,14 @@ config ARM64_ERRATUM_2253138
761761
If unsure, say Y.
762762

763763
config ARM64_ERRATUM_2224489
764-
bool "Cortex-A710: 2224489: workaround TRBE writing to address out-of-range"
764+
bool "Cortex-A710/X2: 2224489: workaround TRBE writing to address out-of-range"
765765
depends on CORESIGHT_TRBE
766766
default y
767767
select ARM64_WORKAROUND_TRBE_WRITE_OUT_OF_RANGE
768768
help
769-
This option adds the workaround for ARM Cortex-A710 erratum 2224489.
769+
This option adds the workaround for ARM Cortex-A710/X2 erratum 2224489.
770770

771-
Affected Cortex-A710 cores might write to an out-of-range address, not reserved
771+
Affected Cortex-A710/X2 cores might write to an out-of-range address, not reserved
772772
for TRBE. Under some conditions, the TRBE might generate a write to the next
773773
virtually addressed page following the last page of the TRBE address space
774774
(i.e., the TRBLIMITR_EL1.LIMIT), instead of wrapping around to the base.

arch/arm64/kernel/cpu_errata.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ static const struct midr_range trbe_overwrite_fill_mode_cpus[] = {
347347
#endif
348348
#ifdef CONFIG_ARM64_ERRATUM_2119858
349349
MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
350+
MIDR_RANGE(MIDR_CORTEX_X2, 0, 0, 2, 0),
350351
#endif
351352
{},
352353
};
@@ -371,6 +372,7 @@ static struct midr_range trbe_write_out_of_range_cpus[] = {
371372
#endif
372373
#ifdef CONFIG_ARM64_ERRATUM_2224489
373374
MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
375+
MIDR_RANGE(MIDR_CORTEX_X2, 0, 0, 2, 0),
374376
#endif
375377
{},
376378
};

0 commit comments

Comments
 (0)