#include "config.h"
#endif
-#include "arm7_9_common.h"
+#include "armv4_5.h"
#include "etb.h"
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;
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)
{
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;
}
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;
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;