X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Ftarget%2Farmv7m.c;h=6d8ad5f1a0a9d5ac08318a46328d349932f004c8;hb=144e3678bd2d518388b6c2d7f3d2a912a9ac2abd;hp=56fbb05dd3cd7b195272bf8516e0586ded2add4b;hpb=d6c8945662e6027f6ba12d73bac2473088672db5;p=openocd diff --git a/src/target/armv7m.c b/src/target/armv7m.c index 56fbb05d..6d8ad5f1 100644 --- a/src/target/armv7m.c +++ b/src/target/armv7m.c @@ -246,21 +246,6 @@ static int armv7m_write_core_reg(struct target *target, unsigned num) return ERROR_OK; } -/** Invalidates cache of core registers set up by armv7m_build_reg_cache(). */ -int armv7m_invalidate_core_regs(struct target *target) -{ - struct armv7m_common *armv7m = target_to_armv7m(target); - int i; - - for (i = 0; i < armv7m->core_cache->num_regs; i++) - { - armv7m->core_cache->reg_list[i].valid = 0; - armv7m->core_cache->reg_list[i].dirty = 0; - } - - return ERROR_OK; -} - /** * Returns generic ARM userspace registers to GDB. * GDB doesn't quite understand that most ARMs don't have floating point @@ -810,34 +795,54 @@ COMMAND_HANDLER(handle_dap_info_command) return dap_info_command(CMD_CTX, swjdp, apsel); } -/** Registers commands used to access DAP resources. */ +static const struct command_registration armv7m_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 armv7m_command_handlers[] = { + { + .name = "dap", + .mode = COMMAND_ANY, + .help = "Cortex DAP command group", + .chain = armv7m_exec_command_handlers, + }, + COMMAND_REGISTRATION_DONE +}; + int armv7m_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, - "Displays 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, - "Displays 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, - "Displays 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, armv7m_command_handlers); }