}
static const Jim_Nvp nvp_target_event[] = {
- { .value = TARGET_EVENT_OLD_gdb_program_config , .name = "old-gdb_program_config" },
- { .value = TARGET_EVENT_OLD_pre_resume , .name = "old-pre_resume" },
{ .value = TARGET_EVENT_GDB_HALT, .name = "gdb-halt" },
{ .value = TARGET_EVENT_HALTED, .name = "halted" },
{ .name = "gdb-start", .value = TARGET_EVENT_GDB_START },
{ .name = "gdb-end", .value = TARGET_EVENT_GDB_END },
- /* historical name */
-
- { .value = TARGET_EVENT_RESET_START, .name = "reset-start" },
-
+ { .value = TARGET_EVENT_RESET_START, .name = "reset-start" },
{ .value = TARGET_EVENT_RESET_ASSERT_PRE, .name = "reset-assert-pre" },
{ .value = TARGET_EVENT_RESET_ASSERT, .name = "reset-assert" },
{ .value = TARGET_EVENT_RESET_ASSERT_POST, .name = "reset-assert-post" },
return ERROR_FAIL;
}
+ target_call_event_callbacks(target, TARGET_EVENT_RESUME_START);
+
/* note that resume *must* be asynchronous. The CPU can halt before
* we poll. The CPU can even halt at the current PC as a result of
* a software breakpoint being inserted by (a bug?) the application.
if (retval != ERROR_OK)
return retval;
+ target_call_event_callbacks(target, TARGET_EVENT_RESUME_END);
+
return retval;
}
return ERROR_OK;
jtag_unregister_event_callback(jtag_enable_callback, target);
- return target_examine_one(target);
-}
+ target_call_event_callbacks(target, TARGET_EVENT_EXAMINE_START);
+
+ int retval = target_examine_one(target);
+ if (retval != ERROR_OK)
+ return retval;
+
+ target_call_event_callbacks(target, TARGET_EVENT_EXAMINE_END);
+
+ return retval;
+}
/* Targets that correctly implement init + examine, i.e.
* no communication with target during init:
target);
continue;
}
+
+ target_call_event_callbacks(target, TARGET_EVENT_EXAMINE_START);
+
retval = target_examine_one(target);
if (retval != ERROR_OK)
return retval;
+
+ target_call_event_callbacks(target, TARGET_EVENT_EXAMINE_END);
}
return retval;
}
+
const char *target_type_name(struct target *target)
{
return target->type->name;
return ERROR_COMMAND_SYNTAX_ERROR;
struct target *target = get_current_target(CMD_CTX);
- target_handle_event(target, TARGET_EVENT_OLD_pre_resume);
/* with no CMD_ARGV, resume from current pc, addr = 0,
* with one arguments, addr = CMD_ARGV[0],