diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2019-03-07 22:34:29 +0100 |
---|---|---|
committer | Matthias Welwarsky <matthias@welwarsky.de> | 2019-03-27 08:56:07 +0000 |
commit | 84a2cab596a0621fab3424c72b43280ccdc240c2 (patch) | |
tree | 4db99b1e13f7ad3b35a4ad8590d97a81b54aa549 /src/target/smp.c | |
parent | 246782229f8f7536bee66322dbe7f366b85628ec (diff) | |
download | riscv-openocd-84a2cab596a0621fab3424c72b43280ccdc240c2.zip riscv-openocd-84a2cab596a0621fab3424c72b43280ccdc240c2.tar.gz riscv-openocd-84a2cab596a0621fab3424c72b43280ccdc240c2.tar.bz2 |
smp: move sub-command "smp_gdb" in file smp.c
The code for this command is currently replicated in cortex_a and
in mips_m4k and is going to be added again for cortex_m.
Plus, it is going to be obsoleted by the HW thread pseudo RTOS.
Consolidate in smp.c a single instance of the command. This will
simplify both obsoleting it and adding it to cortex_m, whatever
change comes first.
Change-Id: I03cd857e21fa3f7202fdcee36bcbd5aae30a609d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4991
Tested-by: jenkins
Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Diffstat (limited to 'src/target/smp.c')
-rw-r--r-- | src/target/smp.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/target/smp.c b/src/target/smp.c index 8794433..f42d8ab 100644 --- a/src/target/smp.c +++ b/src/target/smp.c @@ -151,6 +151,27 @@ COMMAND_HANDLER(deprecated_handle_smp_off_command) return CALL_COMMAND_HANDLER(default_handle_smp_command); } +COMMAND_HANDLER(handle_smp_gdb_command) +{ + struct target *target = get_current_target(CMD_CTX); + int retval = ERROR_OK; + struct target_list *head; + head = target->head; + if (head != (struct target_list *)NULL) { + if (CMD_ARGC == 1) { + int coreid = 0; + COMMAND_PARSE_NUMBER(int, CMD_ARGV[0], coreid); + if (ERROR_OK != retval) + return retval; + target->gdb_service->core[1] = coreid; + + } + command_print(CMD_CTX, "gdb coreid %" PRId32 " -> %" PRId32, target->gdb_service->core[0] + , target->gdb_service->core[1]); + } + return ERROR_OK; +} + const struct command_registration smp_command_handlers[] = { { .name = "smp", @@ -173,5 +194,12 @@ const struct command_registration smp_command_handlers[] = { .help = "Stop smp handling", .usage = "", }, + { + .name = "smp_gdb", + .handler = handle_smp_gdb_command, + .mode = COMMAND_EXEC, + .help = "display/fix current core played to gdb", + .usage = "", + }, COMMAND_REGISTRATION_DONE }; |