]> git.sur5r.net Git - openocd/blobdiff - src/target/xscale.c
retire daemon_startup
[openocd] / src / target / xscale.c
index 7762ec2a96580ffad96eb08703444f0c4e093d66..d776e2107d200cd730427737a40900b76f4f9a61 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "xscale.h"
 
+#include "arm7_9_common.h"
 #include "register.h"
 #include "target.h"
 #include "armv4_5.h"
@@ -73,7 +74,6 @@ int xscale_write_core_reg(struct target_s *target, int num, enum armv4_5_mode mo
 int xscale_read_memory(struct target_s *target, u32 address, u32 size, u32 count, u8 *buffer);
 int xscale_write_memory(struct target_s *target, u32 address, u32 size, u32 count, u8 *buffer);
 int xscale_bulk_write_memory(target_t *target, u32 address, u32 count, u8 *buffer);
-int xscale_checksum_memory(struct target_s *target, u32 address, u32 count, u32* checksum);
 
 int xscale_add_breakpoint(struct target_s *target, breakpoint_t *breakpoint);
 int xscale_remove_breakpoint(struct target_s *target, breakpoint_t *breakpoint);
@@ -110,8 +110,9 @@ target_type_t xscale_target =
        .read_memory = xscale_read_memory,
        .write_memory = xscale_write_memory,
        .bulk_write_memory = xscale_bulk_write_memory,
-       .checksum_memory = xscale_checksum_memory,
-
+       .checksum_memory = arm7_9_checksum_memory,
+       .blank_check_memory = arm7_9_blank_check_memory,
+       
        .run_algorithm = armv4_5_run_algorithm,
 
        .add_breakpoint = xscale_add_breakpoint,
@@ -1091,6 +1092,10 @@ int xscale_debug_entry(target_t *target)
        else
                armv4_5->core_state = ARMV4_5_STATE_ARM;
 
+       
+       if (armv4_5_mode_to_number(armv4_5->core_mode)==-1)
+               return ERROR_FAIL;
+       
        /* get banked registers, r8 to r14, and spsr if not in USR/SYS mode */
        if ((armv4_5->core_mode != ARMV4_5_MODE_USR) && (armv4_5->core_mode != ARMV4_5_MODE_SYS))
        {
@@ -1694,7 +1699,7 @@ int xscale_deassert_reset(target_t *target)
                xscale_write_dcsr(target, 0, 1);
                target->state = TARGET_RUNNING;
 
-               if ((target->reset_mode != RESET_HALT) && (target->reset_mode != RESET_INIT))
+               if (!target->reset_halt)
                {
                        jtag_add_sleep(10000);
 
@@ -2042,11 +2047,6 @@ int xscale_bulk_write_memory(target_t *target, u32 address, u32 count, u8 *buffe
        return xscale_write_memory(target, address, 4, count, buffer);
 }
 
-int xscale_checksum_memory(struct target_s *target, u32 address, u32 count, u32* checksum)
-{
-       return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
-}
-
 u32 xscale_get_ttb(target_t *target)
 {
        armv4_5_common_t *armv4_5 = target->arch_info;