aboutsummaryrefslogtreecommitdiff
path: root/projects/hsm/mgmt-fpga.c
diff options
context:
space:
mode:
authorFredrik Thulin <fredrik@thulin.net>2016-07-09 20:26:57 +0200
committerFredrik Thulin <fredrik@thulin.net>2016-07-09 20:26:57 +0200
commitdcc6cf1b97935bc3a663714f596cacba619a8b3d (patch)
treec38a88e9ae4a1e012cf2cceb2da3c9c10d2bb27a /projects/hsm/mgmt-fpga.c
parent3ea10bf4fba185a8bfbb33a8c67a69f70b95755a (diff)
parentdf9e82b28aad97664cba1fc238bc4f2563c1de7c (diff)
Merge branch 'master' of git.cryptech.is.:sw/stm32
Diffstat (limited to 'projects/hsm/mgmt-fpga.c')
-rw-r--r--projects/hsm/mgmt-fpga.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/projects/hsm/mgmt-fpga.c b/projects/hsm/mgmt-fpga.c
index b74392e..45bd33c 100644
--- a/projects/hsm/mgmt-fpga.c
+++ b/projects/hsm/mgmt-fpga.c
@@ -133,10 +133,37 @@ static int cmd_fpga_reset_registers(struct cli_def *cli, const char *command, ch
return CLI_OK;
}
+static int cmd_fpga_show_status(struct cli_def *cli, const char *command, char *argv[], int argc)
+{
+ cli_print(cli, "FPGA has %sloaded a bitstream", fpgacfg_check_done() ? "":"NOT ");
+ return CLI_OK;
+}
+
+static int cmd_fpga_show_cores(struct cli_def *cli, const char *command, char *argv[], int argc)
+{
+ const hal_core_t *core;
+ const hal_core_info_t *info;
+
+ for (core = hal_core_iterate(NULL); core != NULL; core = hal_core_iterate(core)) {
+ info = hal_core_info(core);
+ cli_print(cli, "%04x: %8.8s %4.4s",
+ (unsigned int)info->base, info->name, info->version);
+ }
+
+ return CLI_OK;
+}
+
void configure_cli_fpga(struct cli_def *cli)
{
/* fpga */
cli_command_root(fpga);
+
+ cli_command_branch(fpga, show);
+ /* show fpga status*/
+ cli_command_node(fpga_show, status, "Show status about the FPGA");
+ /* show fpga cores*/
+ cli_command_node(fpga_show, cores, "Show FPGA core names and versions");
+
/* fpga reset */
cli_command_node(fpga, reset, "Reset FPGA (config reset)");
/* fpga reset registers */