Browse Source

ARM720: help/usage updates

Deprecate the "pass an instruction opcode" flavor of cp15
access in favor of the "arm mcr ..." and "arm mrc ..."
commands, which offer fewer ways to break things.

Use the same EBNF syntax in the code as for the user's guide.

Update User's Guide to say where to find those magic values
(which table in the ARM920 TRM).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
tags/v0.4.0-rc2
David Brownell 14 years ago
parent
commit
a42bea654c
2 changed files with 24 additions and 12 deletions
  1. +10
    -2
      doc/openocd.texi
  2. +14
    -10
      src/target/arm920t.c

+ 10
- 2
doc/openocd.texi View File

@@ -5978,13 +5978,21 @@ is an ARM920T (2x16kByte cache) or ARM922T (2x8kByte cache).
@deffn Command {arm920t cp15} regnum [value]
Display cp15 register @var{regnum};
else if a @var{value} is provided, that value is written to that register.
This uses "physical access" and the register number is as
shown in bits 38..33 of table 9-9 in the ARM920T TRM.
(Not all registers can be written.)
@end deffn

@deffn Command {arm920t cp15i} opcode [value [address]]
Interpreted access using cp15 @var{opcode}.
@emph{DEPRECATED -- avoid using this.
Use the @command{arm mrc} or @command{arm mcr} commands instead.}

Interpreted access using ARM instruction @var{opcode}, which should
be the value of either an MRC or MCR instruction
(as shown tables 9-11, 9-12, and 9-13 in the ARM920T TRM).
If no @var{value} is provided, the result is displayed.
Else if that value is written using the specified @var{address},
or using zero if no other address is not provided.
or using zero if no other address is provided.
@end deffn

@deffn Command {arm920t read_cache} filename


+ 14
- 10
src/target/arm920t.c View File

@@ -1384,35 +1384,39 @@ static int arm920t_mcr(struct target *target, int cpnum,
static const struct command_registration arm920t_exec_command_handlers[] = {
{
.name = "cp15",
.handler = &arm920t_handle_cp15_command,
.handler = arm920t_handle_cp15_command,
.mode = COMMAND_EXEC,
.help = "display/modify cp15 register",
.usage = "<num> [value]",
.usage = "regnum [value]",
},
{
.name = "cp15i",
.handler = &arm920t_handle_cp15i_command,
.handler = arm920t_handle_cp15i_command,
.mode = COMMAND_EXEC,
.help = "display/modify cp15 (interpreted access)",
.usage = "<opcode> [value] [address]",
/* prefer using less error-prone "arm mcr" or "arm mrc" */
.help = "display/modify cp15 register using ARM opcode"
" (DEPRECATED)",
.usage = "instruction [value [address]]",
},
{
.name = "cache_info",
.handler = &arm920t_handle_cache_info_command,
.handler = arm920t_handle_cache_info_command,
.mode = COMMAND_EXEC,
.help = "display information about target caches",
},
{
.name = "read_cache",
.handler = &arm920t_handle_read_cache_command,
.handler = arm920t_handle_read_cache_command,
.mode = COMMAND_EXEC,
.help = "display I/D cache content",
.help = "dump I/D cache content to file",
.usage = "filename",
},
{
.name = "read_mmu",
.handler = &arm920t_handle_read_mmu_command,
.handler = arm920t_handle_read_mmu_command,
.mode = COMMAND_EXEC,
.help = "display I/D mmu content",
.help = "dump I/D mmu content to file",
.usage = "filename",
},
COMMAND_REGISTRATION_DONE
};


Loading…
Cancel
Save