X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Farm920t.c;h=e8c1950fa37cf997a767d69c0483cf22e3fa3bdc;hb=6eee0729d79eab496d1d4368a2bae7e4e2d19876;hp=1e6019cb1c4ff49ca4c7cb604572d9f5df60d7f5;hpb=509fe82b07df4a7e6217bfde37374e90262aa2de;p=openocd.git diff --git a/src/target/arm920t.c b/src/target/arm920t.c index 1e6019cb1c..e8c1950fa3 100644 --- a/src/target/arm920t.c +++ b/src/target/arm920t.c @@ -22,7 +22,7 @@ #endif #include "arm920t.h" -#include "time_support.h" +#include #include "target_type.h" #include "register.h" @@ -624,10 +624,23 @@ int arm920t_soft_reset_halt(struct target *target) return ERROR_OK; } +/* FIXME remove forward decls */ +static int arm920t_mrc(struct target *target, int cpnum, + uint32_t op1, uint32_t op2, + uint32_t CRn, uint32_t CRm, + uint32_t *value); +static int arm920t_mcr(struct target *target, int cpnum, + uint32_t op1, uint32_t op2, + uint32_t CRn, uint32_t CRm, + uint32_t value); + int arm920t_init_arch_info(struct target *target, struct arm920t_common *arm920t, struct jtag_tap *tap) { struct arm7_9_common *arm7_9 = &arm920t->arm7_9_common; + arm7_9->armv4_5_common.mrc = arm920t_mrc; + arm7_9->armv4_5_common.mcr = arm920t_mcr; + /* initialize arm7/arm9 specific info (including armv4_5) */ arm9tdmi_init_arch_info(target, arm7_9, tap); @@ -1396,7 +1409,10 @@ static const struct command_registration arm920t_exec_command_handlers[] = { }, COMMAND_REGISTRATION_DONE }; -static const struct command_registration arm920t_command_handlers[] = { +const struct command_registration arm920t_command_handlers[] = { + { + .chain = arm9tdmi_command_handlers, + }, { .name = "arm920t", .mode = COMMAND_ANY, @@ -1406,13 +1422,6 @@ static const struct command_registration arm920t_command_handlers[] = { COMMAND_REGISTRATION_DONE }; -/** Registers commands to access coprocessor, cache, and MMU resources. */ -int arm920t_register_commands(struct command_context *cmd_ctx) -{ - arm9tdmi_register_commands(cmd_ctx); - return register_commands(cmd_ctx, NULL, arm920t_command_handlers); -} - /** Holds methods for ARM920 targets. */ struct target_type arm920t_target = { @@ -1452,10 +1461,8 @@ struct target_type arm920t_target = .add_watchpoint = arm7_9_add_watchpoint, .remove_watchpoint = arm7_9_remove_watchpoint, - .register_commands = arm920t_register_commands, + .commands = arm920t_command_handlers, .target_create = arm920t_target_create, .init_target = arm9tdmi_init_target, .examine = arm7_9_examine, - .mrc = arm920t_mrc, - .mcr = arm920t_mcr, };