1 /*
2  * Copyright (c) 2021-2024, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef CORTEX_X3_H
8 #define CORTEX_X3_H
9 
10 #define CORTEX_X3_MIDR				U(0x410FD4E0)
11 
12 /* Cortex-X3 loop count for CVE-2022-23960 mitigation */
13 #define CORTEX_X3_BHB_LOOP_COUNT		U(132)
14 
15 /*******************************************************************************
16  * CPU Extended Control register specific definitions
17  ******************************************************************************/
18 #define CORTEX_X3_CPUECTLR_EL1			S3_0_C15_C1_4
19 
20 /*******************************************************************************
21  * CPU Power Control register specific definitions
22  ******************************************************************************/
23 #define CORTEX_X3_CPUPWRCTLR_EL1				S3_0_C15_C2_7
24 #define CORTEX_X3_CPUPWRCTLR_EL1_CORE_PWRDN_BIT			U(1)
25 #define CORTEX_X3_CPUPWRCTLR_EL1_WFI_RET_CTRL_BITS_SHIFT	U(4)
26 #define CORTEX_X3_CPUPWRCTLR_EL1_WFE_RET_CTRL_BITS_SHIFT	U(7)
27 
28 /*******************************************************************************
29  * CPU Auxiliary Control register specific definitions.
30  ******************************************************************************/
31 #define CORTEX_X3_CPUACTLR_EL1			S3_0_C15_C1_0
32 
33 /*******************************************************************************
34  * CPU Auxiliary Control register 2 specific definitions.
35  ******************************************************************************/
36 #define CORTEX_X3_CPUACTLR2_EL1			S3_0_C15_C1_1
37 #define CORTEX_X3_CPUACTLR2_EL1_BIT_36		(ULL(1) << 36)
38 
39 /*******************************************************************************
40  * CPU Auxiliary Control register 5 specific definitions.
41  ******************************************************************************/
42 #define CORTEX_X3_CPUACTLR5_EL1			S3_0_C15_C8_0
43 #define CORTEX_X3_CPUACTLR5_EL1_BIT_55		(ULL(1) << 55)
44 #define CORTEX_X3_CPUACTLR5_EL1_BIT_56		(ULL(1) << 56)
45 
46 /*******************************************************************************
47  * CPU Auxiliary Control register 6 specific definitions.
48  ******************************************************************************/
49 #define CORTEX_X3_CPUACTLR6_EL1			S3_0_C15_C8_1
50 
51 /*******************************************************************************
52  * CPU Extended Control register 2 specific definitions.
53  ******************************************************************************/
54 #define CORTEX_X3_CPUECTLR2_EL1			S3_0_C15_C1_5
55 
56 #define CORTEX_X3_CPUECTLR2_EL1_PF_MODE_LSB	U(11)
57 #define CORTEX_X3_CPUECTLR2_EL1_PF_MODE_WIDTH	U(4)
58 #define CORTEX_X3_CPUECTLR2_EL1_PF_MODE_CNSRV	ULL(0x9)
59 
60 /*******************************************************************************
61  * CPU Auxiliary Control register 3 specific definitions.
62  ******************************************************************************/
63 #define CORTEX_X3_CPUACTLR3_EL1			S3_0_C15_C1_2
64 #define CORTEX_X3_CPUACTLR3_EL1_BIT_47		(ULL(1) << 47)
65 
66 #endif /* CORTEX_X3_H */
67