]> git.sur5r.net Git - openocd/blobdiff - src/target/armv7a.c
cortex_m3: use register_commands()
[openocd] / src / target / armv7a.c
index ea883c16d682ba294fe8ad8624a317f58f48d420..7cc22736e34c5208c6cf95d22e0336df57f8cddb 100644 (file)
@@ -59,7 +59,7 @@ int armv7a_arch_state(struct target *target)
        };
 
        struct armv7a_common *armv7a = target_to_armv7a(target);
-       struct armv4_5_common_s *armv4_5 = &armv7a->armv4_5_common;
+       struct arm *armv4_5 = &armv7a->armv4_5_common;
 
        if (armv7a->common_magic != ARMV7_COMMON_MAGIC)
        {
@@ -74,8 +74,7 @@ int armv7a_arch_state(struct target *target)
                 Jim_Nvp_value2name_simple(nvp_target_debug_reason,
                                target->debug_reason)->name,
                 arm_mode_name(armv4_5->core_mode),
-                buf_get_u32(armv4_5->core_cache
-                               ->reg_list[ARMV4_5_CPSR].value, 0, 32),
+                buf_get_u32(armv4_5->cpsr->value, 0, 32),
                 buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32),
                 state[armv7a->armv4_5_mmu.mmu_enabled],
                 state[armv7a->armv4_5_mmu.armv4_5_cache.d_u_cache_enabled],
@@ -145,33 +144,54 @@ COMMAND_HANDLER(handle_dap_info_command)
        return dap_info_command(CMD_CTX, swjdp, apsel);
 }
 
+static const struct command_registration armv7a_exec_command_handlers[] = {
+       {
+               .name = "info",
+               .handler = &handle_dap_info_command,
+               .mode = COMMAND_EXEC,
+               .help = "dap info for ap [num], "
+                       "default currently selected AP",
+       },
+       {
+               .name = "apsel",
+               .handler = &handle_dap_apsel_command,
+               .mode = COMMAND_EXEC,
+               .help = "select a different AP [num] (default 0)",
+       },
+       {
+               .name = "apid",
+               .handler = &handle_dap_apid_command,
+               .mode = COMMAND_EXEC,
+               .help = "return id reg from AP [num], "
+                       "default currently selected AP",
+       },
+       {
+               .name = "baseaddr",
+               .handler = &handle_dap_baseaddr_command,
+               .mode = COMMAND_EXEC,
+               .help = "return debug base address from AP [num], "
+                       "default currently selected AP",
+       },
+       {
+               .name = "memaccess",
+               .handler = &handle_dap_memaccess_command,
+               .mode = COMMAND_EXEC,
+               .help = "set/get number of extra tck for mem-ap memory "
+                       "bus access [0-255]",
+       },
+       COMMAND_REGISTRATION_DONE
+};
+static const struct command_registration armv7a_command_handlers[] = {
+       {
+               .name = "dap",
+               .mode = COMMAND_ANY,
+               .help = "Cortex DAP command group",
+               .chain = armv7a_exec_command_handlers,
+       },
+       COMMAND_REGISTRATION_DONE
+};
+
 int armv7a_register_commands(struct command_context *cmd_ctx)
 {
-       struct command *arm_adi_v5_dap_cmd;
-
-       arm_adi_v5_dap_cmd = register_command(cmd_ctx, NULL, "dap",
-                       NULL, COMMAND_ANY,
-                       "cortex dap specific commands");
-
-       register_command(cmd_ctx, arm_adi_v5_dap_cmd, "info",
-                       handle_dap_info_command, COMMAND_EXEC,
-                       "dap info for ap [num], "
-                       "default currently selected AP");
-       register_command(cmd_ctx, arm_adi_v5_dap_cmd, "apsel",
-                       handle_dap_apsel_command, COMMAND_EXEC,
-                       "select a different AP [num] (default 0)");
-       register_command(cmd_ctx, arm_adi_v5_dap_cmd, "apid",
-                       handle_dap_apid_command, COMMAND_EXEC,
-                       "return id reg from AP [num], "
-                       "default currently selected AP");
-       register_command(cmd_ctx, arm_adi_v5_dap_cmd, "baseaddr",
-                       handle_dap_baseaddr_command, COMMAND_EXEC,
-                       "return debug base address from AP [num], "
-                       "default currently selected AP");
-       register_command(cmd_ctx, arm_adi_v5_dap_cmd, "memaccess",
-                       handle_dap_memaccess_command, COMMAND_EXEC,
-                       "set/get number of extra tck for mem-ap memory "
-                       "bus access [0-255]");
-
-       return ERROR_OK;
+       return register_commands(cmd_ctx, NULL, armv7a_command_handlers);
 }