|
60 | 60 | * of KERNEL_HWCAP_{feature}. |
61 | 61 | */ |
62 | 62 | #define __khwcap_feature(x) const_ilog2(HWCAP_ ## x) |
63 | | -#define KERNEL_HWCAP_FP __khwcap_feature(FP) |
64 | | -#define KERNEL_HWCAP_ASIMD __khwcap_feature(ASIMD) |
65 | | -#define KERNEL_HWCAP_EVTSTRM __khwcap_feature(EVTSTRM) |
66 | | -#define KERNEL_HWCAP_AES __khwcap_feature(AES) |
67 | | -#define KERNEL_HWCAP_PMULL __khwcap_feature(PMULL) |
68 | | -#define KERNEL_HWCAP_SHA1 __khwcap_feature(SHA1) |
69 | | -#define KERNEL_HWCAP_SHA2 __khwcap_feature(SHA2) |
70 | | -#define KERNEL_HWCAP_CRC32 __khwcap_feature(CRC32) |
71 | | -#define KERNEL_HWCAP_ATOMICS __khwcap_feature(ATOMICS) |
72 | | -#define KERNEL_HWCAP_FPHP __khwcap_feature(FPHP) |
73 | | -#define KERNEL_HWCAP_ASIMDHP __khwcap_feature(ASIMDHP) |
74 | | -#define KERNEL_HWCAP_CPUID __khwcap_feature(CPUID) |
75 | | -#define KERNEL_HWCAP_ASIMDRDM __khwcap_feature(ASIMDRDM) |
76 | | -#define KERNEL_HWCAP_JSCVT __khwcap_feature(JSCVT) |
77 | | -#define KERNEL_HWCAP_FCMA __khwcap_feature(FCMA) |
78 | | -#define KERNEL_HWCAP_LRCPC __khwcap_feature(LRCPC) |
79 | | -#define KERNEL_HWCAP_DCPOP __khwcap_feature(DCPOP) |
80 | | -#define KERNEL_HWCAP_SHA3 __khwcap_feature(SHA3) |
81 | | -#define KERNEL_HWCAP_SM3 __khwcap_feature(SM3) |
82 | | -#define KERNEL_HWCAP_SM4 __khwcap_feature(SM4) |
83 | | -#define KERNEL_HWCAP_ASIMDDP __khwcap_feature(ASIMDDP) |
84 | | -#define KERNEL_HWCAP_SHA512 __khwcap_feature(SHA512) |
85 | | -#define KERNEL_HWCAP_SVE __khwcap_feature(SVE) |
86 | | -#define KERNEL_HWCAP_ASIMDFHM __khwcap_feature(ASIMDFHM) |
87 | | -#define KERNEL_HWCAP_DIT __khwcap_feature(DIT) |
88 | | -#define KERNEL_HWCAP_USCAT __khwcap_feature(USCAT) |
89 | | -#define KERNEL_HWCAP_ILRCPC __khwcap_feature(ILRCPC) |
90 | | -#define KERNEL_HWCAP_FLAGM __khwcap_feature(FLAGM) |
91 | | -#define KERNEL_HWCAP_SSBS __khwcap_feature(SSBS) |
92 | | -#define KERNEL_HWCAP_SB __khwcap_feature(SB) |
93 | | -#define KERNEL_HWCAP_PACA __khwcap_feature(PACA) |
94 | | -#define KERNEL_HWCAP_PACG __khwcap_feature(PACG) |
95 | | -#define KERNEL_HWCAP_GCS __khwcap_feature(GCS) |
96 | | -#define KERNEL_HWCAP_CMPBR __khwcap_feature(CMPBR) |
97 | | -#define KERNEL_HWCAP_FPRCVT __khwcap_feature(FPRCVT) |
98 | | -#define KERNEL_HWCAP_F8MM8 __khwcap_feature(F8MM8) |
99 | | -#define KERNEL_HWCAP_F8MM4 __khwcap_feature(F8MM4) |
100 | | -#define KERNEL_HWCAP_SVE_F16MM __khwcap_feature(SVE_F16MM) |
101 | | -#define KERNEL_HWCAP_SVE_ELTPERM __khwcap_feature(SVE_ELTPERM) |
102 | | -#define KERNEL_HWCAP_SVE_AES2 __khwcap_feature(SVE_AES2) |
103 | | -#define KERNEL_HWCAP_SVE_BFSCALE __khwcap_feature(SVE_BFSCALE) |
104 | | -#define KERNEL_HWCAP_SVE2P2 __khwcap_feature(SVE2P2) |
105 | | -#define KERNEL_HWCAP_SME2P2 __khwcap_feature(SME2P2) |
106 | | -#define KERNEL_HWCAP_SME_SBITPERM __khwcap_feature(SME_SBITPERM) |
107 | | -#define KERNEL_HWCAP_SME_AES __khwcap_feature(SME_AES) |
108 | | -#define KERNEL_HWCAP_SME_SFEXPA __khwcap_feature(SME_SFEXPA) |
109 | | -#define KERNEL_HWCAP_SME_STMOP __khwcap_feature(SME_STMOP) |
110 | | -#define KERNEL_HWCAP_SME_SMOP4 __khwcap_feature(SME_SMOP4) |
111 | | - |
112 | 63 | #define __khwcap2_feature(x) (const_ilog2(HWCAP2_ ## x) + 64) |
113 | | -#define KERNEL_HWCAP_DCPODP __khwcap2_feature(DCPODP) |
114 | | -#define KERNEL_HWCAP_SVE2 __khwcap2_feature(SVE2) |
115 | | -#define KERNEL_HWCAP_SVEAES __khwcap2_feature(SVEAES) |
116 | | -#define KERNEL_HWCAP_SVEPMULL __khwcap2_feature(SVEPMULL) |
117 | | -#define KERNEL_HWCAP_SVEBITPERM __khwcap2_feature(SVEBITPERM) |
118 | | -#define KERNEL_HWCAP_SVESHA3 __khwcap2_feature(SVESHA3) |
119 | | -#define KERNEL_HWCAP_SVESM4 __khwcap2_feature(SVESM4) |
120 | | -#define KERNEL_HWCAP_FLAGM2 __khwcap2_feature(FLAGM2) |
121 | | -#define KERNEL_HWCAP_FRINT __khwcap2_feature(FRINT) |
122 | | -#define KERNEL_HWCAP_SVEI8MM __khwcap2_feature(SVEI8MM) |
123 | | -#define KERNEL_HWCAP_SVEF32MM __khwcap2_feature(SVEF32MM) |
124 | | -#define KERNEL_HWCAP_SVEF64MM __khwcap2_feature(SVEF64MM) |
125 | | -#define KERNEL_HWCAP_SVEBF16 __khwcap2_feature(SVEBF16) |
126 | | -#define KERNEL_HWCAP_I8MM __khwcap2_feature(I8MM) |
127 | | -#define KERNEL_HWCAP_BF16 __khwcap2_feature(BF16) |
128 | | -#define KERNEL_HWCAP_DGH __khwcap2_feature(DGH) |
129 | | -#define KERNEL_HWCAP_RNG __khwcap2_feature(RNG) |
130 | | -#define KERNEL_HWCAP_BTI __khwcap2_feature(BTI) |
131 | | -#define KERNEL_HWCAP_MTE __khwcap2_feature(MTE) |
132 | | -#define KERNEL_HWCAP_ECV __khwcap2_feature(ECV) |
133 | | -#define KERNEL_HWCAP_AFP __khwcap2_feature(AFP) |
134 | | -#define KERNEL_HWCAP_RPRES __khwcap2_feature(RPRES) |
135 | | -#define KERNEL_HWCAP_MTE3 __khwcap2_feature(MTE3) |
136 | | -#define KERNEL_HWCAP_SME __khwcap2_feature(SME) |
137 | | -#define KERNEL_HWCAP_SME_I16I64 __khwcap2_feature(SME_I16I64) |
138 | | -#define KERNEL_HWCAP_SME_F64F64 __khwcap2_feature(SME_F64F64) |
139 | | -#define KERNEL_HWCAP_SME_I8I32 __khwcap2_feature(SME_I8I32) |
140 | | -#define KERNEL_HWCAP_SME_F16F32 __khwcap2_feature(SME_F16F32) |
141 | | -#define KERNEL_HWCAP_SME_B16F32 __khwcap2_feature(SME_B16F32) |
142 | | -#define KERNEL_HWCAP_SME_F32F32 __khwcap2_feature(SME_F32F32) |
143 | | -#define KERNEL_HWCAP_SME_FA64 __khwcap2_feature(SME_FA64) |
144 | | -#define KERNEL_HWCAP_WFXT __khwcap2_feature(WFXT) |
145 | | -#define KERNEL_HWCAP_EBF16 __khwcap2_feature(EBF16) |
146 | | -#define KERNEL_HWCAP_SVE_EBF16 __khwcap2_feature(SVE_EBF16) |
147 | | -#define KERNEL_HWCAP_CSSC __khwcap2_feature(CSSC) |
148 | | -#define KERNEL_HWCAP_RPRFM __khwcap2_feature(RPRFM) |
149 | | -#define KERNEL_HWCAP_SVE2P1 __khwcap2_feature(SVE2P1) |
150 | | -#define KERNEL_HWCAP_SME2 __khwcap2_feature(SME2) |
151 | | -#define KERNEL_HWCAP_SME2P1 __khwcap2_feature(SME2P1) |
152 | | -#define KERNEL_HWCAP_SME_I16I32 __khwcap2_feature(SME_I16I32) |
153 | | -#define KERNEL_HWCAP_SME_BI32I32 __khwcap2_feature(SME_BI32I32) |
154 | | -#define KERNEL_HWCAP_SME_B16B16 __khwcap2_feature(SME_B16B16) |
155 | | -#define KERNEL_HWCAP_SME_F16F16 __khwcap2_feature(SME_F16F16) |
156 | | -#define KERNEL_HWCAP_MOPS __khwcap2_feature(MOPS) |
157 | | -#define KERNEL_HWCAP_HBC __khwcap2_feature(HBC) |
158 | | -#define KERNEL_HWCAP_SVE_B16B16 __khwcap2_feature(SVE_B16B16) |
159 | | -#define KERNEL_HWCAP_LRCPC3 __khwcap2_feature(LRCPC3) |
160 | | -#define KERNEL_HWCAP_LSE128 __khwcap2_feature(LSE128) |
161 | | -#define KERNEL_HWCAP_FPMR __khwcap2_feature(FPMR) |
162 | | -#define KERNEL_HWCAP_LUT __khwcap2_feature(LUT) |
163 | | -#define KERNEL_HWCAP_FAMINMAX __khwcap2_feature(FAMINMAX) |
164 | | -#define KERNEL_HWCAP_F8CVT __khwcap2_feature(F8CVT) |
165 | | -#define KERNEL_HWCAP_F8FMA __khwcap2_feature(F8FMA) |
166 | | -#define KERNEL_HWCAP_F8DP4 __khwcap2_feature(F8DP4) |
167 | | -#define KERNEL_HWCAP_F8DP2 __khwcap2_feature(F8DP2) |
168 | | -#define KERNEL_HWCAP_F8E4M3 __khwcap2_feature(F8E4M3) |
169 | | -#define KERNEL_HWCAP_F8E5M2 __khwcap2_feature(F8E5M2) |
170 | | -#define KERNEL_HWCAP_SME_LUTV2 __khwcap2_feature(SME_LUTV2) |
171 | | -#define KERNEL_HWCAP_SME_F8F16 __khwcap2_feature(SME_F8F16) |
172 | | -#define KERNEL_HWCAP_SME_F8F32 __khwcap2_feature(SME_F8F32) |
173 | | -#define KERNEL_HWCAP_SME_SF8FMA __khwcap2_feature(SME_SF8FMA) |
174 | | -#define KERNEL_HWCAP_SME_SF8DP4 __khwcap2_feature(SME_SF8DP4) |
175 | | -#define KERNEL_HWCAP_SME_SF8DP2 __khwcap2_feature(SME_SF8DP2) |
176 | | -#define KERNEL_HWCAP_POE __khwcap2_feature(POE) |
177 | | - |
178 | 64 | #define __khwcap3_feature(x) (const_ilog2(HWCAP3_ ## x) + 128) |
179 | | -#define KERNEL_HWCAP_MTE_FAR __khwcap3_feature(MTE_FAR) |
180 | | -#define KERNEL_HWCAP_MTE_STORE_ONLY __khwcap3_feature(MTE_STORE_ONLY) |
181 | | -#define KERNEL_HWCAP_LSFE __khwcap3_feature(LSFE) |
182 | | -#define KERNEL_HWCAP_LS64 __khwcap3_feature(LS64) |
| 65 | + |
| 66 | +#include "asm/kernel-hwcap.h" |
183 | 67 |
|
184 | 68 | /* |
185 | 69 | * This yields a mask that user programs can use to figure out what |
|
0 commit comments