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

Reply via email to