@@ -138,6 +138,12 @@ struct cpuinfo_arm_linux_proc_cpuinfo_cache {
138138#define CPUINFO_ARM_LINUX_FEATURE2_RNG UINT32_C(0x00010000)
139139#define CPUINFO_ARM_LINUX_FEATURE2_BTI UINT32_C(0x00020000)
140140#define CPUINFO_ARM_LINUX_FEATURE2_SME UINT32_C(0x00800000)
141+ #define CPUINFO_ARM_LINUX_FEATURE2_SME2 UINT64_C(0x0000002000000000)
142+ #define CPUINFO_ARM_LINUX_FEATURE2_SME2P1 UINT64_C(0x0000004000000000)
143+ #define CPUINFO_ARM_LINUX_FEATURE2_SME_I16I32 UINT64_C(0x0000008000000000)
144+ #define CPUINFO_ARM_LINUX_FEATURE2_SME_BI32I32 UINT64_C(0x0000010000000000)
145+ #define CPUINFO_ARM_LINUX_FEATURE2_SME_B16B16 UINT64_C(0x0000020000000000)
146+ #define CPUINFO_ARM_LINUX_FEATURE2_SME_F16F16 UINT64_C(0x0000040000000000)
141147#endif
142148
143149#define CPUINFO_ARM_LINUX_VALID_ARCHITECTURE UINT32_C(0x00010000)
@@ -173,7 +179,7 @@ struct cpuinfo_arm_linux_processor {
173179 struct cpuinfo_arm_linux_proc_cpuinfo_cache proc_cpuinfo_cache ;
174180#endif
175181 uint32_t features ;
176- uint32_t features2 ;
182+ uint64_t features2 ;
177183 /**
178184 * Main ID Register value.
179185 */
@@ -296,14 +302,14 @@ CPUINFO_INTERNAL bool cpuinfo_arm_linux_parse_proc_cpuinfo(
296302#if CPUINFO_ARCH_ARM
297303CPUINFO_INTERNAL bool cpuinfo_arm_linux_hwcap_from_getauxval (
298304 uint32_t hwcap [restrict static 1 ],
299- uint32_t hwcap2 [restrict static 1 ]);
305+ uint64_t hwcap2 [restrict static 1 ]);
300306CPUINFO_INTERNAL bool cpuinfo_arm_linux_hwcap_from_procfs (
301307 uint32_t hwcap [restrict static 1 ],
302- uint32_t hwcap2 [restrict static 1 ]);
308+ uint64_t hwcap2 [restrict static 1 ]);
303309
304310CPUINFO_INTERNAL void cpuinfo_arm_linux_decode_isa_from_proc_cpuinfo (
305311 uint32_t features ,
306- uint32_t features2 ,
312+ uint64_t features2 ,
307313 uint32_t midr ,
308314 uint32_t architecture_version ,
309315 uint32_t architecture_flags ,
@@ -312,11 +318,11 @@ CPUINFO_INTERNAL void cpuinfo_arm_linux_decode_isa_from_proc_cpuinfo(
312318#elif CPUINFO_ARCH_ARM64
313319CPUINFO_INTERNAL void cpuinfo_arm_linux_hwcap_from_getauxval (
314320 uint32_t hwcap [restrict static 1 ],
315- uint32_t hwcap2 [restrict static 1 ]);
321+ uint64_t hwcap2 [restrict static 1 ]);
316322
317323CPUINFO_INTERNAL void cpuinfo_arm64_linux_decode_isa_from_proc_cpuinfo (
318324 uint32_t features ,
319- uint32_t features2 ,
325+ uint64_t features2 ,
320326 uint32_t midr ,
321327 const struct cpuinfo_arm_chipset chipset [restrict static 1 ],
322328 struct cpuinfo_arm_isa isa [restrict static 1 ]);
0 commit comments