nds32: remove .soft_reset_halt dependency 12/1612/4
authorHsiangkai Wang <hsiangkai@gmail.com>
Wed, 4 Sep 2013 05:21:59 +0000 (13:21 +0800)
committerSpencer Oliver <spen@spen-soft.co.uk>
Fri, 13 Sep 2013 19:38:09 +0000 (19:38 +0000)
.soft_reset_halt is not necessary for nds32 target.
Remove the dependency.

Change-Id: Ic3b126d6c7eb995583a661b762627e736222fcaa
Signed-off-by: Hsiangkai Wang <hsiangkai@gmail.com>
Reviewed-on: http://openocd.zylin.com/1612
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_v3_common.h
src/target/nds32_v3m.c

index 4d2564975d841dfa78a5e45f8dc96d41f43319b9..b171afebeb895cea29fe2eb4232e76ca8e9bc530 100644 (file)
@@ -2164,6 +2164,27 @@ int nds32_resume(struct target *target, int current,
        return ERROR_OK;
 }
 
+static int nds32_soft_reset_halt(struct target *target)
+{
+       /* TODO: test it */
+       struct nds32 *nds32 = target_to_nds32(target);
+       struct aice_port_s *aice = target_to_aice(target);
+
+       aice_assert_srst(aice, AICE_SRST);
+
+       /* halt core and set pc to 0x0 */
+       int retval = target_halt(target);
+       if (retval != ERROR_OK)
+               return retval;
+
+       /* start fetching from IVB */
+       uint32_t value_ir3;
+       nds32_get_mapped_reg(nds32, IR3, &value_ir3);
+       nds32_set_mapped_reg(nds32, PC, value_ir3 & 0xFFFF0000);
+
+       return ERROR_OK;
+}
+
 int nds32_assert_reset(struct target *target)
 {
        struct nds32 *nds32 = target_to_nds32(target);
@@ -2177,7 +2198,7 @@ int nds32_assert_reset(struct target *target)
                                && (cpu_version->revision == 0x1C)
                                && (cpu_version->cpu_id_family == 0xC)
                                && (cpu_version->cpu_id_version == 0x0)))
-                       target->type->soft_reset_halt(target);
+                       nds32_soft_reset_halt(target);
                else
                        aice_assert_srst(aice, AICE_RESET_HOLD);
        } else {
index c774194e263057c294d6a8587c8ddd638f116b66..24f5108ccb2d2b07dedfbd6374985efb8a9726c2 100644 (file)
@@ -388,27 +388,6 @@ static int nds32_v2_leave_debug_state(struct nds32 *nds32, bool enable_watchpoin
        return ERROR_OK;
 }
 
-static int nds32_v2_soft_reset_halt(struct target *target)
-{
-       /* TODO: test it */
-       struct nds32 *nds32 = target_to_nds32(target);
-       struct aice_port_s *aice = target_to_aice(target);
-
-       aice_assert_srst(aice, AICE_SRST);
-
-       /* halt core and set pc to 0x0 */
-       int retval = target_halt(target);
-       if (retval != ERROR_OK)
-               return retval;
-
-       /* start fetching from IVB */
-       uint32_t value_ir3;
-       nds32_get_mapped_reg(nds32, IR3, &value_ir3);
-       nds32_set_mapped_reg(nds32, PC, value_ir3 & 0xFFFF0000);
-
-       return ERROR_OK;
-}
-
 static int nds32_v2_deassert_reset(struct target *target)
 {
        int retval;
@@ -774,7 +753,6 @@ struct target_type nds32_v2_target = {
 
        .assert_reset = nds32_assert_reset,
        .deassert_reset = nds32_v2_deassert_reset,
-       .soft_reset_halt = nds32_v2_soft_reset_halt,
 
        /* register access */
        .get_gdb_reg_list = nds32_get_gdb_reg_list,
index f1763cb0db66e6af4092f529bbab12c8e49556af..ea9252e4cc0d3ce36b3b617a9fc9357649ece800 100644 (file)
@@ -484,7 +484,6 @@ struct target_type nds32_v3_target = {
 
        .assert_reset = nds32_assert_reset,
        .deassert_reset = nds32_v3_deassert_reset,
-       .soft_reset_halt = nds32_v3_soft_reset_halt,
 
        /* register access */
        .get_gdb_reg_list = nds32_get_gdb_reg_list,
index 3930c25090b992f74da052a4b9aa883da60f2ce8..531cab09452e0ecccfeed918c065e002418b41ca 100644 (file)
@@ -369,12 +369,6 @@ int nds32_v3_target_request_data(struct target *target,
        return ERROR_OK;
 }
 
-int nds32_v3_soft_reset_halt(struct target *target)
-{
-       struct aice_port_s *aice = target_to_aice(target);
-       return aice_assert_srst(aice, AICE_RESET_HOLD);
-}
-
 int nds32_v3_checksum_memory(struct target *target,
                uint32_t address, uint32_t count, uint32_t *checksum)
 {
index c62da9a3da39823ccfb0a39ed033d4a963e078a7..fd4a590717540cf0770d6d9d379d7217c9f30f31 100644 (file)
@@ -34,7 +34,6 @@ struct nds32_v3_common_callback {
 void nds32_v3_common_register_callback(struct nds32_v3_common_callback *callback);
 int nds32_v3_target_request_data(struct target *target,
                uint32_t size, uint8_t *buffer);
-int nds32_v3_soft_reset_halt(struct target *target);
 int nds32_v3_checksum_memory(struct target *target,
                uint32_t address, uint32_t count, uint32_t *checksum);
 int nds32_v3_hit_watchpoint(struct target *target,
index 35a76378021a6b77777df86100dd63695153f56b..2c0d255743f9385ae1b3b94611b82cad75b592e4 100644 (file)
@@ -473,7 +473,6 @@ struct target_type nds32_v3m_target = {
 
        .assert_reset = nds32_assert_reset,
        .deassert_reset = nds32_v3m_deassert_reset,
-       .soft_reset_halt = nds32_v3_soft_reset_halt,
 
        /* register access */
        .get_gdb_reg_list = nds32_get_gdb_reg_list,

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)