|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
* Copyright (c) 2019-2022, Arm Limited. All rights reserved. |
|
|
|
* Copyright (c) 2019-2023, Arm Limited. All rights reserved. |
|
|
|
* |
|
|
|
* SPDX-License-Identifier: BSD-3-Clause |
|
|
|
*/ |
|
|
@ -486,6 +486,35 @@ func check_errata_2743093 |
|
|
|
b cpu_rev_var_ls |
|
|
|
endfunc check_errata_2743093 |
|
|
|
|
|
|
|
/* ---------------------------------------------------- |
|
|
|
* Errata Workaround for Neoverse V1 Errata #2779461. |
|
|
|
* This applies to revisions r0p0, r1p0, r1p1, and r1p2. |
|
|
|
* It is still open. |
|
|
|
* x0: variant[4:7] and revision[0:3] of current cpu. |
|
|
|
* Shall clobber: x0-x1, x17 |
|
|
|
* ---------------------------------------------------- |
|
|
|
*/ |
|
|
|
func errata_neoverse_v1_2779461_wa |
|
|
|
/* Check revision. */ |
|
|
|
mov x17, x30 |
|
|
|
bl check_errata_2779461 |
|
|
|
cbz x0, 1f |
|
|
|
|
|
|
|
/* Apply the workaround */ |
|
|
|
mrs x1, NEOVERSE_V1_ACTLR3_EL1 |
|
|
|
orr x1, x1, #BIT(47) |
|
|
|
msr NEOVERSE_V1_ACTLR3_EL1, x1 |
|
|
|
|
|
|
|
1: |
|
|
|
ret x17 |
|
|
|
endfunc errata_neoverse_v1_2779461_wa |
|
|
|
|
|
|
|
func check_errata_2779461 |
|
|
|
/* Applies to r0p0, r1p0, r1p1, r1p2 */ |
|
|
|
mov x1, #CPU_REV(1, 2) |
|
|
|
b cpu_rev_var_ls |
|
|
|
endfunc check_errata_2779461 |
|
|
|
|
|
|
|
func check_errata_cve_2022_23960 |
|
|
|
#if WORKAROUND_CVE_2022_23960 |
|
|
|
mov x0, #ERRATA_APPLIES |
|
|
@ -544,6 +573,7 @@ func neoverse_v1_errata_report |
|
|
|
report_errata ERRATA_V1_2294912, neoverse_v1, 2294912 |
|
|
|
report_errata ERRATA_V1_2372203, neoverse_v1, 2372203 |
|
|
|
report_errata ERRATA_V1_2743093, neoverse_v1, 2743093 |
|
|
|
report_errata ERRATA_V1_2779461, neoverse_v1, 2779461 |
|
|
|
report_errata WORKAROUND_CVE_2022_23960, neoverse_v1, cve_2022_23960 |
|
|
|
|
|
|
|
ldp x8, x30, [sp], #16 |
|
|
@ -622,6 +652,11 @@ func neoverse_v1_reset_func |
|
|
|
bl errata_neoverse_v1_2372203_wa |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ERRATA_V1_2779461 |
|
|
|
mov x0, x18 |
|
|
|
bl errata_neoverse_v1_2779461_wa |
|
|
|
#endif |
|
|
|
|
|
|
|
#if IMAGE_BL31 && WORKAROUND_CVE_2022_23960 |
|
|
|
/* |
|
|
|
* The Neoverse-V1 generic vectors are overridden to apply errata |
|
|
|