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 4d25649..b171afe 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 c774194..24f5108 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 f1763cb..ea9252e 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 3930c25..531cab0 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 c62da9a..fd4a590 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 35a7637..2c0d255 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,