From 5711203e20fb11fa6d0f1acac714bca5833f17d8 Mon Sep 17 00:00:00 2001 From: ntfreak Date: Mon, 17 Nov 2008 17:56:44 +0000 Subject: - add support for hardware breakpoints to mips32 target git-svn-id: svn://svn.berlios.de/openocd/trunk@1173 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/target/mips32.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/target/mips32.h') diff --git a/src/target/mips32.h b/src/target/mips32.h index 9018d85c..8a484487 100644 --- a/src/target/mips32.h +++ b/src/target/mips32.h @@ -37,6 +37,14 @@ enum MIPS32NUMCOREREGS }; +typedef struct mips32_comparator_s +{ + int used; + //int type; + u32 bp_value; + u32 reg_address; +} mips32_comparator_t; + typedef struct mips32_common_s { int common_magic; @@ -45,6 +53,14 @@ typedef struct mips32_common_s mips_ejtag_t ejtag_info; u32 core_regs[MIPS32NUMCOREREGS]; + int bp_scanned; + int num_inst_bpoints; + int num_data_bpoints; + int num_inst_bpoints_avail; + int num_data_bpoints_avail; + mips32_comparator_t *inst_break_list; + mips32_comparator_t *data_break_list; + /* register cache to processor synchronization */ int (*read_core_reg)(struct target_s *target, int num); int (*write_core_reg)(struct target_s *target, int num); @@ -108,6 +124,8 @@ extern int mips32_restore_context(target_t *target); extern int mips32_save_context(target_t *target); extern reg_cache_t *mips32_build_reg_cache(target_t *target); extern int mips32_run_algorithm(struct target_s *target, int num_mem_params, mem_param_t *mem_params, int num_reg_params, reg_param_t *reg_params, u32 entry_point, u32 exit_point, int timeout_ms, void *arch_info); +extern int mips32_configure_break_unit(struct target_s *target); +extern int mips32_examine(struct target_s *target); extern int mips32_register_commands(struct command_context_s *cmd_ctx); extern int mips32_invalidate_core_regs(target_t *target); -- cgit v1.2.3-18-g5258