aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/target/mips_ejtag.c23
-rw-r--r--src/target/mips_ejtag.h1
-rw-r--r--src/target/mips_m4k.c11
3 files changed, 2 insertions, 33 deletions
diff --git a/src/target/mips_ejtag.c b/src/target/mips_ejtag.c
index c2bee941..bd7ae14d 100644
--- a/src/target/mips_ejtag.c
+++ b/src/target/mips_ejtag.c
@@ -248,29 +248,6 @@ int mips_ejtag_exit_debug(struct mips_ejtag *ejtag_info)
return mips32_pracc_exec(ejtag_info, 1, &inst, 0, NULL, 0, NULL, 0);
}
-int mips_ejtag_read_debug(struct mips_ejtag *ejtag_info, uint32_t* debug_reg)
-{
- /* read ejtag ECR */
- static const uint32_t code[] = {
- MIPS32_MTC0(15, 31, 0), /* move $15 to COP0 DeSave */
- MIPS32_LUI(15, UPPER16(MIPS32_PRACC_STACK)), /* $15 = MIPS32_PRACC_STACK */
- MIPS32_ORI(15, 15, LOWER16(MIPS32_PRACC_STACK)),
- MIPS32_SW(1, 0, 15), /* sw $1,($15) */
- MIPS32_SW(2, 0, 15), /* sw $2,($15) */
- MIPS32_LUI(1, UPPER16(MIPS32_PRACC_PARAM_OUT)), /* $1 = MIPS32_PRACC_PARAM_OUT */
- MIPS32_ORI(1, 1, LOWER16(MIPS32_PRACC_PARAM_OUT)),
- MIPS32_MFC0(2, 23, 0), /* move COP0 Debug to $2 */
- MIPS32_SW(2, 0, 1),
- MIPS32_LW(2, 0, 15),
- MIPS32_LW(1, 0, 15),
- MIPS32_B(NEG16(12)),
- MIPS32_MFC0(15, 31, 0), /* move COP0 DeSave to $15 */
- };
-
- return mips32_pracc_exec(ejtag_info, ARRAY_SIZE(code), code,
- 0, NULL, 1, debug_reg, 1);
-}
-
int mips_ejtag_init(struct mips_ejtag *ejtag_info)
{
uint32_t ejtag_version;
diff --git a/src/target/mips_ejtag.h b/src/target/mips_ejtag.h
index be2af27e..653103cd 100644
--- a/src/target/mips_ejtag.h
+++ b/src/target/mips_ejtag.h
@@ -143,7 +143,6 @@ int mips_ejtag_fastdata_scan(struct mips_ejtag *ejtag_info, int write_t, uint32_
int mips_ejtag_init(struct mips_ejtag *ejtag_info);
int mips_ejtag_config_step(struct mips_ejtag *ejtag_info, int enable_step);
-int mips_ejtag_read_debug(struct mips_ejtag *ejtag_info, uint32_t* debug_reg);
static inline void mips_le_to_h_u32(jtag_callback_data_t arg)
{
diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c
index 1a10d5a9..9a3d929c 100644
--- a/src/target/mips_m4k.c
+++ b/src/target/mips_m4k.c
@@ -82,10 +82,9 @@ static int mips_m4k_debug_entry(struct target *target)
{
struct mips32_common *mips32 = target_to_mips32(target);
struct mips_ejtag *ejtag_info = &mips32->ejtag_info;
- uint32_t debug_reg;
- /* read debug register */
- mips_ejtag_read_debug(ejtag_info, &debug_reg);
+ /* make sure stepping disabled, SSt bit in CP0 debug register cleared */
+ mips_ejtag_config_step(ejtag_info, 0);
/* make sure break unit configured */
mips32_configure_break_unit(target);
@@ -93,12 +92,6 @@ static int mips_m4k_debug_entry(struct target *target)
/* attempt to find halt reason */
mips_m4k_examine_debug_reason(target);
- /* clear single step if active */
- if (debug_reg & EJTAG_DEBUG_DSS) {
- /* stopped due to single step - clear step bit */
- mips_ejtag_config_step(ejtag_info, 0);
- }
-
mips32_save_context(target);
/* default to mips32 isa, it will be changed below if required */