Wip - split target setup and target examination

git-svn-id: svn://svn.berlios.de/openocd/trunk@564 b42882b7-edfa-0310-969c-e2dbd0fdcd60
__archive__
oharboe 2008-04-11 11:19:17 +00:00
parent 7805be1b3a
commit 0d7d64b5e9
10 changed files with 26 additions and 0 deletions

View File

@ -81,6 +81,7 @@ target_type_t arm720t_target =
.register_commands = arm720t_register_commands, .register_commands = arm720t_register_commands,
.target_command = arm720t_target_command, .target_command = arm720t_target_command,
.init_target = arm720t_init_target, .init_target = arm720t_init_target,
.examine = arm7tdmi_examine,
.quit = arm720t_quit .quit = arm720t_quit
}; };

View File

@ -86,6 +86,7 @@ target_type_t arm7tdmi_target =
.register_commands = arm7tdmi_register_commands, .register_commands = arm7tdmi_register_commands,
.target_command = arm7tdmi_target_command, .target_command = arm7tdmi_target_command,
.init_target = arm7tdmi_init_target, .init_target = arm7tdmi_init_target,
.examine = arm7tdmi_examine,
.quit = arm7tdmi_quit .quit = arm7tdmi_quit
}; };
@ -753,6 +754,11 @@ void arm7tdmi_build_reg_cache(target_t *target)
} }
} }
int arm7tdmi_examine(struct command_context_s *cmd_ctx, struct target_s *target)
{
return ERROR_OK;
}
int arm7tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *target) int arm7tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *target)
{ {

View File

@ -40,6 +40,7 @@ typedef struct arm7tdmi_common_s
int arm7tdmi_register_commands(struct command_context_s *cmd_ctx); int arm7tdmi_register_commands(struct command_context_s *cmd_ctx);
int arm7tdmi_init_arch_info(target_t *target, arm7tdmi_common_t *arm7tdmi, int chain_pos, char *variant); int arm7tdmi_init_arch_info(target_t *target, arm7tdmi_common_t *arm7tdmi, int chain_pos, char *variant);
int arm7tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *target); int arm7tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
int arm7tdmi_examine(struct command_context_s *cmd_ctx, struct target_s *target);
#endif /* ARM7TDMI_H */ #endif /* ARM7TDMI_H */

View File

@ -90,6 +90,7 @@ target_type_t arm920t_target =
.register_commands = arm920t_register_commands, .register_commands = arm920t_register_commands,
.target_command = arm920t_target_command, .target_command = arm920t_target_command,
.init_target = arm920t_init_target, .init_target = arm920t_init_target,
.examine = arm9tdmi_examine,
.quit = arm920t_quit .quit = arm920t_quit
}; };

View File

@ -90,6 +90,7 @@ target_type_t arm926ejs_target =
.register_commands = arm926ejs_register_commands, .register_commands = arm926ejs_register_commands,
.target_command = arm926ejs_target_command, .target_command = arm926ejs_target_command,
.init_target = arm926ejs_init_target, .init_target = arm926ejs_init_target,
.examine = arm9tdmi_examine,
.quit = arm926ejs_quit, .quit = arm926ejs_quit,
.virt2phys = arm926ejs_virt2phys, .virt2phys = arm926ejs_virt2phys,
.mmu = arm926ejs_mmu .mmu = arm926ejs_mmu

View File

@ -81,6 +81,7 @@ target_type_t arm966e_target =
.register_commands = arm966e_register_commands, .register_commands = arm966e_register_commands,
.target_command = arm966e_target_command, .target_command = arm966e_target_command,
.init_target = arm966e_init_target, .init_target = arm966e_init_target,
.examine = arm9tdmi_examine,
.quit = arm966e_quit, .quit = arm966e_quit,
}; };

View File

@ -84,6 +84,7 @@ target_type_t arm9tdmi_target =
.register_commands = arm9tdmi_register_commands, .register_commands = arm9tdmi_register_commands,
.target_command = arm9tdmi_target_command, .target_command = arm9tdmi_target_command,
.init_target = arm9tdmi_init_target, .init_target = arm9tdmi_init_target,
.examine = arm9tdmi_examine,
.quit = arm9tdmi_quit .quit = arm9tdmi_quit
}; };
@ -859,6 +860,11 @@ void arm9tdmi_build_reg_cache(target_t *target)
} }
} }
int arm9tdmi_examine(struct command_context_s *cmd_ctx, struct target_s *target)
{
return ERROR_OK;
}
int arm9tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *target) int arm9tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *target)
{ {

View File

@ -56,6 +56,7 @@ enum arm9tdmi_vector
}; };
extern int arm9tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *target); extern int arm9tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
int arm9tdmi_examine(struct command_context_s *cmd_ctx, struct target_s *target);
extern int arm9tdmi_init_arch_info(target_t *target, arm9tdmi_common_t *arm9tdmi, int chain_pos, char *variant); extern int arm9tdmi_init_arch_info(target_t *target, arm9tdmi_common_t *arm9tdmi, int chain_pos, char *variant);
extern int arm9tdmi_register_commands(struct command_context_s *cmd_ctx); extern int arm9tdmi_register_commands(struct command_context_s *cmd_ctx);

View File

@ -94,6 +94,7 @@ target_type_t feroceon_target =
.register_commands = arm926ejs_register_commands, .register_commands = arm926ejs_register_commands,
.target_command = feroceon_target_command, .target_command = feroceon_target_command,
.init_target = feroceon_init_target, .init_target = feroceon_init_target,
.examine = arm9tdmi_examine,
.quit = feroceon_quit .quit = feroceon_quit
}; };

View File

@ -436,6 +436,11 @@ static int default_examine(struct command_context_s *cmd_ctx, struct target_s *t
} }
/* Targets that correctly implement init+examine, i.e.
* no communication with target during init:
*
* XScale
*/
int target_examine(struct command_context_s *cmd_ctx) int target_examine(struct command_context_s *cmd_ctx)
{ {
int retval = ERROR_OK; int retval = ERROR_OK;
@ -448,6 +453,8 @@ int target_examine(struct command_context_s *cmd_ctx)
} }
return retval; return retval;
} }
int target_init(struct command_context_s *cmd_ctx) int target_init(struct command_context_s *cmd_ctx)
{ {
target_t *target = targets; target_t *target = targets;