1 /* 2 * Copyright (c) 2019-2026, 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_CPUACTLR_EL1 S3_0_C15_C1_0 35 #define CORTEX_A78_ACTLR2_EL1 S3_0_C15_C1_1 36 #define CORTEX_A78_ACTLR2_EL1_BIT_0 (ULL(1) << 0) 37 #define CORTEX_A78_ACTLR2_EL1_BIT_1 (ULL(1) << 1) 38 #define CORTEX_A78_ACTLR2_EL1_BIT_2 (ULL(1) << 2) 39 #define CORTEX_A78_ACTLR2_EL1_BIT_40 (ULL(1) << 40) 40 41 #define CORTEX_A78_ACTLR3_EL1 S3_0_C15_C1_2 42 43 #define CORTEX_A78_ACTLR5_EL1 S3_0_C15_C9_0 44 45 /******************************************************************************* 46 * CPU Activity Monitor Unit register specific definitions. 47 ******************************************************************************/ 48 #define CPUAMCNTENCLR0_EL0 S3_3_C15_C2_4 49 #define CPUAMCNTENSET0_EL0 S3_3_C15_C2_5 50 #define CPUAMCNTENCLR1_EL0 S3_3_C15_C3_0 51 #define CPUAMCNTENSET1_EL0 S3_3_C15_C3_1 52 53 #define CORTEX_A78_AMU_GROUP0_MASK U(0xF) 54 #define CORTEX_A78_AMU_GROUP1_MASK U(0x7) 55 56 #endif /* CORTEX_A78_H */ 57