[Lldb-commits] [lldb] [lldb][debugserver] Read/write SME registers on arm64 (PR #119171)
via lldb-commits
lldb-commits at lists.llvm.org
Sun Dec 8 22:34:04 PST 2024
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff 74e8a37ff32e599fd40858e0d6c7e531dcbe4e03 2e3738eb7ed356fe4f9ee24a31af55a01b18bd08 --extensions h,cpp,c -- lldb/test/API/macosx/sme-registers/main.c lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp lldb/tools/debugserver/source/DNBDefs.h lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.h lldb/tools/debugserver/source/RNBRemote.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/lldb/test/API/macosx/sme-registers/main.c b/lldb/test/API/macosx/sme-registers/main.c
index 00bbb4a555..04f674d35d 100644
--- a/lldb/test/API/macosx/sme-registers/main.c
+++ b/lldb/test/API/macosx/sme-registers/main.c
@@ -1,12 +1,10 @@
/// BUILT with
-/// xcrun -sdk macosx.internal clang -mcpu=apple-m4 -g sme.c -o sme
+/// xcrun -sdk macosx.internal clang -mcpu=apple-m4 -g sme.c -o sme
-
-#include <stdio.h>
#include <stdint.h>
+#include <stdio.h>
#include <stdlib.h>
-
void write_sve_regs() {
asm volatile("ptrue p0.b\n\t");
asm volatile("ptrue p1.h\n\t");
@@ -78,37 +76,29 @@ void set_za_register(int svl, int value_offset) {
}
}
-static uint16_t
-arm_sme_svl_b(void)
-{
- uint64_t ret = 0;
- asm volatile (
- "rdsvl %[ret], #1"
- : [ret] "=r"(ret)
- );
- return (uint16_t)ret;
+static uint16_t arm_sme_svl_b(void) {
+ uint64_t ret = 0;
+ asm volatile("rdsvl %[ret], #1" : [ret] "=r"(ret));
+ return (uint16_t)ret;
}
-
// lldb/test/API/commands/register/register/aarch64_sme_z_registers/save_restore/main.c
-void
-arm_sme2_set_zt0() {
+void arm_sme2_set_zt0() {
#define ZTO_LEN (512 / 8)
- uint8_t data[ZTO_LEN];
- for (unsigned i = 0; i < ZTO_LEN; ++i)
- data[i] = i + 0;
+ uint8_t data[ZTO_LEN];
+ for (unsigned i = 0; i < ZTO_LEN; ++i)
+ data[i] = i + 0;
- asm volatile("ldr zt0, [%0]" ::"r"(&data));
+ asm volatile("ldr zt0, [%0]" ::"r"(&data));
#undef ZT0_LEN
}
-int main()
-{
+int main() {
printf("Enable SME mode\n");
- asm volatile ("smstart");
-
+ asm volatile("smstart");
+
write_sve_regs();
set_za_register(arm_sme_svl_b(), 4);
@@ -119,5 +109,5 @@ int main()
c += 5;
c += 5;
- asm volatile ("smstop");
+ asm volatile("smstop");
}
diff --git a/lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h b/lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h
index c4e845a1f9..d8e69ade1f 100644
--- a/lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h
+++ b/lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h
@@ -9,78 +9,69 @@
#if !defined(ARM_SME_STATE)
#define _STRUCT_ARM_SME_STATE struct arm_sme_state
-_STRUCT_ARM_SME_STATE
-{
- uint64_t svcr;
- uint64_t tpidr2_el0;
- uint16_t svl_b;
+_STRUCT_ARM_SME_STATE {
+ uint64_t svcr;
+ uint64_t tpidr2_el0;
+ uint16_t svl_b;
};
#define _STRUCT_ARM_SVE_Z_STATE struct arm_sve_z_state
-_STRUCT_ARM_SVE_Z_STATE
-{
- char z[16][256];
-} __attribute__((aligned(alignof(unsigned int))));
+_STRUCT_ARM_SVE_Z_STATE { char z[16][256]; }
+__attribute__((aligned(alignof(unsigned int))));
#define _STRUCT_ARM_SVE_P_STATE struct arm_sve_p_state
-_STRUCT_ARM_SVE_P_STATE
-{
- char p[16][256 / 8];
-} __attribute__((aligned(alignof(unsigned int))));
+_STRUCT_ARM_SVE_P_STATE { char p[16][256 / 8]; }
+__attribute__((aligned(alignof(unsigned int))));
#define _STRUCT_ARM_SME_ZA_STATE struct arm_sme_za_state
-_STRUCT_ARM_SME_ZA_STATE
-{
- char za[4096];
-} __attribute__((aligned(alignof(unsigned int))));
+_STRUCT_ARM_SME_ZA_STATE { char za[4096]; }
+__attribute__((aligned(alignof(unsigned int))));
#define _STRUCT_ARM_SME2_STATE struct arm_sme2_state
-_STRUCT_ARM_SME2_STATE
-{
- char zt0[64];
-} __attribute__((aligned(alignof(unsigned int))));
+_STRUCT_ARM_SME2_STATE { char zt0[64]; }
+__attribute__((aligned(alignof(unsigned int))));
-#define ARM_SME_STATE 28
-#define ARM_SVE_Z_STATE1 29
-#define ARM_SVE_Z_STATE2 30
-#define ARM_SVE_P_STATE 31
-#define ARM_SME_ZA_STATE1 32
-#define ARM_SME_ZA_STATE2 33
-#define ARM_SME_ZA_STATE3 34
-#define ARM_SME_ZA_STATE4 35
-#define ARM_SME_ZA_STATE5 36
-#define ARM_SME_ZA_STATE6 37
-#define ARM_SME_ZA_STATE7 38
-#define ARM_SME_ZA_STATE8 39
-#define ARM_SME_ZA_STATE9 40
-#define ARM_SME_ZA_STATE10 41
-#define ARM_SME_ZA_STATE11 42
-#define ARM_SME_ZA_STATE12 42
-#define ARM_SME_ZA_STATE13 44
-#define ARM_SME_ZA_STATE14 45
-#define ARM_SME_ZA_STATE15 46
-#define ARM_SME_ZA_STATE16 47
-#define ARM_SME2_STATE 48
+#define ARM_SME_STATE 28
+#define ARM_SVE_Z_STATE1 29
+#define ARM_SVE_Z_STATE2 30
+#define ARM_SVE_P_STATE 31
+#define ARM_SME_ZA_STATE1 32
+#define ARM_SME_ZA_STATE2 33
+#define ARM_SME_ZA_STATE3 34
+#define ARM_SME_ZA_STATE4 35
+#define ARM_SME_ZA_STATE5 36
+#define ARM_SME_ZA_STATE6 37
+#define ARM_SME_ZA_STATE7 38
+#define ARM_SME_ZA_STATE8 39
+#define ARM_SME_ZA_STATE9 40
+#define ARM_SME_ZA_STATE10 41
+#define ARM_SME_ZA_STATE11 42
+#define ARM_SME_ZA_STATE12 42
+#define ARM_SME_ZA_STATE13 44
+#define ARM_SME_ZA_STATE14 45
+#define ARM_SME_ZA_STATE15 46
+#define ARM_SME_ZA_STATE16 47
+#define ARM_SME2_STATE 48
-typedef _STRUCT_ARM_SME_STATE arm_sme_state_t;
-typedef _STRUCT_ARM_SVE_Z_STATE arm_sve_z_state_t;
-typedef _STRUCT_ARM_SVE_P_STATE arm_sve_p_state_t;
-typedef _STRUCT_ARM_SME_ZA_STATE arm_sme_za_state_t;
-typedef _STRUCT_ARM_SME2_STATE arm_sme2_state_t;
+typedef _STRUCT_ARM_SME_STATE arm_sme_state_t;
+typedef _STRUCT_ARM_SVE_Z_STATE arm_sve_z_state_t;
+typedef _STRUCT_ARM_SVE_P_STATE arm_sve_p_state_t;
+typedef _STRUCT_ARM_SME_ZA_STATE arm_sme_za_state_t;
+typedef _STRUCT_ARM_SME2_STATE arm_sme2_state_t;
-#define ARM_SME_STATE_COUNT ((mach_msg_type_number_t) \
- (sizeof (arm_sme_state_t)/sizeof(uint32_t)))
+#define ARM_SME_STATE_COUNT \
+ ((mach_msg_type_number_t)(sizeof(arm_sme_state_t) / sizeof(uint32_t)))
-#define ARM_SVE_Z_STATE_COUNT ((mach_msg_type_number_t) \
- (sizeof (arm_sve_z_state_t)/sizeof(uint32_t)))
+#define ARM_SVE_Z_STATE_COUNT \
+ ((mach_msg_type_number_t)(sizeof(arm_sve_z_state_t) / sizeof(uint32_t)))
-#define ARM_SVE_P_STATE_COUNT ((mach_msg_type_number_t) \
- (sizeof (arm_sve_p_state_t)/sizeof(uint32_t)))
+#define ARM_SVE_P_STATE_COUNT \
+ ((mach_msg_type_number_t)(sizeof(arm_sve_p_state_t) / sizeof(uint32_t)))
-#define ARM_SME_ZA_STATE_COUNT ((mach_msg_type_number_t) \
- (sizeof (arm_sme_za_state_t)/sizeof(uint32_t)))
+#define ARM_SME_ZA_STATE_COUNT \
+ ((mach_msg_type_number_t)(sizeof(arm_sme_za_state_t) / sizeof(uint32_t)))
-#define ARM_SME2_STATE_COUNT ((mach_msg_type_number_t) \
- (sizeof (arm_sme2_state_t)/sizeof(uint32_t)))
+#define ARM_SME2_STATE_COUNT \
+ ((mach_msg_type_number_t)(sizeof(arm_sme2_state_t) / sizeof(uint32_t)))
#endif // !defined(ARM_SME_STATE)
``````````
</details>
https://github.com/llvm/llvm-project/pull/119171
More information about the lldb-commits
mailing list