X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Farm9tdmi.c;h=301412cd7936dc4cc98894d148dfb9a8317a38f9;hp=38b2284b680beb61c64286ac805573671bb188f8;hb=0529c14bfeb113ee37f4d961f9309102d57a1e39;hpb=69c751956293e822faa6cf844f2864d81c36a578 diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c index 38b2284b68..301412cd79 100644 --- a/src/target/arm9tdmi.c +++ b/src/target/arm9tdmi.c @@ -30,6 +30,7 @@ #include "arm9tdmi.h" #include "target_type.h" #include "register.h" +#include "arm_opcodes.h" /* @@ -664,7 +665,7 @@ static void arm9tdmi_branch_resume_thumb(struct target *target) LOG_DEBUG("-"); struct arm7_9_common *arm7_9 = target_to_arm7_9(target); - struct armv4_5_common_s *armv4_5 = &arm7_9->armv4_5_common; + struct arm *armv4_5 = &arm7_9->armv4_5_common; struct arm_jtag *jtag_info = &arm7_9->jtag_info; struct reg *dbg_stat = &arm7_9->eice_cache->reg_list[EICE_DBG_STAT]; @@ -751,9 +752,9 @@ void arm9tdmi_disable_single_step(struct target *target) static void arm9tdmi_build_reg_cache(struct target *target) { struct reg_cache **cache_p = register_get_last_cache_p(&target->reg_cache); - struct armv4_5_common_s *armv4_5 = target_to_armv4_5(target); + struct arm *armv4_5 = target_to_arm(target); - (*cache_p) = armv4_5_build_reg_cache(target, armv4_5); + (*cache_p) = arm_build_reg_cache(target, armv4_5); } int arm9tdmi_init_target(struct command_context *cmd_ctx, @@ -908,21 +909,27 @@ COMMAND_HANDLER(handle_arm9tdmi_catch_vectors_command) return ERROR_OK; } -int arm9tdmi_register_commands(struct command_context *cmd_ctx) -{ - int retval; - struct command *arm9tdmi_cmd; - - retval = arm7_9_register_commands(cmd_ctx); - arm9tdmi_cmd = register_command(cmd_ctx, NULL, "arm9", - NULL, COMMAND_ANY, - "arm9 specific commands"); - register_command(cmd_ctx, arm9tdmi_cmd, "vector_catch", - handle_arm9tdmi_catch_vectors_command, COMMAND_EXEC, - "arm9 vector_catch [all|none|reset|undef|swi|pabt|dabt|irq|fiq] ..."); - - return retval; -} +static const struct command_registration arm9tdmi_exec_command_handlers[] = { + { + .name = "vector_catch", + .handler = handle_arm9tdmi_catch_vectors_command, + .mode = COMMAND_EXEC, + .usage = "[all|none|reset|undef|swi|pabt|dabt|irq|fiq] ...", + }, + COMMAND_REGISTRATION_DONE +}; +const struct command_registration arm9tdmi_command_handlers[] = { + { + .chain = arm7_9_command_handlers, + }, + { + .name = "arm9tdmi", + .mode = COMMAND_ANY, + .help = "arm9tdmi command group", + .chain = arm9tdmi_exec_command_handlers, + }, + COMMAND_REGISTRATION_DONE +}; /** Holds methods for ARM9TDMI targets. */ struct target_type arm9tdmi_target = @@ -930,7 +937,7 @@ struct target_type arm9tdmi_target = .name = "arm9tdmi", .poll = arm7_9_poll, - .arch_state = armv4_5_arch_state, + .arch_state = arm_arch_state, .target_request_data = arm7_9_target_request_data, @@ -942,7 +949,7 @@ struct target_type arm9tdmi_target = .deassert_reset = arm7_9_deassert_reset, .soft_reset_halt = arm7_9_soft_reset_halt, - .get_gdb_reg_list = armv4_5_get_gdb_reg_list, + .get_gdb_reg_list = arm_get_gdb_reg_list, .read_memory = arm7_9_read_memory, .write_memory = arm7_9_write_memory, @@ -958,7 +965,7 @@ struct target_type arm9tdmi_target = .add_watchpoint = arm7_9_add_watchpoint, .remove_watchpoint = arm7_9_remove_watchpoint, - .register_commands = arm9tdmi_register_commands, + .commands = arm9tdmi_command_handlers, .target_create = arm9tdmi_target_create, .init_target = arm9tdmi_init_target, .examine = arm7_9_examine,