1 /* 2 * Copyright (c) 2019-2022, 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 #define CORTEX_A78_CPUECTLR_EL1_PF_MODE_CNSRV ULL(3) 23 #define CPUECTLR_EL1_PF_MODE_LSB U(6) 24 #define CPUECTLR_EL1_PF_MODE_WIDTH U(2) 25 26 /******************************************************************************* 27 * CPU Power Control register specific definitions 28 ******************************************************************************/ 29 #define CORTEX_A78_CPUPWRCTLR_EL1 S3_0_C15_C2_7 30 #define CORTEX_A78_CPUPWRCTLR_EL1_CORE_PWRDN_EN_BIT U(1) 31 32 /******************************************************************************* 33 * CPU Auxiliary Control register specific definitions. 34 ******************************************************************************/ 35 #define CORTEX_A78_ACTLR_TAM_BIT (ULL(1) << 30) 36 37 #define CORTEX_A78_ACTLR2_EL1 S3_0_C15_C1_1 38 #define CORTEX_A78_ACTLR2_EL1_BIT_0 (ULL(1) << 0) 39 #define CORTEX_A78_ACTLR2_EL1_BIT_1 (ULL(1) << 1) 40 #define CORTEX_A78_ACTLR2_EL1_BIT_2 (ULL(1) << 2) 41 #define CORTEX_A78_ACTLR2_EL1_BIT_40 (ULL(1) << 40) 42 43 /******************************************************************************* 44 * CPU Activity Monitor Unit register specific definitions. 45 ******************************************************************************/ 46 #define CPUAMCNTENCLR0_EL0 S3_3_C15_C2_4 47 #define CPUAMCNTENSET0_EL0 S3_3_C15_C2_5 48 #define CPUAMCNTENCLR1_EL0 S3_3_C15_C3_0 49 #define CPUAMCNTENSET1_EL0 S3_3_C15_C3_1 50 51 #define CORTEX_A78_AMU_GROUP0_MASK U(0xF) 52 #define CORTEX_A78_AMU_GROUP1_MASK U(0x7) 53 54 #endif /* CORTEX_A78_H */ 55