diff options
author | Simon Glass | 2020-09-19 18:49:26 -0600 |
---|---|---|
committer | Simon Glass | 2020-10-06 09:07:54 -0600 |
commit | 4aed22762303755f8f26d14f0ad2608d63550e72 (patch) | |
tree | 8dd4859918fb4b6a1311cbf9ddb722505dfdb23b /cmd | |
parent | 9c22adb8f979ce1386b600a13f5abc37ec92d696 (diff) |
bloblist: Add a command
It is helpful to be able to see basic statistics about the bloblist and
also to list its contents. Add a 'bloblist' command to handle this.
Put the display functions in the bloblist modules rather than in the
command code itself. That allows showing a list from SPL, where commands
are not available.
Also make bloblist_first/next_blob() static as they are not used outside
this file.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/Kconfig | 9 | ||||
-rw-r--r-- | cmd/Makefile | 1 | ||||
-rw-r--r-- | cmd/bloblist.c | 37 |
3 files changed, 47 insertions, 0 deletions
diff --git a/cmd/Kconfig b/cmd/Kconfig index 999b6cf239a..b25d2b02ed5 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -631,6 +631,15 @@ config CMD_BINOP Compute binary operations (xor, or, and) of byte arrays of arbitrary size from memory and store the result in memory or the environment. +config CMD_BLOBLIST + bool "bloblist" + default y if BLOBLIST + help + Show information about the bloblist, a collection of binary blobs + held in memory that persist between SPL and U-Boot. In the case of + x86 devices the bloblist can be used to hold ACPI tables so that they + remain available in memory. + config CMD_CRC32 bool "crc32" default y diff --git a/cmd/Makefile b/cmd/Makefile index c7a08ed1094..015b83764c6 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -24,6 +24,7 @@ obj-$(CONFIG_CMD_BDI) += bdinfo.o obj-$(CONFIG_CMD_BEDBUG) += bedbug.o obj-$(CONFIG_CMD_BIND) += bind.o obj-$(CONFIG_CMD_BINOP) += binop.o +obj-$(CONFIG_CMD_BLOBLIST) += bloblist.o obj-$(CONFIG_CMD_BLOCK_CACHE) += blkcache.o obj-$(CONFIG_CMD_BMP) += bmp.o obj-$(CONFIG_CMD_BOOTCOUNT) += bootcount.o diff --git a/cmd/bloblist.c b/cmd/bloblist.c new file mode 100644 index 00000000000..bb2e682ff84 --- /dev/null +++ b/cmd/bloblist.c @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Command-line access to bloblist features + * + * Copyright 2020 Google LLC + * Written by Simon Glass <sjg@chromium.org> + */ + +#include <common.h> +#include <bloblist.h> +#include <command.h> + +DECLARE_GLOBAL_DATA_PTR; + +static int do_bloblist_info(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + bloblist_show_stats(); + + return 0; +} + +static int do_bloblist_list(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + bloblist_show_list(); + + return 0; +} + +static char bloblist_help_text[] = + "info - show information about the bloblist\n" + "bloblist list - list blobs in the bloblist"; + +U_BOOT_CMD_WITH_SUBCMDS(bloblist, "Bloblists", bloblist_help_text, + U_BOOT_SUBCMD_MKENT(info, 1, 1, do_bloblist_info), + U_BOOT_SUBCMD_MKENT(list, 1, 1, do_bloblist_list)); |