DavidSpickett wrote: I checked cpuinfo and hwcaps for 6.5 (doesn't have the fix) and 6.15 (does, and it was what I was using anyway). Same machine configuration, SME only.
``` $ uname -a Linux e125016 6.5.0 #6 SMP PREEMPT Tue May 20 09:43:29 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux Features : fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop asimddp asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti ecv afp sme smei16i64 smef64f64 smei8i32 smef16f32 smeb16f32 smef32f32 wfxt ebf16 sveebf16 cssc sme2 smei16i32 smebi32i32 mops $ LD_SHOW_AUXV=1 sleep 1 AT_SYSINFO_EHDR: 0xffff87d8b000 AT_MINSIGSTKSZ: 4720 AT_HWCAP: ef91ff87 AT_PAGESZ: 4096 AT_CLKTCK: 100 AT_PHDR: 0xaaaabc250040 AT_PHENT: 56 AT_PHNUM: 9 AT_BASE: 0xffff87d52000 AT_FLAGS: 0x0 AT_ENTRY: 0xaaaabc251c80 AT_UID: 1000 AT_EUID: 1000 AT_GID: 1000 AT_EGID: 1000 AT_SECURE: 0 AT_RANDOM: 0xffffc107e7f8 AT_HWCAP2: 0x9a7bf9bf383 AT_EXECFN: /usr/bin/sleep AT_PLATFORM: aarch64 AT_??? (0x1b): 0x1c AT_??? (0x1c): 0x20 ``` The cpuinfo reports SME and SVE2, no SVE but some SVE sub features like svebf16 are there (though they might be part of SVE2). ``` $ uname -a Linux e125016 6.15.0-rc1-00035-g33c4618d0ac0 #7 SMP PREEMPT Tue May 20 10:16:56 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux Features : fp asimd evtstrm crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop asimddp asimdfhm dit uscat ilrcpc flagm sb paca pacg gcs dcpodp flagm2 frint i8mm bf16 dgh rng bti ecv afp sme smei16i64 smef64f64 smei8i32 smef16f32 smeb16f32 smef32f32 wfxt ebf16 cssc sme2 smei16i32 smebi32i32 mops hbc poe $ LD_SHOW_AUXV=1 sleep 1 AT_SYSINFO_EHDR: 0xffff8a0e1000 AT_MINSIGSTKSZ: 4720 AT_HWCAP: 1ef91ff87 AT_PAGESZ: 4096 AT_CLKTCK: 100 AT_PHDR: 0xaaaac5360040 AT_PHENT: 56 AT_PHNUM: 9 AT_BASE: 0xffff8a0a9000 AT_FLAGS: 0x0 AT_ENTRY: 0xaaaac5361c80 AT_UID: 1000 AT_EUID: 1000 AT_GID: 1000 AT_EGID: 1000 AT_SECURE: 0 AT_RANDOM: 0xffffccef9b58 AT_HWCAP2: 0x800019a5bf9be181 AT_??? (0x1d): 0x0 AT_EXECFN: /usr/bin/sleep AT_PLATFORM: aarch64 AT_??? (0x1b): 0x1c AT_??? (0x1c): 0x20 ``` With the fix it now reports SME and no SVE features at all. Decoding the HWCAPS I saw this difference: ``` $ diff 65_features 615_features 23a24 > HWCAP_GCS 26d26 < HWCAP2_SVE2 29,30d28 < HWCAP2_SVEI8MM < HWCAP2_SVEBF16 47d44 < HWCAP2_SVE_EBF16 53,54c50,51 < < --- > HWCAP2_HBC > HWCAP2_POE ``` Some of this is the kernel gaining new feature support. The relevant bits are that 6.15 removes HWCAP2_SVE2, HWCAP2_SVEI8MM, HWCAP2_SVEBF16 and HWCAP2_SVE_EBF16. And side note: a kernel developer told me that you can simulate this in qemu if you tell the kernel to hide the SVE feature using some sort of boot parameter. I haven't found out what yet, but the effect is equivalent for this purpose. https://github.com/llvm/llvm-project/pull/135563 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits