summaryrefslogtreecommitdiff
path: root/src/target/etm.c
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-11-11 21:49:14 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-11-11 21:49:14 -0800
commit4b20ed6b5cf6bc73471dec7d1604a4684d1fc2ca (patch)
tree29c6925dda1225d44aecb87e1dcd2c409b156112 /src/target/etm.c
parent5e1b500b173c7abaf9b78e32d31140c1bd4ba090 (diff)
downloadopenocd+libswd-4b20ed6b5cf6bc73471dec7d1604a4684d1fc2ca.tar.gz
openocd+libswd-4b20ed6b5cf6bc73471dec7d1604a4684d1fc2ca.tar.bz2
openocd+libswd-4b20ed6b5cf6bc73471dec7d1604a4684d1fc2ca.tar.xz
openocd+libswd-4b20ed6b5cf6bc73471dec7d1604a4684d1fc2ca.zip
ARM: start generalized base type
Rename "struct armv4_5_common_s" as "struct arm". It needs a bit more work to be properly generic, and to move out of this header, but it's the best start we have on that today. Add and initialize an optional ETM pointer, since that will be the first thing that gets generalized. The intent being: all ARMs should eventually derive from this "struct arm", so they can reuse the current ETM logic. (And later, more.) Currently the ARM cores that *don't* so derive are only ARMv7-M (and thus Cortex-M3) and ARM11. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src/target/etm.c')
-rw-r--r--src/target/etm.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/target/etm.c b/src/target/etm.c
index b5718098..795e0564 100644
--- a/src/target/etm.c
+++ b/src/target/etm.c
@@ -1354,7 +1354,7 @@ static int handle_etm_config_command(struct command_context_s *cmd_ctx,
char *cmd, char **args, int argc)
{
target_t *target;
- armv4_5_common_t *armv4_5;
+ struct arm *arm;
arm7_9_common_t *arm7_9;
etm_portmode_t portmode = 0x0;
struct etm *etm_ctx;
@@ -1370,7 +1370,7 @@ static int handle_etm_config_command(struct command_context_s *cmd_ctx,
return ERROR_FAIL;
}
- if (arm7_9_get_arch_pointers(target, &armv4_5, &arm7_9) != ERROR_OK)
+ if (arm7_9_get_arch_pointers(target, &arm, &arm7_9) != ERROR_OK)
{
command_print(cmd_ctx, "target '%s' is '%s'; not an ARM",
target->cmd_name, target_get_name(target));
@@ -1461,22 +1461,11 @@ static int handle_etm_config_command(struct command_context_s *cmd_ctx,
etm_ctx->target = target;
etm_ctx->trigger_percent = 50;
etm_ctx->trace_data = NULL;
- etm_ctx->trace_depth = 0;
etm_ctx->portmode = portmode;
- etm_ctx->tracemode = 0x0;
etm_ctx->core_state = ARMV4_5_STATE_ARM;
- etm_ctx->image = NULL;
- etm_ctx->pipe_index = 0;
- etm_ctx->data_index = 0;
- etm_ctx->current_pc = 0x0;
- etm_ctx->pc_ok = 0;
- etm_ctx->last_branch = 0x0;
- etm_ctx->last_branch_reason = 0x0;
- etm_ctx->last_ptr = 0x0;
- etm_ctx->ptr_ok = 0x0;
- etm_ctx->last_instruction = 0;
arm7_9->etm_ctx = etm_ctx;
+ arm->etm = etm_ctx;
return etm_register_user_commands(cmd_ctx);
}