diff options
author | Adam Glass <adamglass@microsoft.com> | 2025-07-02 10:17:01 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-02 10:17:01 -0700 |
commit | ed27f18e324de1441bb062c6b2ffd2be5875a952 (patch) | |
tree | 04c479436219e9cb9a5a072c014482de34adf428 /lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp | |
parent | de4f283d141ca5d4c7449323354901166c15635e (diff) | |
download | llvm-ed27f18e324de1441bb062c6b2ffd2be5875a952.zip llvm-ed27f18e324de1441bb062c6b2ffd2be5875a952.tar.gz llvm-ed27f18e324de1441bb062c6b2ffd2be5875a952.tar.bz2 |
__sys builtin support for AArch64 (#146456)
Adds support for __sys Clang builtin for AArch64
__sys is a long existing MSVC intrinsic used to manage caches, tlbs, etc
by writing to system registers:
* It takes a macro-generated constant and uses it to form the AArch64 SYS instruction which is MSR with op0=1. The macro drops op0 and expects the implementation to hardcode it to 1 in the encoding.
* Volume use is in systems code (kernels, hypervisors, boot environments, firmware)
* Has an unused return value due to MSVC cut/paste error
Implementation:
* Clang builtin, sharing code with Read/WriteStatusReg
* Hardcodes the op0=1
* Explicitly returns 0
* Code-format change from clang-format
* Unittests included
* Not limited to MSVC-environment as its generally useful and neutral
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp')
0 files changed, 0 insertions, 0 deletions