}
return retval;
}
+const char *target_get_name(struct target_s *target)
+{
+ return target->type->name;
+}
static int target_write_memory_imp(struct target_s *target, u32 address, u32 size, u32 count, u8 *buffer)
{
return target->type->bulk_write_memory(target, address, count, buffer);
}
+int target_add_breakpoint(struct target_s *target,
+ struct breakpoint_s *breakpoint)
+{
+ return target->type->add_breakpoint(target, breakpoint);
+}
+int target_remove_breakpoint(struct target_s *target,
+ struct breakpoint_s *breakpoint)
+{
+ return target->type->remove_breakpoint(target, breakpoint);
+}
+
+int target_add_watchpoint(struct target_s *target,
+ struct watchpoint_s *watchpoint)
+{
+ return target->type->add_watchpoint(target, watchpoint);
+}
+int target_remove_watchpoint(struct target_s *target,
+ struct watchpoint_s *watchpoint)
+{
+ return target->type->remove_watchpoint(target, watchpoint);
+}
int target_get_gdb_reg_list(struct target_s *target,
struct reg_s **reg_list[], int *reg_list_size)
{
return target->type->get_gdb_reg_list(target, reg_list, reg_list_size);
}
+int target_step(struct target_s *target,
+ int current, u32 address, int handle_breakpoints)
+{
+ return target->type->step(target, current, address, handle_breakpoints);
+}
+
int target_run_algorithm(struct target_s *target,
int num_mem_params, mem_param_t *mem_params,
if ((retval = target->type->init_target(cmd_ctx, target)) != ERROR_OK)
{
- LOG_ERROR("target '%s' init failed", target->type->name);
+ LOG_ERROR("target '%s' init failed", target_get_name(target));
return retval;
}
command_print(cmd_ctx, "%2d: %-10s %-10s %-10s %10d %14s %s",
target->target_number,
target->cmd_name,
- target->type->name,
+ target_get_name(target),
Jim_Nvp_value2name_simple( nvp_target_endian, target->endianness )->name,
target->tap->abs_chain_position,
target->tap->dotted_name,
LOG_DEBUG( "target: (%d) %s (%s) event: %d (%s) action: %s\n",
target->target_number,
target->cmd_name,
- target->type->name,
+ target_get_name(target),
e,
Jim_Nvp_value2name_simple( nvp_target_event, e )->name,
Jim_GetString( teap->body, NULL ) );
return JIM_ERR;
}
}
- Jim_SetResultString( goi->interp, target->type->name, -1 );
+ Jim_SetResultString( goi->interp, target_get_name(target), -1 );
/* loop for more */
break;
case TCFG_EVENT: