diff options
author | Sona Mathew <sonarebecca.mathew@arm.com> | 2023-10-16 15:12:30 -0500 |
---|---|---|
committer | Sona Mathew <sonarebecca.mathew@arm.com> | 2023-10-24 14:15:17 -0500 |
commit | ab2b56df266f73aa53ca348d7945b119e1ef71c7 (patch) | |
tree | 4d51aaf149c5097d6210d87b7b4383878a9914c5 | |
parent | 80af87e476ec3dd1ad26d7a906da82268a29e2b5 (diff) |
fix(cpus): fix the rev-var of Neoverse-V1
Update the revision and variant information in the
errata ABI file, neoverse_v1.S file for erratum ID - 2294912
to match the revision and variant in the latest SDEN.
SDEN documentation:
https://developer.arm.com/documentation/SDEN-1401781/latest
Change-Id: I38a0f53c3515860ba442b5c0872c8ab051fdda6f
Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
-rw-r--r-- | docs/design/cpu-specific-build-macros.rst | 3 | ||||
-rw-r--r-- | lib/cpus/aarch64/neoverse_v1.S | 4 | ||||
-rw-r--r-- | lib/cpus/cpu-ops.mk | 2 | ||||
-rw-r--r-- | services/std_svc/errata_abi/errata_abi_main.c | 11 |
4 files changed, 11 insertions, 9 deletions
diff --git a/docs/design/cpu-specific-build-macros.rst b/docs/design/cpu-specific-build-macros.rst index e67fca228..356f420cb 100644 --- a/docs/design/cpu-specific-build-macros.rst +++ b/docs/design/cpu-specific-build-macros.rst @@ -498,7 +498,8 @@ For Neoverse V1, the following errata build flags are defined : revision. It is still open. - ``ERRATA_V1_2294912``: This applies errata 2294912 workaround to Neoverse-V1 - CPU. This needs to be enabled for revisions r0p0, r1p0, and r1p1 of the CPU. + CPU. This needs to be enabled for revisions r0p0, r1p0, and r1p1 and r1p2 of + the CPU. - ``ERRATA_V1_2372203``: This applies errata 2372203 workaround to Neoverse-V1 CPU. This needs to be enabled for revisions r0p0, r1p0 and r1p1 of the CPU. diff --git a/lib/cpus/aarch64/neoverse_v1.S b/lib/cpus/aarch64/neoverse_v1.S index 35d2c480f..2a49134fc 100644 --- a/lib/cpus/aarch64/neoverse_v1.S +++ b/lib/cpus/aarch64/neoverse_v1.S @@ -161,7 +161,7 @@ workaround_reset_start neoverse_v1, ERRATUM(2108267), ERRATA_V1_2108267 msr NEOVERSE_V1_CPUECTLR_EL1, x1 workaround_reset_end neoverse_v1, ERRATUM(2108267) -check_erratum_ls neoverse_v1, ERRATUM(2108267), CPU_REV(1, 1) +check_erratum_ls neoverse_v1, ERRATUM(2108267), CPU_REV(1, 2) workaround_reset_start neoverse_v1, ERRATUM(2139242), ERRATA_V1_2139242 mov x0, #0x3 @@ -194,7 +194,7 @@ workaround_reset_start neoverse_v1, ERRATUM(2294912), ERRATA_V1_2294912 sysreg_bit_set NEOVERSE_V1_ACTLR2_EL1, NEOVERSE_V1_ACTLR2_EL1_BIT_0 workaround_reset_end neoverse_v1, ERRATUM(2294912) -check_erratum_ls neoverse_v1, ERRATUM(2294912), CPU_REV(1, 1) +check_erratum_ls neoverse_v1, ERRATUM(2294912), CPU_REV(1, 2) workaround_reset_start neoverse_v1, ERRATUM(2372203), ERRATA_V1_2372203 /* Set bit 40 in ACTLR2_EL1 */ diff --git a/lib/cpus/cpu-ops.mk b/lib/cpus/cpu-ops.mk index 019924ffe..f2407f3ea 100644 --- a/lib/cpus/cpu-ops.mk +++ b/lib/cpus/cpu-ops.mk @@ -517,7 +517,7 @@ CPU_FLAG_LIST += ERRATA_V1_2108267 CPU_FLAG_LIST += ERRATA_V1_2216392 # Flag to apply erratum 2294912 workaround during reset. This erratum applies -# to revisions r0p0, r1p0, and r1p1 of the Neoverse V1 cpu and is still open. +# to revisions r0p0, r1p0, and r1p1 and r1p2 of the Neoverse V1 cpu and is still open. CPU_FLAG_LIST += ERRATA_V1_2294912 # Flag to apply erratum 2372203 workaround during reset. This erratum applies diff --git a/services/std_svc/errata_abi/errata_abi_main.c b/services/std_svc/errata_abi/errata_abi_main.c index e31d6fa46..409af6363 100644 --- a/services/std_svc/errata_abi/errata_abi_main.c +++ b/services/std_svc/errata_abi/errata_abi_main.c @@ -286,23 +286,24 @@ struct em_cpu_list cpu_list[] = { { .cpu_partnumber = NEOVERSE_V1_MIDR, .cpu_errata_list = { - [0] = {1618635, 0x00, 0x0F, ERRATA_V1_1618635}, + [0] = {1618635, 0x00, 0x00, ERRATA_V1_1618635}, [1] = {1774420, 0x00, 0x10, ERRATA_V1_1774420}, [2] = {1791573, 0x00, 0x10, ERRATA_V1_1791573}, [3] = {1852267, 0x00, 0x10, ERRATA_V1_1852267}, [4] = {1925756, 0x00, 0x11, ERRATA_V1_1925756}, [5] = {1940577, 0x10, 0x11, ERRATA_V1_1940577}, [6] = {1966096, 0x10, 0x11, ERRATA_V1_1966096}, - [7] = {2108267, 0x00, 0x11, ERRATA_V1_2108267}, + [7] = {2108267, 0x00, 0x12, ERRATA_V1_2108267}, [8] = {2139242, 0x00, 0x11, ERRATA_V1_2139242}, [9] = {2216392, 0x10, 0x11, ERRATA_V1_2216392}, - [10] = {2294912, 0x00, 0x11, ERRATA_V1_2294912}, + [10] = {2294912, 0x00, 0x12, ERRATA_V1_2294912}, [11] = {2372203, 0x00, 0x11, ERRATA_V1_2372203}, [12] = {2701953, 0x00, 0x11, ERRATA_V1_2701953, \ ERRATA_NON_ARM_INTERCONNECT}, [13] = {2743093, 0x00, 0x12, ERRATA_V1_2743093}, - [14] = {2779461, 0x00, 0x12, ERRATA_V1_2779461}, - [15 ... ERRATA_LIST_END] = UNDEF_ERRATA, + [14] = {2743233, 0x00, 0x12, ERRATA_V1_2743233}, + [15] = {2779461, 0x00, 0x12, ERRATA_V1_2779461}, + [16 ... ERRATA_LIST_END] = UNDEF_ERRATA, } }, #endif /* NEOVERSE_V1_H_INC */ |