From 54d8a801b2210a31ce48a77ff51933f4f23a84e9 Mon Sep 17 00:00:00 2001 From: Hsiangkai Wang Date: Mon, 27 May 2013 13:18:08 +0800 Subject: [PATCH] nds32: always polling after gdb attached Do not turn on/off polling as leave/enter debug mode. Enable polling after gdb attached, and disable polling after gdb detached. Change-Id: Id64459b86f44937af7ea5ccfe2cd13e31732eecf Signed-off-by: Hsiangkai Wang Reviewed-on: http://openocd.zylin.com/1574 Tested-by: jenkins Reviewed-by: Spencer Oliver --- src/target/nds32.c | 6 +++--- src/target/nds32_v2.c | 8 -------- src/target/nds32_v3.c | 4 ---- src/target/nds32_v3_common.c | 7 ------- src/target/nds32_v3m.c | 5 +---- 5 files changed, 4 insertions(+), 26 deletions(-) diff --git a/src/target/nds32.c b/src/target/nds32.c index 49fde0c9a..4c9f29134 100644 --- a/src/target/nds32.c +++ b/src/target/nds32.c @@ -2161,8 +2161,6 @@ int nds32_assert_reset(struct target *target) struct aice_port_s *aice = target_to_aice(target); struct nds32_cpu_version *cpu_version = &(nds32->cpu_version); - jtag_poll_set_enabled(true); - if (target->reset_halt) { if ((nds32->soft_reset_halt) || (nds32->edm.version < 0x51) @@ -2205,7 +2203,9 @@ static int nds32_gdb_attach(struct nds32 *nds32) } target_halt(nds32->target); - target_poll(nds32->target); + + /* turn on polling */ + jtag_poll_set_enabled(true); gdb_attached = true; } diff --git a/src/target/nds32_v2.c b/src/target/nds32_v2.c index ceeed0af3..c774194e2 100644 --- a/src/target/nds32_v2.c +++ b/src/target/nds32_v2.c @@ -287,8 +287,6 @@ static int nds32_v2_debug_entry(struct nds32 *nds32, bool enable_watchpoint) { LOG_DEBUG("nds32_v2_debug_entry"); - jtag_poll_set_enabled(false); - if (nds32->virtual_hosting) LOG_WARNING("<-- TARGET WARNING! Virtual hosting is not supported " "under V1/V2 architecture. -->"); @@ -387,8 +385,6 @@ static int nds32_v2_leave_debug_state(struct nds32 *nds32, bool enable_watchpoin register_cache_invalidate(nds32->core_cache); - jtag_poll_set_enabled(true); - return ERROR_OK; } @@ -426,10 +422,6 @@ static int nds32_v2_deassert_reset(struct target *target) retval = target_halt(target); if (retval != ERROR_OK) return retval; - /* call target_poll() to avoid "Halt timed out" */ - CHECK_RETVAL(target_poll(target)); - } else { - jtag_poll_set_enabled(false); } return ERROR_OK; diff --git a/src/target/nds32_v3.c b/src/target/nds32_v3.c index 5996a9080..f1763cb0d 100644 --- a/src/target/nds32_v3.c +++ b/src/target/nds32_v3.c @@ -254,12 +254,8 @@ static int nds32_v3_deassert_reset(struct target *target) if (retval != ERROR_OK) return retval; - /* call target_poll() to avoid "Halt timed out" */ - CHECK_RETVAL(target_poll(target)); } else { /* reset-halt */ - jtag_poll_set_enabled(false); - struct nds32_v3_common *nds32_v3 = target_to_nds32_v3(target); struct nds32 *nds32 = &(nds32_v3->nds32); uint32_t value; diff --git a/src/target/nds32_v3_common.c b/src/target/nds32_v3_common.c index f0cd77d23..b524679e2 100644 --- a/src/target/nds32_v3_common.c +++ b/src/target/nds32_v3_common.c @@ -71,8 +71,6 @@ static int nds32_v3_debug_entry(struct nds32 *nds32, bool enable_watchpoint) { LOG_DEBUG("nds32_v3_debug_entry"); - jtag_poll_set_enabled(false); - enum target_state backup_state = nds32->target->state; nds32->target->state = TARGET_HALTED; @@ -117,8 +115,6 @@ static int nds32_v3_debug_entry(struct nds32 *nds32, bool enable_watchpoint) if (enable_watchpoint) CHECK_RETVAL(v3_common_callback->activate_hardware_watchpoint(nds32->target)); - jtag_poll_set_enabled(true); - return ERROR_FAIL; } @@ -228,9 +224,6 @@ static int nds32_v3_leave_debug_state(struct nds32 *nds32, bool enable_watchpoin target_add_breakpoint(target, &syscall_breakpoint); } - /* enable polling */ - jtag_poll_set_enabled(true); - return ERROR_OK; } diff --git a/src/target/nds32_v3m.c b/src/target/nds32_v3m.c index d72d98691..35a763780 100644 --- a/src/target/nds32_v3m.c +++ b/src/target/nds32_v3m.c @@ -235,10 +235,7 @@ static int nds32_v3m_deassert_reset(struct target *target) retval = target_halt(target); if (retval != ERROR_OK) return retval; - /* call target_poll() to avoid "Halt timed out" */ - CHECK_RETVAL(target_poll(target)); - } else { - jtag_poll_set_enabled(false); + } return ERROR_OK;