[all-commits] [llvm/llvm-project] 73a2b9: [lldb][AArch64][Linux] Handle SME only and kernels...

David Spickett via All-commits all-commits at lists.llvm.org
Wed Apr 8 03:38:26 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 73a2b9043ebc9e92fb0dcdeb45dc91fb2abeff4b
      https://github.com/llvm/llvm-project/commit/73a2b9043ebc9e92fb0dcdeb45dc91fb2abeff4b
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-04-08 (Wed, 08 Apr 2026)

  Changed paths:
    M lldb/docs/use/aarch64-linux.md
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    M lldb/test/API/linux/aarch64/sme_only_registers/TestSMEOnlyRegisters.py
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb][AArch64][Linux] Handle SME only and kernels < 6.19 (#189982)

Part of #138717.

The feature we need to use to restore non-streaming mode after an
expression enters streaming mode was only added recently in kernel 6.19.

There is no other way to restore this state, so I have adjusted the code
to use the normal FP restore path for every state other than: on an SME
only system and in streaming mode and restoring non-streaming state

If that fails, we're on < 6.19 and all we can do is accept it and
restore the rest of the register state.

I've updated the tests to check kernel version and for < 6.19 remove any
expression tests that hit this specific state. I could have set up
expected state for them, but it's basically undefined behaviour, and I
think it would make the already complex tests even worse.

Documentation now mentions the required version, and release notes link
to that documentation.

Tested on an ARM FVP configured to SME only with kernel 6.18 and 6.19,
and a Graviton 3 with only SVE.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list