From d6d34b39132425dfa8c75352711c463d2989a216 Mon Sep 17 00:00:00 2001 From: Arvind Ram Prakash Date: Thu, 29 Jun 2023 16:17:23 -0500 Subject: [PATCH] fix(docs): updated certain Neoverse N2 erratum status in docs Certain Neoverse N2 erratum in docs were out of date with the latest SDEN document and hence updated it to match the latest SDEN documentation: https://developer.arm.com/documentation/SDEN1707916/latest Signed-off-by: Arvind Ram Prakash Change-Id: I5d82a56388a46a09a42b940a633ecebdde0c74e3 --- docs/design/cpu-specific-build-macros.rst | 23 +++++++++++------------ lib/cpus/aarch64/neoverse_n2.S | 4 ++-- lib/cpus/cpu-ops.mk | 22 +++++++++++----------- 3 files changed, 24 insertions(+), 25 deletions(-) diff --git a/docs/design/cpu-specific-build-macros.rst b/docs/design/cpu-specific-build-macros.rst index df0cfc03d..1a4638635 100644 --- a/docs/design/cpu-specific-build-macros.rst +++ b/docs/design/cpu-specific-build-macros.rst @@ -601,42 +601,41 @@ For Cortex-A710, the following errata build flags are defined : For Neoverse N2, the following errata build flags are defined : - ``ERRATA_N2_2002655``: This applies errata 2002655 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU, it is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2067956``: This applies errata 2067956 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2025414``: This applies errata 2025414 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2189731``: This applies errata 2189731 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2138956``: This applies errata 2138956 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2138953``: This applies errata 2138953 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revisions r0p0, r0p1, r0p2, r0p3 and is still open. - ``ERRATA_N2_2242415``: This applies errata 2242415 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2138958``: This applies errata 2138958 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2242400``: This applies errata 2242400 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2280757``: This applies errata 2280757 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU and is still open. + CPU. This needs to be enabled for revision r0p0 of the CPU and is fixed in r0p1. - ``ERRATA_N2_2326639``: This applies errata 2326639 workaround to Neoverse-N2 CPU. This needs to be enabled for revision r0p0 of the CPU, it is fixed in r0p1. - ``ERRATA_N2_2376738``: This applies errata 2376738 workaround to Neoverse-N2 - CPU. This needs to be enabled for revision r0p0 of the CPU, it is fixed in - r0p1. + CPU. This needs to be enabled for revision r0p0, r0p1, r0p2, r0p3 and is still open. - ``ERRATA_N2_2388450``: This applies errata 2388450 workaround to Neoverse-N2 CPU. This needs to be enabled for revision r0p0 of the CPU, it is fixed in diff --git a/lib/cpus/aarch64/neoverse_n2.S b/lib/cpus/aarch64/neoverse_n2.S index bad85efd0..44331a5a8 100644 --- a/lib/cpus/aarch64/neoverse_n2.S +++ b/lib/cpus/aarch64/neoverse_n2.S @@ -76,7 +76,7 @@ workaround_reset_start neoverse_n2, ERRATUM(2138953), ERRATA_N2_2138953 msr NEOVERSE_N2_CPUECTLR2_EL1, x1 workaround_reset_end neoverse_n2, ERRATUM(2138953) -check_erratum_ls neoverse_n2, ERRATUM(2138953), CPU_REV(0, 0) +check_erratum_ls neoverse_n2, ERRATUM(2138953), CPU_REV(0, 3) workaround_reset_start neoverse_n2, ERRATUM(2138956), ERRATA_N2_2138956 /* Apply instruction patching sequence */ @@ -157,7 +157,7 @@ workaround_reset_start neoverse_n2, ERRATUM(2376738), ERRATA_N2_2376738 sysreg_bit_set NEOVERSE_N2_CPUACTLR2_EL1, NEOVERSE_N2_CPUACTLR2_EL1_BIT_0 workaround_reset_end neoverse_n2, ERRATUM(2376738) -check_erratum_ls neoverse_n2, ERRATUM(2376738), CPU_REV(0, 0) +check_erratum_ls neoverse_n2, ERRATUM(2376738), CPU_REV(0, 3) workaround_reset_start neoverse_n2, ERRATUM(2388450), ERRATA_N2_2388450 /*Set bit 40 in ACTLR2_EL1 */ diff --git a/lib/cpus/cpu-ops.mk b/lib/cpus/cpu-ops.mk index 4a80bcea2..175f88d7b 100644 --- a/lib/cpus/cpu-ops.mk +++ b/lib/cpus/cpu-ops.mk @@ -612,43 +612,43 @@ CPU_FLAG_LIST += ERRATA_A710_2701952 CPU_FLAG_LIST += ERRATA_A710_2768515 # Flag to apply erratum 2002655 workaround during reset. This erratum applies -# to revisions r0p0 of the Neoverse-N2 cpu, it is still open. +# to revisions r0p0 of the Neoverse-N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2002655 # Flag to apply erratum 2067956 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2067956 # Flag to apply erratum 2025414 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2025414 # Flag to apply erratum 2189731 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2189731 # Flag to apply erratum 2138956 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2138956 # Flag to apply erratum 2138953 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0, r0p1, r0p2, r0p3 of the Neoverse N2 cpu and is still open. CPU_FLAG_LIST += ERRATA_N2_2138953 # Flag to apply erratum 2242415 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2242415 # Flag to apply erratum 2138958 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2138958 # Flag to apply erratum 2242400 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2242400 # Flag to apply erratum 2280757 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu and is still open. +# to revision r0p0 of the Neoverse N2 cpu and is fixed in r0p1. CPU_FLAG_LIST += ERRATA_N2_2280757 # Flag to apply erraturm 2326639 workaroud during powerdown. This erratum @@ -656,7 +656,7 @@ CPU_FLAG_LIST += ERRATA_N2_2280757 CPU_FLAG_LIST += ERRATA_N2_2326639 # Flag to apply erratum 2376738 workaround during reset. This erratum applies -# to revision r0p0 of the Neoverse N2 cpu, it is fixed in r0p1. +# to revision r0p0, r0p1, r0p2, r0p3 of the Neoverse N2 cpu and is still open. CPU_FLAG_LIST += ERRATA_N2_2376738 # Flag to apply erratum 2388450 workaround during reset. This erratum applies