[Lldb-commits] [lldb] [lldb][debugserver] Read/write SME registers on arm64 (PR #119171)

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Thu Dec 19 01:55:28 PST 2024


DavidSpickett wrote:

I've taken the liberty of repeating the fact that the required APIs are not in a publicly available OS release, at the top of the PR description.

Since we had someone on Discord try this and they could not read the registers. Might save a few enthusiasts some time if they see that note first.

The good thing is that lldb didn't break:
```
Process 24700 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = instruction step over
    frame #0: 0x0000000100003f90 sme`main at main.c:13:5
   10   int main(void) {
   11       __asm("smstart");
   12       __asm("ptrue p0.b");
   13       __asm("fmla z0.s, p0/m, z30.s, z31.s");
-> 14       __asm("smopa za0.s, p0/m, p0/m, z30.b, z30.b");
   15       __asm("luti2  z5.h, zt0, z0[2]");
   16       __asm("smstop");
[...]
# register read -a
Scalable Matrix Extension Registers:
4 registers were unavailable.
```
I think that's exactly what should be happening on an unsupported OS version.

https://github.com/llvm/llvm-project/pull/119171


More information about the lldb-commits mailing list