The "arm9tdmi.c" file is more of a generic ARM9 support file:
- update comments to say so. - update docs to clarify that the "arm9tdmi" command prefix is a misnomer. - bugfix some messages that wrongly assume only ARM9TDMI based processors use this code. git-svn-id: svn://svn.berlios.de/openocd/trunk@2719 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
e18bd3b55e
commit
cb7ad25c04
|
@ -4932,13 +4932,18 @@ Translate a virtual address @var{va} to a physical address
|
||||||
and display the result.
|
and display the result.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@subsection ARM9TDMI specific commands
|
@subsection ARM9 specific commands
|
||||||
@cindex ARM9TDMI
|
@cindex ARM9
|
||||||
|
|
||||||
Many ARM9-family CPUs are built around ARM9TDMI integer cores,
|
ARM9-family cores are built around ARM9TDMI or ARM9E (including ARM9EJS)
|
||||||
or processors resembling ARM9TDMI, and can use these commands.
|
integer processors.
|
||||||
Such cores include the ARM920T, ARM926EJ-S, and ARM966.
|
Such cores include the ARM920T, ARM926EJ-S, and ARM966.
|
||||||
|
|
||||||
|
For historical reasons, one command shared by these cores starts
|
||||||
|
with the @command{arm9tdmi} prefix.
|
||||||
|
This is true even for ARM9E based processors, which implement the
|
||||||
|
ARMv5TE architecture instead of ARMv4T.
|
||||||
|
|
||||||
@c 9-june-2009: tried this on arm920t, it didn't work.
|
@c 9-june-2009: tried this on arm920t, it didn't work.
|
||||||
@c no-params always lists nothing caught, and that's how it acts.
|
@c no-params always lists nothing caught, and that's how it acts.
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,16 @@
|
||||||
#include "target_type.h"
|
#include "target_type.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NOTE: this holds code that's used with multiple ARM9 processors:
|
||||||
|
* - ARM9TDMI (ARMv4T) ... in ARM920, ARM922, and ARM940 cores
|
||||||
|
* - ARM9E-S (ARMv5TE) ... in ARM946, ARM966, and ARM968 cores
|
||||||
|
* - ARM9EJS (ARMv5TEJ) ... in ARM926 core
|
||||||
|
*
|
||||||
|
* In short, the file name is a misnomer ... it is NOT specific to
|
||||||
|
* that first generation ARM9 processor, or cores using it.
|
||||||
|
*/
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
#define _DEBUG_INSTRUCTION_EXECUTION_
|
#define _DEBUG_INSTRUCTION_EXECUTION_
|
||||||
#endif
|
#endif
|
||||||
|
@ -967,8 +977,12 @@ int arm9tdmi_register_commands(struct command_context_s *cmd_ctx)
|
||||||
command_t *arm9tdmi_cmd;
|
command_t *arm9tdmi_cmd;
|
||||||
|
|
||||||
retval = arm7_9_register_commands(cmd_ctx);
|
retval = arm7_9_register_commands(cmd_ctx);
|
||||||
arm9tdmi_cmd = register_command(cmd_ctx, NULL, "arm9tdmi", NULL, COMMAND_ANY, "arm9tdmi specific commands");
|
arm9tdmi_cmd = register_command(cmd_ctx, NULL, "arm9tdmi",
|
||||||
register_command(cmd_ctx, arm9tdmi_cmd, "vector_catch", handle_arm9tdmi_catch_vectors_command, COMMAND_EXEC, "catch arm920t vectors ['all'|'none'|'<vec1 vec2 ...>']");
|
NULL, COMMAND_ANY,
|
||||||
|
"arm9tdmi specific commands");
|
||||||
|
register_command(cmd_ctx, arm9tdmi_cmd, "vector_catch",
|
||||||
|
handle_arm9tdmi_catch_vectors_command, COMMAND_EXEC,
|
||||||
|
"catch arm9 vectors ['all'|'none'|'<vec1 vec2 ...>']");
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -985,7 +999,7 @@ int handle_arm9tdmi_catch_vectors_command(struct command_context_s *cmd_ctx, cha
|
||||||
|
|
||||||
if (arm9tdmi_get_arch_pointers(target, &armv4_5, &arm7_9, &arm9tdmi) != ERROR_OK)
|
if (arm9tdmi_get_arch_pointers(target, &armv4_5, &arm7_9, &arm9tdmi) != ERROR_OK)
|
||||||
{
|
{
|
||||||
command_print(cmd_ctx, "current target isn't an ARM9TDMI based target");
|
command_print(cmd_ctx, "current target isn't an ARM9 based target");
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue