nds32: always polling after gdb attached 74/1574/7
authorHsiangkai Wang <hsiangkai@gmail.com>
Mon, 27 May 2013 05:18:08 +0000 (13:18 +0800)
committerSpencer Oliver <spen@spen-soft.co.uk>
Fri, 13 Sep 2013 19:37:28 +0000 (19:37 +0000)
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 <hsiangkai@gmail.com>
Reviewed-on: http://openocd.zylin.com/1574
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/target/nds32.c
src/target/nds32_v2.c
src/target/nds32_v3.c
src/target/nds32_v3_common.c
src/target/nds32_v3m.c

index 49fde0c9abb2c7b89172255fc0d0682b39a4f5d6..4c9f29134b32b9cdd4d15e7eb3176dd17cfe5bbb 100644 (file)
@@ -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;
        }
index ceeed0af35624f1d243b3f3d1068eee34189692d..c774194e263057c294d6a8587c8ddd638f116b66 100644 (file)
@@ -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;
index 5996a908095efb2dac80fb08d2abb8b94f2a521e..f1763cb0db66e6af4092f529bbab12c8e49556af 100644 (file)
@@ -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;
index f0cd77d234079ab1e37a768adbf2be16f5311f87..b524679e286e2eae1c4fdc8e90e21cff86360fb6 100644 (file)
@@ -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;
 }
 
index d72d986915fb0246caf49b73a20c354eb1e146c0..35a76378021a6b77777df86100dd63695153f56b 100644 (file)
@@ -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;

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)