X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Ftarget%2Fmips_m4k.c;h=a83217ff957498c016aad30b13315d250c86f929;hb=4e56a2303b3f68bb647d8bb640a830f7f21ea231;hp=6dd00ad5c1e1a1baf6476d09e10e5437be7d45fa;hpb=98723c4ecdbe06f90c66f3abec27b792c3b38e34;p=openocd diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c index 6dd00ad5..a83217ff 100644 --- a/src/target/mips_m4k.c +++ b/src/target/mips_m4k.c @@ -23,10 +23,12 @@ #include "config.h" #endif +#include "breakpoints.h" #include "mips32.h" #include "mips_m4k.h" #include "mips32_dmaacc.h" #include "target_type.h" +#include "register.h" /* cli handling */ @@ -39,7 +41,6 @@ int mips_m4k_resume(struct target *target, int current, uint32_t address, int ha int mips_m4k_step(struct target *target, int current, uint32_t address, int handle_breakpoints); int mips_m4k_read_memory(struct target *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer); int mips_m4k_write_memory(struct target *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer); -int mips_m4k_register_commands(struct command_context *cmd_ctx); int mips_m4k_init_target(struct command_context *cmd_ctx, struct target *target); int mips_m4k_target_create(struct target *target, Jim_Interp *interp); @@ -80,7 +81,6 @@ struct target_type mips_m4k_target = .add_watchpoint = mips_m4k_add_watchpoint, .remove_watchpoint = mips_m4k_remove_watchpoint, - .register_commands = mips_m4k_register_commands, .target_create = mips_m4k_target_create, .init_target = mips_m4k_init_target, .examine = mips_m4k_examine, @@ -307,7 +307,7 @@ int mips_m4k_assert_reset(struct target *target) target->state = TARGET_RESET; jtag_add_sleep(50000); - mips32_invalidate_core_regs(target); + register_cache_invalidate(mips32->core_cache); if (target->reset_halt) { @@ -408,7 +408,7 @@ int mips_m4k_resume(struct target *target, int current, uint32_t address, int ha target->debug_reason = DBG_REASON_NOTHALTED; /* registers are now invalid */ - mips32_invalidate_core_regs(target); + register_cache_invalidate(mips32->core_cache); if (!debug_execution) { @@ -465,7 +465,7 @@ int mips_m4k_step(struct target *target, int current, uint32_t address, int hand mips_ejtag_exit_debug(ejtag_info); /* registers are now invalid */ - mips32_invalidate_core_regs(target); + register_cache_invalidate(mips32->core_cache); if (breakpoint) mips_m4k_set_breakpoint(target, breakpoint); @@ -511,10 +511,9 @@ int mips_m4k_set_breakpoint(struct target *target, struct breakpoint *breakpoint bp_num++; if (bp_num >= mips32->num_inst_bpoints) { - LOG_DEBUG("ERROR Can not find free FP Comparator(bpid: %d)", + LOG_ERROR("Can not find free FP Comparator(bpid: %d)", breakpoint->unique_id ); - LOG_WARNING("ERROR Can not find free FP Comparator"); - exit(-1); + return ERROR_FAIL; } breakpoint->set = bp_num + 1; comparator_list[bp_num].used = 1; @@ -722,9 +721,8 @@ int mips_m4k_set_watchpoint(struct target *target, struct watchpoint *watchpoint wp_num++; if (wp_num >= mips32->num_data_bpoints) { - LOG_DEBUG("ERROR Can not find free FP Comparator"); - LOG_WARNING("ERROR Can not find free FP Comparator"); - exit(-1); + LOG_ERROR("Can not find free FP Comparator"); + return ERROR_FAIL; } if (watchpoint->length != 4) @@ -902,14 +900,6 @@ int mips_m4k_write_memory(struct target *target, uint32_t address, uint32_t size return mips32_dmaacc_write_mem(ejtag_info, address, size, count, (void *)buffer); } -int mips_m4k_register_commands(struct command_context *cmd_ctx) -{ - int retval; - - retval = mips32_register_commands(cmd_ctx); - return retval; -} - int mips_m4k_init_target(struct command_context *cmd_ctx, struct target *target) { mips32_build_reg_cache(target);