X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Fetb.c;h=3a4e3fe459a3dbbf2e8eca5d37b7af482b40c570;hb=5eb638c71e95048b090b8a19640d7d4902c07902;hp=5b81895dfe8c920c0f4bf1e69cd00d11e8f5ea82;hpb=1033633321056d3e20c125e21d48723fc6f8705f;p=openocd.git diff --git a/src/target/etb.c b/src/target/etb.c index 5b81895dfe..3a4e3fe459 100644 --- a/src/target/etb.c +++ b/src/target/etb.c @@ -21,7 +21,7 @@ #include "config.h" #endif -#include "arm7_9_common.h" +#include "armv4_5.h" #include "etb.h" @@ -42,8 +42,6 @@ static int etb_reg_arch_type = -1; static int etb_get_reg(reg_t *reg); -static int handle_etb_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); - static int etb_set_instr(etb_t *etb, uint32_t new_instr) { jtag_tap_t *tap; @@ -351,23 +349,11 @@ static int etb_write_reg(reg_t *reg, uint32_t value) return ERROR_OK; } -static int etb_register_commands(struct command_context_s *cmd_ctx) -{ - command_t *etb_cmd; - - etb_cmd = register_command(cmd_ctx, NULL, "etb", NULL, COMMAND_ANY, "Embedded Trace Buffer"); - - register_command(cmd_ctx, etb_cmd, "config", handle_etb_config_command, COMMAND_CONFIG, NULL); - - return ERROR_OK; -} - static int handle_etb_config_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) { target_t *target; jtag_tap_t *tap; - armv4_5_common_t *armv4_5; - arm7_9_common_t *arm7_9; + struct arm *arm; if (argc != 2) { @@ -382,9 +368,10 @@ static int handle_etb_config_command(struct command_context_s *cmd_ctx, char *cm 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, "ETB: current target isn't an ARM7/ARM9 target"); + command_print(cmd_ctx, "ETB: '%s' isn't an ARM", args[0]); return ERROR_FAIL; } @@ -395,11 +382,11 @@ static int handle_etb_config_command(struct command_context_s *cmd_ctx, char *cm return ERROR_FAIL; } - if (arm7_9->etm_ctx) + if (arm->etm) { etb_t *etb = malloc(sizeof(etb_t)); - arm7_9->etm_ctx->capture_driver_priv = etb; + arm->etm->capture_driver_priv = etb; etb->tap = tap; etb->cur_scan_chain = 0xffffffff; @@ -416,6 +403,18 @@ static int handle_etb_config_command(struct command_context_s *cmd_ctx, char *cm return ERROR_OK; } +static int etb_register_commands(struct command_context_s *cmd_ctx) +{ + command_t *etb_cmd = register_command(cmd_ctx, NULL, "etb", + NULL, COMMAND_ANY, "Embedded Trace Buffer"); + + register_command(cmd_ctx, etb_cmd, "config", + handle_etb_config_command, COMMAND_CONFIG, + NULL); + + return ERROR_OK; +} + static int etb_init(etm_context_t *etm_ctx) { etb_t *etb = etm_ctx->capture_driver_priv;