summaryrefslogtreecommitdiff
path: root/cmd
Commit message (Collapse)AuthorAgeFilesLines
* env: Rename common functions related to setenv()Simon Glass2017-08-1617-32/+32
| | | | | | | | | We are now using an env_ prefix for environment functions. Rename these commonly used functions, for consistency. Also add function comments in common.h. Suggested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org>
* env: Rename setenv() to env_set()Simon Glass2017-08-1611-59/+62
| | | | | | | | We are now using an env_ prefix for environment functions. Rename setenv() for consistency. Also add function comments in common.h. Suggested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org>
* env: Drop saveenv() in favour of env_save()Simon Glass2017-08-151-1/+1
| | | | | | | | | Use the env_save() function directly now that there is only one implementation of saveenv(). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Wolfgang Denk <wd@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
* env: Drop the env_name_spec globalSimon Glass2017-08-151-1/+3
| | | | | | | | Add a name to the driver and use that instead of the global variable declared by each driver. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* cmd/bdinfo: correct comment in board_detailChris Packham2017-08-131-1/+1
| | | | | | | | This appears to be a simple typo that dates back to the original implementation of board_detail in commit e79394643b26 ("common: Update cmd_bdinfo for PPC"). Signed-off-by: Chris Packham <judge.packham@gmail.com>
* nvme: Add nvme commandsZhikang Zhang2017-08-133-0/+205
| | | | | | | | | | | | | | | | | Add nvme commands in U-Boot command line. 1. "nvme scan" - scan NVMe blk devices 2. "nvme list" - show all available NVMe blk devices 3. "nvme info" - show current or a specific NVMe blk device 4. "nvme device" - show or set current device 5. "nvme part" - print partition table 6. "nvme read" - read data from NVMe blk device 7. "nvme write" - write data to NVMe blk device Signed-off-by: Zhikang Zhang <zhikang.zhang@nxp.com> Signed-off-by: Wenbin Song <wenbin.song@nxp.com> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* README: Drop information about commandsSimon Glass2017-08-112-1/+5
| | | | | | | | | Most of this is duplicated in Kconfig help. Add some of that which is not, and remove the help from the README. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_ZFS to KconfigSimon Glass2017-08-111-0/+11
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_ZFS Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_ZBOOT to KconfigSimon Glass2017-08-111-0/+12
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_ZBOOT Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_UUID to KconfigSimon Glass2017-08-111-0/+11
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_UUID Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_UNIVERSE to KconfigSimon Glass2017-08-111-0/+6
| | | | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_UNIVERSE Since no board uses this, perhaps we should drop this command? Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_TSI148 to KconfigSimon Glass2017-08-111-0/+6
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_TSI148 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_TRACE to KconfigSimon Glass2017-08-111-0/+9
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_TRACE Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_YAFFS2 to KconfigSimon Glass2017-08-112-1/+12
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_YAFFS2 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_THOR_DOWNLOAD to KconfigSimon Glass2017-08-111-0/+8
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_THOR_DOWNLOAD Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_TERMINAL to KconfigSimon Glass2017-08-111-0/+8
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_TERMINAL Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_STRINGS to KconfigSimon Glass2017-08-111-0/+8
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_STRINGS Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Kconfig: Sort the memory commandsSimon Glass2017-08-111-30/+30
| | | | | | | | | | | These are currently not quite in alphabetical order. Before adding more, sort them. Not all options have a CMD_ prefix, so ignore that when sorting. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_SPL_WRITE_SIZE to KconfigSimon Glass2017-08-111-0/+9
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_SPL_WRITE_SIZE Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_SPL_NAND_OFS to KconfigSimon Glass2017-08-111-0/+10
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_SPL_NAND_OFS Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_SPL to KconfigSimon Glass2017-08-111-0/+9
| | | | | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_SPL Note that trats does not actually use SPL, so this option can no-longer be set. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_SF_TEST to KconfigSimon Glass2017-08-111-0/+11
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_SF_TEST Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_SDRAM to KconfigSimon Glass2017-08-111-0/+7
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_SDRAM Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_SCSI to KconfigSimon Glass2017-08-112-1/+10
| | | | | | | | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_SCSI Also update the Makefile to use CONFIG_CMD_SCSI instead of CONFIG_SCSI to enable the command, fixing an earlier error. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> [trini: Rework to default y if SCSI, drop cl-som-am57x which did not use CMD_SCSI for real] Signed-off-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_CMD_SAVES to KconfigSimon Glass2017-08-111-0/+6
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_SAVES Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_REISER to KconfigSimon Glass2017-08-111-0/+9
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_REISER Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_REGINFO to KconfigChristophe Leroy2017-08-111-0/+6
| | | | | | | | | This patch converts CONFIG_CMD_REGINFO to Kconfig Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Kconfig: Convert CMD_READ to KconfigSimon Glass2017-08-112-1/+6
| | | | | | | | | Convert this option and enable it in sandbox. Also correct a bug which was introduced with the block-device driver model conversion. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Kconfig: Drop CONFIG_CMD_PORTIO and associated commandSimon Glass2017-08-112-146/+0
| | | | | | | | | | | This command is not used by any board. It also looks quite similar to the 'iod' and 'iow' commands which use the correct I/O macros. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_PCMCIA to KconfigSimon Glass2017-08-111-0/+8
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_PCMCIA Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Kconfig: Drop CONFIG_CMD_PCI_ENUMSimon Glass2017-08-111-2/+2
| | | | | | | | | | | | | This option enables the 'pci enum' command. It is only enabled by a few board and these have not yet been converted to driver model, which always enables this command. It seems easiest to just remove this option. The affected boards can be converted to use driver model for PCI if needed. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_PCI to KconfigSimon Glass2017-08-111-0/+8
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_PCI Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_ONENAND to KconfigSimon Glass2017-08-111-0/+8
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_ONENAND Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Convert CONFIG_CMD_MTDPARTS_SPREAD to KconfigSimon Glass2017-08-111-0/+10
| | | | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_MTDPARTS_SPREAD Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> [trini: Make this a bool not a string] Signed-off-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_CMD_MMC_SPI to KconfigSimon Glass2017-08-111-0/+9
| | | | | | | | | This converts the following to Kconfig: CONFIG_CMD_MMC_SPI Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* Kconfig: Sort the device-access commandsSimon Glass2017-08-111-130/+130
| | | | | | | | | | These are currently not quite in alphabetical order. Before adding more, sort them. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* net: add static to do_tftpput()Masahiro Yamada2017-08-071-1/+1
| | | | | | | | This is only used in cmd/net.c Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* gpt: harden set_gpt_info() against non NULL-terminated stringsAlison Chaiken2017-08-041-27/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Strings read from devices may sometimes fail to be NULL-terminated. The functions in lib/string.c are subject to failure in this case. Protect against observed failures in set_gpt_info() by switching to length-checking variants with a length limit of the maximum possible partition table length. At the same time, add a few checks for NULL string pointers. Here is an example as observed in sandbox under GDB: => gpt verify host 0 $partitions Program received signal SIGSEGV, Segmentation fault. 0x0000000000477747 in strlen (s=0x0) at lib/string.c:267 267 for (sc = s; *sc != '\0'; ++sc) (gdb) bt #0 0x0000000000477747 in strlen (s=0x0) at lib/string.c:267 #1 0x00000000004140b2 in set_gpt_info (str_part=<optimized out>, str_disk_guid=str_disk_guid@entry=0x7fffffffdbe8, partitions=partitions@entry=0x7fffffffdbd8, parts_count=parts_count@entry=0x7fffffffdbcf "", dev_desc=<optimized out>) at cmd/gpt.c:415 #2 0x00000000004145b9 in gpt_verify (str_part=<optimized out>, blk_dev_desc=0x7fffef09a9d0) at cmd/gpt.c:580 #3 do_gpt (cmdtp=<optimized out>, flag=<optimized out>, argc=<optimized out>, argv=0x7fffef09a8f0) at cmd/gpt.c:783 #4 0x00000000004295b0 in cmd_call (argv=0x7fffef09a8f0, argc=0x5, flag=<optimized out>, cmdtp=0x714e20 <_u_boot_list_2_cmd_2_gpt>) at common/command.c:500 #5 cmd_process (flag=<optimized out>, argc=0x5, argv=0x7fffef09a8f0, repeatable=repeatable@entry=0x726c04 <flag_repeat>, ticks=ticks@entry=0x0) at common/command.c:539 Suggested-by: Lothar Waßmann <LW@karo-electronics.de> Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
* GPT: provide commands to selectively rename partitionsAlison Chaiken2017-08-042-4/+241
| | | | | | | | | | | | | | | | | | This patch provides support in u-boot for renaming GPT partitions. The renaming is accomplished via new 'gpt swap' and 'gpt rename' commands. The 'swap' mode returns an error if no matching partition names are found, or if the number of partitions with one name does not equal the number with the second name. The 'rename' variant always succeeds as long as a partition with the provided number exists. Rewriting the partition table has the side-effect that all partitions end up with "msftdata" flag set. The reason is that partition type PARTITION_BASIC_DATA_GUID is hard-coded in the gpt_fill_pte() function. This does not appear to cause any harm. Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
* GPT: read partition table from device into a data structureAlison Chaiken2017-08-041-0/+125
| | | | | | | | | | | Make the partition table available for modification by reading it from the user-specified device into a linked list. Provide an accessor function for command-line testing. Signed-off-by: Alison Chaiken <alison@peloton-tech.com> [trini: Make this depend on CMD_GPT_RENAME, as it is the user of this code] Signed-off-by: Tom Rini <trini@konsulko.com>
* GPT: add accessor function for disk GUIDAlison Chaiken2017-08-041-0/+26
| | | | | | | | | | | In order to read the GPT, modify the partition name strings, and then write out a new GPT, the disk GUID is needed. While there is an existing accessor for the partition UUIDs, there is none yet for the disk GUID. Changes since v6: none. Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
* Merge tag 'signed-efi-next' of git://github.com/agraf/u-bootTom Rini2017-07-311-54/+81
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch queue for efi - 2017-07-29 A lot of EFI greatness this time around. Thanks a lot to the two amazing new contributors Heinrich Schuchardt and Rob Clark we now gain - stable objects across multiple bootefi invocations - fixes for shim - fixes for ipxe - protocol installation - device path conversion to/from text - working "lsefi" support in grub - working notifiers - various bug fixes
| * efi_loader: Fix configuration table overrideAlexander Graf2017-07-261-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before commit 7cbc12415d ("efi_loader: initalize EFI object list only once") we recreated the world on every bootefi invocation. That included the object tree as well as the configuration tables. Now however we don't recreate them, which means we must not explicitly override the configuration tables, as otherwise we may lose our SMBIOS table from the configuration table list on second bootefi invocation. This patch makes bootefi call our normal configuration table modification APIs to add/remove the FDT instead of recreating all tables from scratch. That way the SMBIOS table gets preserved across multiple invocations. Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: initalize EFI object list only onceHeinrich Schuchardt2017-07-241-26/+36
| | | | | | | | | | | | | | | | If several EFI applications are executed in sequence we want to keep the content of the EFI object list. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: gop: fixes for CONFIG_DM_VIDEO without CONFIG_LCDRob Clark2017-07-241-1/+1
| | | | | | | | | | | | | | Make EFI GOP support work with DM_VIDEO but without legacy LCD. Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: EFI file paths should be DOS styleRob Clark2017-07-241-1/+5
| | | | | | | | | | | | | | | | shim.efi, for example, actually tries to parse this, but is expecting backslashes. Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_console: set up eventsxypron.glpk@gmx.de2017-07-191-0/+1
| | | | | | | | | | | | | | | | | | Set up a timer event and the WaitForKey event. In the notify function of the timer event check for console input and signal the WaitForKey event accordingly. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: provide meaningful status codexypron.glpk@gmx.de2017-07-191-8/+8
| | | | | | | | | | | | | | | | | | | | | | Currenty any EFI status other than EFI_SUCCESS is reported as Application terminated, r = -22 With the patch the status code returned by the EFI application is printed. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * bootefi: allow return without EFI_BOOT_SERVICES.Exitxypron.glpk@gmx.de2017-07-191-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Unified Extensible Firmware Interface Specification, version 2.7, defines in chapter 2.1.2 - UEFI Application that an EFI application may either directly return or call EFI_BOOT_SERVICES.Exit(). Unfortunately U-Boot makes the incorrect assumption that EFI_BOOT_SERVICES.Exit() is always called. So the following application leads to a memory exception on the aarch64 architecture when returning: EFI_STATUS efi_main( EFI_HANDLE handle, EFI_SYSTEM_TABlE systable) { return EFI_SUCCESS; } With this patch the entry point is stored in the image handle. The new wrapper function do_enter is used to call the EFI entry point. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: implement EFI_DEVICE_PATH_TO_TEXT_PROTOCOLxypron.glpk@gmx.de2017-07-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ConvertPathToText is implemented for * type 4 - media device path * subtype 4 - file path This is the kind of device path we hand out for block devices. All other cases may be implemented later. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> [agraf: fix whitespace] Signed-off-by: Alexander Graf <agraf@suse.de>