X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Fetm_dummy.c;h=7621414b0ea9d39c4af5471dc60f43f00a7b5de1;hp=b22f1f6cb496aeaff63718c60094afbce088b46a;hb=cbc13187c315227c0cf8d85fb0b92d0ba4a10dab;hpb=1429d2c659ab9b84dee673e7697da7eab44a8f90 diff --git a/src/target/etm_dummy.c b/src/target/etm_dummy.c index b22f1f6cb4..7621414b0e 100644 --- a/src/target/etm_dummy.c +++ b/src/target/etm_dummy.c @@ -21,90 +21,80 @@ #include "config.h" #endif -#include - +#include "armv4_5.h" #include "etm_dummy.h" -#include "etm.h" - -#include "arm7_9_common.h" -#include "log.h" -#include "types.h" -#include "binarybuffer.h" -#include "target.h" -#include "register.h" -#include "jtag.h" -#include -int handle_etm_dummy_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +COMMAND_HANDLER(handle_etm_dummy_config_command) { - target_t *target; - armv4_5_common_t *armv4_5; - arm7_9_common_t *arm7_9; - - target = get_target_by_num(strtoul(args[0], NULL, 0)); - + struct target *target; + struct arm *arm; + + target = get_target(CMD_ARGV[0]); + if (!target) { - ERROR("target number '%s' not defined", args[0]); - exit(-1); + LOG_ERROR("target '%s' not defined", CMD_ARGV[0]); + return ERROR_FAIL; } - - if (arm7_9_get_arch_pointers(target, &armv4_5, &arm7_9) != ERROR_OK) + + arm = target_to_arm(target); + if (!is_arm(arm)) { - command_print(cmd_ctx, "current target isn't an ARM7/ARM9 target"); - return ERROR_OK; + command_print(CMD_CTX, "target '%s' isn't an ARM", CMD_ARGV[0]); + return ERROR_FAIL; } - - if (arm7_9->etm_ctx) + + if (arm->etm) { - arm7_9->etm_ctx->capture_driver_priv = NULL; + arm->etm->capture_driver_priv = NULL; } else { - ERROR("target has no ETM defined, ETM dummy left unconfigured"); + LOG_ERROR("target has no ETM defined, ETM dummy left unconfigured"); + return ERROR_FAIL; } return ERROR_OK; } -int etm_dummy_register_commands(struct command_context_s *cmd_ctx) +static int etm_dummy_register_commands(struct command_context *cmd_ctx) { - command_t *etm_dummy_cmd; - + struct command *etm_dummy_cmd; + etm_dummy_cmd = register_command(cmd_ctx, NULL, "etm_dummy", NULL, COMMAND_ANY, "Dummy ETM capture driver"); - + register_command(cmd_ctx, etm_dummy_cmd, "config", handle_etm_dummy_config_command, COMMAND_CONFIG, NULL); return ERROR_OK; } -int etm_dummy_init(etm_context_t *etm_ctx) +static int etm_dummy_init(struct etm_context *etm_ctx) { return ERROR_OK; } -trace_status_t etm_dummy_status(etm_context_t *etm_ctx) +static trace_status_t etm_dummy_status(struct etm_context *etm_ctx) { return TRACE_IDLE; } -int etm_dummy_read_trace(etm_context_t *etm_ctx) +static int etm_dummy_read_trace(struct etm_context *etm_ctx) { return ERROR_OK; } -int etm_dummy_start_capture(etm_context_t *etm_ctx) +static int etm_dummy_start_capture(struct etm_context *etm_ctx) { return ERROR_ETM_PORTMODE_NOT_SUPPORTED; } -int etm_dummy_stop_capture(etm_context_t *etm_ctx) +static int etm_dummy_stop_capture(struct etm_context *etm_ctx) { return ERROR_OK; } -etm_capture_driver_t etm_dummy_capture_driver = +struct etm_capture_driver etm_dummy_capture_driver = { .name = "dummy", .register_commands = etm_dummy_register_commands,