• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * arch/arm64/include/asm/cpucaps.h
4  *
5  * Copyright (C) 2016 ARM Ltd.
6  */
7 #ifndef __ASM_CPUCAPS_H
8 #define __ASM_CPUCAPS_H
9 
10 #define ARM64_WORKAROUND_CLEAN_CACHE		0
11 #define ARM64_WORKAROUND_DEVICE_LOAD_ACQUIRE	1
12 #define ARM64_WORKAROUND_845719			2
13 #define ARM64_HAS_SYSREG_GIC_CPUIF		3
14 #define ARM64_HAS_PAN				4
15 #define ARM64_HAS_LSE_ATOMICS			5
16 #define ARM64_WORKAROUND_CAVIUM_23154		6
17 #define ARM64_WORKAROUND_834220			7
18 #define ARM64_HAS_NO_HW_PREFETCH		8
19 #define ARM64_HAS_UAO				9
20 #define ARM64_ALT_PAN_NOT_UAO			10
21 #define ARM64_HAS_VIRT_HOST_EXTN		11
22 #define ARM64_WORKAROUND_CAVIUM_27456		12
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
27 #define ARM64_HAS_NO_FPSIMD			16
28 #define ARM64_WORKAROUND_REPEAT_TLBI		17
29 #define ARM64_WORKAROUND_QCOM_FALKOR_E1003	18
30 #define ARM64_WORKAROUND_858921			19
31 #define ARM64_WORKAROUND_CAVIUM_30115		20
32 #define ARM64_HAS_DCPOP				21
33 #define ARM64_SVE				22
34 #define ARM64_UNMAP_KERNEL_AT_EL0		23
35 #define ARM64_SPECTRE_V2			24
36 #define ARM64_HAS_RAS_EXTN			25
37 #define ARM64_WORKAROUND_843419			26
38 #define ARM64_HAS_CACHE_IDC			27
39 #define ARM64_HAS_CACHE_DIC			28
40 #define ARM64_HW_DBM				29
41 #define ARM64_SPECTRE_V4			30
42 #define ARM64_MISMATCHED_CACHE_TYPE		31
43 #define ARM64_HAS_STAGE2_FWB			32
44 #define ARM64_HAS_CRC32				33
45 #define ARM64_SSBS				34
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
76 
77 /* kabi: reserve 65 - 76 for future cpu capabilities */
78 #define ARM64_NCAPS				76
79 
80 #endif /* __ASM_CPUCAPS_H */
81