aboutsummaryrefslogtreecommitdiff
path: root/src/target/aarch64.c
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2020-05-13 01:59:59 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2021-04-18 15:34:10 +0100
commite216186fab59d71fdee24af926d1807a1d7fc950 (patch)
tree73c0495cd397a5144b8836ebc76b449277c5bf39 /src/target/aarch64.c
parentaacc26559e4984b649083ac046db2cbcb54e2f70 (diff)
downloadriscv-openocd-e216186fab59d71fdee24af926d1807a1d7fc950.zip
riscv-openocd-e216186fab59d71fdee24af926d1807a1d7fc950.tar.gz
riscv-openocd-e216186fab59d71fdee24af926d1807a1d7fc950.tar.bz2
helper/command: register full-name commands in jim
While still keeping the tree of struct command, stop registering commands in jim by the root "word" only. Register the full-name of the command and pass as private data the struct command of the command itself. Still use the tree of struct command to un-register the commands. Some "native" commands (.jim_handler) share the same handler, then the handler checks the command name to run the right code. Now argv[0] returns the full-name of the command, so check the name by looking in the struct command passed as private data. Change-Id: I5623c61cceee8a75f5d5a551ef3fbf5a303af6be Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5671 Tested-by: jenkins Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
Diffstat (limited to 'src/target/aarch64.c')
-rw-r--r--src/target/aarch64.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/target/aarch64.c b/src/target/aarch64.c
index 46ed49f..4ba92c8 100644
--- a/src/target/aarch64.c
+++ b/src/target/aarch64.c
@@ -2966,6 +2966,7 @@ COMMAND_HANDLER(aarch64_mask_interrupts_command)
static int jim_mcrmrc(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
{
+ struct command *c = jim_to_command(interp);
struct command_context *context;
struct target *target;
struct arm *arm;
@@ -2973,7 +2974,7 @@ static int jim_mcrmrc(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
bool is_mcr = false;
int arg_cnt = 0;
- if (Jim_CompareStringImmediate(interp, argv[0], "mcr")) {
+ if (!strcmp(c->name, "mcr")) {
is_mcr = true;
arg_cnt = 7;
} else {