#include "config.h"
#endif
-#include "armv4_5.h"
+#include "arm.h"
#include "oocd_trace.h"
/*
*/
-static int oocd_trace_register_commands(struct command_context *cmd_ctx);
-
static int oocd_trace_read_reg(struct oocd_trace *oocd_trace, int reg, uint32_t *value)
{
size_t bytes_written, bytes_read, bytes_to_read;
return ERROR_OK;
}
-struct etm_capture_driver oocd_trace_capture_driver =
-{
- .name = "oocd_trace",
- .register_commands = oocd_trace_register_commands,
- .init = oocd_trace_init,
- .status = oocd_trace_status,
- .start_capture = oocd_trace_start_capture,
- .stop_capture = oocd_trace_stop_capture,
- .read_trace = oocd_trace_read_trace,
-};
-
COMMAND_HANDLER(handle_oocd_trace_config_command)
{
struct target *target;
return ERROR_OK;
}
-int oocd_trace_register_commands(struct command_context *cmd_ctx)
-{
- struct command *oocd_trace_cmd;
-
- oocd_trace_cmd = register_command(cmd_ctx, NULL, "oocd_trace", NULL, COMMAND_ANY, "OpenOCD + trace");
+static const struct command_registration oocd_trace_all_command_handlers[] = {
+ {
+ .name = "config",
+ .handler = &handle_oocd_trace_config_command,
+ .mode = COMMAND_CONFIG,
+ .usage = "<target>",
+ },
+ {
+ .name = "status",
+ .handler = &handle_oocd_trace_status_command,
+ .mode = COMMAND_EXEC,
+ .help = "display OpenOCD + trace status",
+ },
+ {
+ .name = "resync",
+ .handler = handle_oocd_trace_resync_command,
+ .mode = COMMAND_EXEC,
+ .help = "resync OpenOCD + trace capture clock",
+ },
+ COMMAND_REGISTRATION_DONE
+};
+static const struct command_registration oocd_trace_command_handlers[] = {
+ {
+ .name = "oocd_trace",
+ .mode = COMMAND_ANY,
+ .help = "OpenOCD trace capture driver command group",
+ .chain = oocd_trace_all_command_handlers,
+ },
+ COMMAND_REGISTRATION_DONE
+};
- register_command(cmd_ctx, oocd_trace_cmd, "config", handle_oocd_trace_config_command, COMMAND_CONFIG, NULL);
+struct etm_capture_driver oocd_trace_capture_driver =
+{
+ .name = "oocd_trace",
+ .commands = oocd_trace_command_handlers,
+ .init = oocd_trace_init,
+ .status = oocd_trace_status,
+ .start_capture = oocd_trace_start_capture,
+ .stop_capture = oocd_trace_stop_capture,
+ .read_trace = oocd_trace_read_trace,
+};
- register_command(cmd_ctx, oocd_trace_cmd, "status", handle_oocd_trace_status_command, COMMAND_EXEC, "display OpenOCD + trace status");
- register_command(cmd_ctx, oocd_trace_cmd, "resync", handle_oocd_trace_resync_command, COMMAND_EXEC, "resync OpenOCD + trace capture clock");
- return ERROR_OK;
-}