forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-04 1543e317f1da31b75942316931e8f491a8920811
kernel/arch/arm64/include/asm/cpucaps.h
....@@ -1,19 +1,8 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /*
23 * arch/arm64/include/asm/cpucaps.h
34 *
45 * Copyright (C) 2016 ARM Ltd.
5
- *
6
- * This program is free software: you can redistribute it and/or modify
7
- * it under the terms of the GNU General Public License version 2 as
8
- * published by the Free Software Foundation.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
176 */
187 #ifndef __ASM_CPUCAPS_H
198 #define __ASM_CPUCAPS_H
....@@ -31,9 +20,10 @@
3120 #define ARM64_ALT_PAN_NOT_UAO 10
3221 #define ARM64_HAS_VIRT_HOST_EXTN 11
3322 #define ARM64_WORKAROUND_CAVIUM_27456 12
34
-#define ARM64_HAS_32BIT_EL0 13
35
-#define ARM64_HARDEN_EL2_VECTORS 14
36
-#define ARM64_MISMATCHED_CACHE_LINE_SIZE 15
23
+/* Unreliable: use system_supports_32bit_el0() instead. */
24
+#define ARM64_HAS_32BIT_EL0_DO_NOT_USE 13
25
+#define ARM64_SPECTRE_V3A 14
26
+#define ARM64_HAS_CNP 15
3727 #define ARM64_HAS_NO_FPSIMD 16
3828 #define ARM64_WORKAROUND_REPEAT_TLBI 17
3929 #define ARM64_WORKAROUND_QCOM_FALKOR_E1003 18
....@@ -42,20 +32,49 @@
4232 #define ARM64_HAS_DCPOP 21
4333 #define ARM64_SVE 22
4434 #define ARM64_UNMAP_KERNEL_AT_EL0 23
45
-#define ARM64_HARDEN_BRANCH_PREDICTOR 24
35
+#define ARM64_SPECTRE_V2 24
4636 #define ARM64_HAS_RAS_EXTN 25
4737 #define ARM64_WORKAROUND_843419 26
4838 #define ARM64_HAS_CACHE_IDC 27
4939 #define ARM64_HAS_CACHE_DIC 28
5040 #define ARM64_HW_DBM 29
51
-#define ARM64_SSBD 30
41
+#define ARM64_SPECTRE_V4 30
5242 #define ARM64_MISMATCHED_CACHE_TYPE 31
5343 #define ARM64_HAS_STAGE2_FWB 32
54
-#define ARM64_WORKAROUND_1463225 33
44
+#define ARM64_HAS_CRC32 33
5545 #define ARM64_SSBS 34
56
-#define ARM64_WORKAROUND_1542419 35
46
+#define ARM64_WORKAROUND_1418040 35
47
+#define ARM64_HAS_SB 36
48
+#define ARM64_WORKAROUND_SPECULATIVE_AT 37
49
+#define ARM64_HAS_ADDRESS_AUTH_ARCH 38
50
+#define ARM64_HAS_ADDRESS_AUTH_IMP_DEF 39
51
+#define ARM64_HAS_GENERIC_AUTH_ARCH 40
52
+#define ARM64_HAS_GENERIC_AUTH_IMP_DEF 41
53
+#define ARM64_HAS_IRQ_PRIO_MASKING 42
54
+#define ARM64_HAS_DCPODP 43
55
+#define ARM64_WORKAROUND_1463225 44
56
+#define ARM64_WORKAROUND_CAVIUM_TX2_219_TVM 45
57
+#define ARM64_WORKAROUND_CAVIUM_TX2_219_PRFM 46
58
+#define ARM64_WORKAROUND_1542419 47
59
+#define ARM64_HAS_E0PD 48
60
+#define ARM64_HAS_RNG 49
61
+#define ARM64_HAS_AMU_EXTN 50
62
+#define ARM64_HAS_ADDRESS_AUTH 51
63
+#define ARM64_HAS_GENERIC_AUTH 52
64
+#define ARM64_HAS_32BIT_EL1 53
65
+#define ARM64_BTI 54
66
+#define ARM64_HAS_ARMv8_4_TTL 55
67
+#define ARM64_HAS_TLB_RANGE 56
68
+#define ARM64_MTE 57
69
+#define ARM64_WORKAROUND_1508412 58
70
+#define ARM64_HAS_LDAPR 59
71
+#define ARM64_KVM_PROTECTED_MODE 60
72
+#define ARM64_WORKAROUND_TSB_FLUSH_FAILURE 61
73
+#define ARM64_SPECTRE_BHB 62
74
+#define ARM64_WORKAROUND_2457168 63
75
+#define ARM64_WORKAROUND_1742098 64
5776
58
-/* kabi: reserve 36 - 62 for future cpu capabilities */
59
-#define ARM64_NCAPS 62
77
+/* kabi: reserve 65 - 76 for future cpu capabilities */
78
+#define ARM64_NCAPS 76
6079
6180 #endif /* __ASM_CPUCAPS_H */