[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