]> git.sur5r.net Git - openocd/blobdiff - src/target/arm9tdmi.c
marked infinite loop in code w/TODO and fixed warning.
[openocd] / src / target / arm9tdmi.c
index 3b06b0e48d50155fca4588e86a8eef7ecf062b28..0778c4b7ffb94c19651ad8011d9756dec37859e6 100644 (file)
@@ -57,6 +57,8 @@ target_type_t arm9tdmi_target =
        .poll = arm7_9_poll,
        .arch_state = armv4_5_arch_state,
 
+       .target_request_data = arm7_9_target_request_data,
+
        .halt = arm7_9_halt,
        .resume = arm7_9_resume,
        .step = arm7_9_step,
@@ -71,7 +73,8 @@ target_type_t arm9tdmi_target =
        .read_memory = arm7_9_read_memory,
        .write_memory = arm7_9_write_memory,
        .bulk_write_memory = arm7_9_bulk_write_memory,
-
+       .checksum_memory = arm7_9_checksum_memory,
+       
        .run_algorithm = armv4_5_run_algorithm,
        
        .add_breakpoint = arm7_9_add_breakpoint,
@@ -98,15 +101,6 @@ arm9tdmi_vector_t arm9tdmi_vectors[] =
        {0, 0},
 };
 
-int arm9tdmi_jtag_error_handler(u8 *in_value, void *priv)
-{
-       char *caller = priv;
-       
-       DEBUG("caller: %s", caller);
-       
-       return ERROR_JTAG_QUEUE_FAILED;
-}
-
 int arm9tdmi_examine_debug_reason(target_t *target)
 {
        /* get pointers to arch-specific information */
@@ -157,7 +151,7 @@ int arm9tdmi_examine_debug_reason(target_t *target)
                arm_jtag_scann(&arm7_9->jtag_info, 0x1);
                arm_jtag_set_instr(&arm7_9->jtag_info, arm7_9->jtag_info.intest_instr, NULL);
 
-               jtag_add_dr_scan(3, fields, TAP_PD, NULL);
+               jtag_add_dr_scan(3, fields, TAP_PD);
                jtag_execute_queue();
                
                fields[0].in_value = NULL;
@@ -167,7 +161,7 @@ int arm9tdmi_examine_debug_reason(target_t *target)
                fields[2].in_value = NULL;
                fields[2].out_value = instructionbus;
                
-               jtag_add_dr_scan(3, fields, TAP_PD, NULL);
+               jtag_add_dr_scan(3, fields, TAP_PD);
 
                if (debug_reason & 0x4)
                        if (debug_reason & 0x2)
@@ -240,7 +234,7 @@ int arm9tdmi_clock_out(arm_jtag_t *jtag_info, u32 instr, u32 out, u32 *in, int s
        fields[2].in_handler = NULL;
        fields[2].in_handler_priv = NULL;
 
-       jtag_add_dr_scan(3, fields, -1, NULL);
+       jtag_add_dr_scan(3, fields, -1);
 
        jtag_add_runtest(0, -1);
        
@@ -300,7 +294,7 @@ int arm9tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
        fields[2].in_handler = NULL;
        fields[2].in_handler_priv = NULL;
        
-       jtag_add_dr_scan(3, fields, -1, NULL);
+       jtag_add_dr_scan(3, fields, -1);
 
        jtag_add_runtest(0, -1);
        
@@ -376,7 +370,7 @@ int arm9tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
        fields[2].in_handler = NULL;
        fields[2].in_handler_priv = NULL;
        
-       jtag_add_dr_scan(3, fields, -1, NULL);
+       jtag_add_dr_scan(3, fields, -1);
 
        jtag_add_runtest(0, -1);
        
@@ -994,6 +988,7 @@ int arm9tdmi_target_command(struct command_context_s *cmd_ctx, char *cmd, char *
        int chain_pos;
        char *variant = NULL;
        arm9tdmi_common_t *arm9tdmi = malloc(sizeof(arm9tdmi_common_t));
+       memset(arm9tdmi, 0, sizeof(*arm9tdmi));
 
        if (argc < 4)
        {