diff --git a/include/lib/cpus/aarch64/neoverse_v2.h b/include/lib/cpus/aarch64/neoverse_v2.h index 39a660713..1171e9523 100644 --- a/include/lib/cpus/aarch64/neoverse_v2.h +++ b/include/lib/cpus/aarch64/neoverse_v2.h @@ -16,6 +16,7 @@ * CPU Extended Control register specific definitions ******************************************************************************/ #define NEOVERSE_V2_CPUECTLR_EL1 S3_0_C15_C1_4 +#define NEOVERSE_V2_CPUECTLR_EL1_EXTLLC_BIT (ULL(1) << 0) /******************************************************************************* * CPU Power Control register specific definitions diff --git a/lib/cpus/aarch64/neoverse_v2.S b/lib/cpus/aarch64/neoverse_v2.S index d4b3a96cd..317991879 100644 --- a/lib/cpus/aarch64/neoverse_v2.S +++ b/lib/cpus/aarch64/neoverse_v2.S @@ -109,6 +109,11 @@ endfunc neoverse_v2_core_pwr_dwn cpu_reset_func_start neoverse_v2 /* Disable speculative loads */ msr SSBS, xzr + +#if NEOVERSE_Vx_EXTERNAL_LLC + /* Some systems may have External LLC, core needs to be made aware */ + sysreg_bit_set NEOVERSE_V2_CPUECTLR_EL1, NEOVERSE_V2_CPUECTLR_EL1_EXTLLC_BIT +#endif cpu_reset_func_end neoverse_v2 errata_report_shim neoverse_v2