aboutsummaryrefslogtreecommitdiff
path: root/src/flash
diff options
context:
space:
mode:
authorTim Newsome <tim@sifive.com>2023-10-16 12:30:06 -0700
committerTim Newsome <tim@sifive.com>2023-10-16 12:30:06 -0700
commit53fcf14d83481c6713396dfe8e30067c3c82cac1 (patch)
tree94a4d86ae529a3a574485f00f5bf806f0d716607 /src/flash
parente1fa78d1b368bfd0c9493897da4052534778c79e (diff)
parent0384fe5d596f42388f8b84d42959d899f29388ab (diff)
downloadriscv-openocd-53fcf14d83481c6713396dfe8e30067c3c82cac1.zip
riscv-openocd-53fcf14d83481c6713396dfe8e30067c3c82cac1.tar.gz
riscv-openocd-53fcf14d83481c6713396dfe8e30067c3c82cac1.tar.bz2
Merge commit '0384fe5d596f42388f8b84d42959d899f29388ab' into from_upstream
Conflicts: .github/workflows/snapshot.yml src/rtos/FreeRTOS.c Change-Id: I4c9ff887b69140e0f61cb3f75a2f2c1a12071320
Diffstat (limited to 'src/flash')
-rw-r--r--src/flash/nor/tcl.c49
1 files changed, 19 insertions, 30 deletions
diff --git a/src/flash/nor/tcl.c b/src/flash/nor/tcl.c
index 0562906..7723a17 100644
--- a/src/flash/nor/tcl.c
+++ b/src/flash/nor/tcl.c
@@ -815,6 +815,7 @@ COMMAND_HANDLER(handle_flash_write_bank_command)
if (buf_cnt != length) {
LOG_ERROR("Short read");
free(buffer);
+ fileio_close(fileio);
return ERROR_FAIL;
}
@@ -1325,40 +1326,27 @@ COMMAND_HANDLER(handle_flash_banks_command)
return ERROR_OK;
}
-static int jim_flash_list(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
+COMMAND_HANDLER(handle_flash_list)
{
- if (argc != 1) {
- Jim_WrongNumArgs(interp, 1, argv,
- "no arguments to 'flash list' command");
- return JIM_ERR;
- }
-
- Jim_Obj *list = Jim_NewListObj(interp, NULL, 0);
+ if (CMD_ARGC != 0)
+ return ERROR_COMMAND_SYNTAX_ERROR;
for (struct flash_bank *p = flash_bank_list(); p; p = p->next) {
- Jim_Obj *elem = Jim_NewListObj(interp, NULL, 0);
-
- Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, "name", -1));
- Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, p->name, -1));
- Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, "driver", -1));
- Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, p->driver->name, -1));
- Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, "base", -1));
- Jim_ListAppendElement(interp, elem, Jim_NewIntObj(interp, p->base));
- Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, "size", -1));
- Jim_ListAppendElement(interp, elem, Jim_NewIntObj(interp, p->size));
- Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, "bus_width", -1));
- Jim_ListAppendElement(interp, elem, Jim_NewIntObj(interp, p->bus_width));
- Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, "chip_width", -1));
- Jim_ListAppendElement(interp, elem, Jim_NewIntObj(interp, p->chip_width));
- Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, "target", -1));
- Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, target_name(p->target), -1));
-
- Jim_ListAppendElement(interp, list, elem);
+ command_print(CMD,
+ "{\n"
+ " name %s\n"
+ " driver %s\n"
+ " base " TARGET_ADDR_FMT "\n"
+ " size 0x%" PRIx32 "\n"
+ " bus_width %u\n"
+ " chip_width %u\n"
+ " target %s\n"
+ "}",
+ p->name, p->driver->name, p->base, p->size, p->bus_width, p->chip_width,
+ target_name(p->target));
}
- Jim_SetResult(interp, list);
-
- return JIM_OK;
+ return ERROR_OK;
}
COMMAND_HANDLER(handle_flash_init_command)
@@ -1405,8 +1393,9 @@ static const struct command_registration flash_config_command_handlers[] = {
{
.name = "list",
.mode = COMMAND_ANY,
- .jim_handler = jim_flash_list,
+ .handler = handle_flash_list,
.help = "Returns a list of details about the flash banks.",
+ .usage = "",
},
COMMAND_REGISTRATION_DONE
};