1 /* 2 * Copyright (c) 2019-2025, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef CORTEX_A78_H 8 #define CORTEX_A78_H 9 10 #include <lib/utils_def.h> 11 12 #define CORTEX_A78_MIDR U(0x410FD410) 13 14 /* Cortex-A78 loop count for CVE-2022-23960 mitigation */ 15 #define CORTEX_A78_BHB_LOOP_COUNT U(32) 16 17 /******************************************************************************* 18 * CPU Extended Control register specific definitions. 19 ******************************************************************************/ 20 #define CORTEX_A78_CPUECTLR_EL1 S3_0_C15_C1_4 21 #define CORTEX_A78_CPUECTLR_EL1_BIT_8 (ULL(1) << 8) 22 23 /******************************************************************************* 24 * CPU Power Control register specific definitions 25 ******************************************************************************/ 26 #define CORTEX_A78_CPUPWRCTLR_EL1 S3_0_C15_C2_7 27 #define CORTEX_A78_CPUPWRCTLR_EL1_CORE_PWRDN_EN_BIT U(1) 28 29 /******************************************************************************* 30 * CPU Auxiliary Control register specific definitions. 31 ******************************************************************************/ 32 #define CORTEX_A78_ACTLR_TAM_BIT (ULL(1) << 30) 33 34 #define CORTEX_A78_ACTLR2_EL1 S3_0_C15_C1_1 35 #define CORTEX_A78_ACTLR2_EL1_BIT_0 (ULL(1) << 0) 36 #define CORTEX_A78_ACTLR2_EL1_BIT_1 (ULL(1) << 1) 37 #define CORTEX_A78_ACTLR2_EL1_BIT_2 (ULL(1) << 2) 38 #define CORTEX_A78_ACTLR2_EL1_BIT_40 (ULL(1) << 40) 39 40 #define CORTEX_A78_ACTLR3_EL1 S3_0_C15_C1_2 41 42 #define CORTEX_A78_ACTLR5_EL1 S3_0_C15_C9_0 43 44 /******************************************************************************* 45 * CPU Activity Monitor Unit register specific definitions. 46 ******************************************************************************/ 47 #define CPUAMCNTENCLR0_EL0 S3_3_C15_C2_4 48 #define CPUAMCNTENSET0_EL0 S3_3_C15_C2_5 49 #define CPUAMCNTENCLR1_EL0 S3_3_C15_C3_0 50 #define CPUAMCNTENSET1_EL0 S3_3_C15_C3_1 51 52 #define CORTEX_A78_AMU_GROUP0_MASK U(0xF) 53 #define CORTEX_A78_AMU_GROUP1_MASK U(0x7) 54 55 #endif /* CORTEX_A78_H */ 56