summaryrefslogtreecommitdiff
path: root/cmd
AgeCommit message (Collapse)Author
2023-01-09Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2023-01-06efi_loader: carve out efi_get_memory_map_alloc()Heinrich Schuchardt
Carve out code from efidebug command used to read the memory map. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-01-04cmd: avoid endless loop in sound play commandHeinrich Schuchardt
A parameter starting with a hyphen leads to an endless loop in the sound play command. Leave it to dectoul() to handle the hyphen. It will return 0 for a negative number. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-31cmd: source: Support specifying config nameSean Anderson
As discussed previously [1,2], the source command is not safe to use with verified boot unless there is a key with required = "images" (which has its own problems). This is because if such a key is absent, signatures are verified but not required. It is assumed that configuration nodes will provide the signature. Because the source command does not use configurations to determine the image to source, effectively no verification takes place. To address this, allow specifying configuration nodes. We use the same syntax as the bootm command (helpfully provided for us by fit_parse_conf). By default, we first try the default config and then the default image. To force using a config, # must be present in the command (e.g. `source $loadaddr#my-conf`). For convenience, the config may be omitted, just like the address may be (e.g. `source \#`). This also works for images (`source :` behaves exactly like `source` currently does). [1] https://lore.kernel.org/u-boot/[email protected]/ [2] https://lore.kernel.org/u-boot/[email protected]/ Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-31cmd: source: Clean up a few linesSean Anderson
This simplifies a few lines and corrects an error message. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-29cmd: net: wget: fix Kconfig dependencyMichael Walle
The wget command uses TCP, but fails to select PROT_TCP in Kconfig. Instead it selects the non-existing symbol TCP. Fix the typo. Signed-off-by: Michael Walle <[email protected]>
2022-12-23global: Migrate CONFIG_SYS_I2C_DIRECT_BUS to CFGTom Rini
Perform a simple rename of CONFIG_SYS_I2C_DIRECT_BUS to CFG_SYS_I2C_DIRECT_BUS Signed-off-by: Tom Rini <[email protected]>
2022-12-23global: Migrate CONFIG_RAMDISK_ADDR to CFGTom Rini
Perform a simple rename of CONFIG_RAMDISK_ADDR to CFG_RAMDISK_ADDR Signed-off-by: Tom Rini <[email protected]>
2022-12-23global: Migrate CONFIG_POSTBOOTMENU to CFGTom Rini
Perform a simple rename of CONFIG_POSTBOOTMENU to CFG_POSTBOOTMENU Signed-off-by: Tom Rini <[email protected]>
2022-12-22Convert CONFIG_THOR_RESET_OFF to KconfigTom Rini
This converts the following to Kconfig: CONFIG_THOR_RESET_OFF Signed-off-by: Tom Rini <[email protected]>
2022-12-22i2c: Remove CONFIG_I2C_MULTI_BUSTom Rini
This functionality is part of the legacy I2C subsystem and is currently unused anywhere. Remove the remaining references. Signed-off-by: Tom Rini <[email protected]>
2022-12-21Merge tag 'v2023.01-rc4' into nextTom Rini
Prepare v2023.01-rc4 Signed-off-by: Tom Rini <[email protected]>
2022-12-20eficonfig: EFI_VARIABLE_APPEND_WRITE is not set for null keyMasahisa Kojima
The signed null key with authenticated header is used to clear the PK, KEK, db and dbx. When CONFIG_EFI_MM_COMM_TEE is enabled (StMM and OP-TEE based RPMB storage is used as the EFI variable storage), clearing KEK, db and dbx by enrolling a signed null key does not work as expected if EFI_VARIABLE_APPEND_WRITE attritube is set. This commit checks the selected file is null key, then EFI_VARIABLE_APPEND_WRITE attibute will not be used for the null key. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2022-12-20eficonfig: avoid SetVariable between GetNextVariableName callsMasahisa Kojima
The current code calls efi_set_variable_int() to delete the invalid boot option between calls to efi_get_next_variable_name_int(), it may produce unpredictable results. This commit moves removal of the invalid boot option outside of the efi_get_next_variable_name_int() calls. EFI_NOT_FOUND returned from efi_get_next_variable_name_int() indicates we retrieved all EFI variables, it should be treated as EFI_SUCEESS. To address the checkpatch warning of too many leading tabs, combine two if statement into one. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-12-20eficonfig: carve out efi_get_next_variable_name_int callsMasahisa Kojima
To retrieve the EFI variable name by efi_get_next_variable_name_int(), the sequence of alloc -> efi_get_next_variable_name_int -> realloc -> efi_get_next_variable_name_int is required. In current code, this sequence repeatedly appears in the several functions. It should be curved out a common function. This commit also fixes the missing free() of var_name16 in eficonfig_delete_invalid_boot_option(). Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-12-20cmd: allow sound command to play multiple soundsHeinrich Schuchardt
Currently the sound command accepts only one value each for duration and frequency. Allowing more duration and frequency arguments enables playing a tune. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-12configs: remove support of MTDIDS_DEFAULT/MTDPARTS_DEFAULTPatrick Delaunay
Complete the migration of MTDPARTS_DEFAULT / MTDIDS_DEFAULT in Kconfig; this patch removes the support of MTDIDS_DEFAULT / MTDPARTS_DEFAULT in the configuration files (include/configs/*.h). Signed-off-by: Patrick Delaunay <[email protected]>
2022-12-10cmd: mtd: check if a block has to be skipped or erasedDario Binacchi
As reported by patch [1], the `mtd erase' command should not erase bad blocks. To force bad block erasing you have to use the `mtd erase.dontskipbad' command. This patch tries to fix the same issue without modifying code taken from the linux kernel, in order to make further upgrades easier. [1] https://lore.kernel.org/all/[email protected]/ Suggested-by: Michael Trimarchi <[email protected]> Co-developed-by: Michael Trimarchi <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Co-developed-by: Mikhail Kshevetskiy <[email protected]> Signed-off-by: Mikhail Kshevetskiy <[email protected]> Tested-by: Mikhail Kshevetskiy <[email protected]> Signed-off-by: Dario Binacchi <[email protected]>
2022-12-10cmd: nand: Extend nand info to print ecc informationMichael Trimarchi
Extract the information about ecc strength and ecc step size from mtd controller. This information is usefull to check if what we think as ecc is what we really configured. Signed-off-by: Michael Trimarchi <[email protected]> Reviewed-by: Dario Binacchi <[email protected]> Link: https://lore.kernel.org/all/[email protected] Signed-off-by: Dario Binacchi <[email protected]>
2022-12-07net: Remove eth_legacy.cTom Rini
As there are no more non-DM_ETH cases for networking, remove this legacy file and update the Makefile to match current usage. Signed-off-by: Tom Rini <[email protected]>
2022-12-06Merge tag 'sound-2023-01-rc4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for sound-2023-01-rc4 * Avoid endless loop and amend unit test * Add man-page for the sound command * Fix sandbox sound driver
2022-12-05global: Move remaining CONFIG_SYS_* to CFG_SYS_*Tom Rini
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-05global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_*Tom Rini
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS_SDRAM namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-05global: Move remaining CONFIG_SYS_NUM_* to CFG_SYS_NUM_*Tom Rini
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS_NUM namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-05net: ping6: Add ping6 commandViacheslav Mitrofanov
Implement ping6 command to ping hosts using IPv6. It works the same way as an ordinary ping command. There is no ICMP request so it is not possible to ping our host. This patch adds options in Kconfig and Makefile to build ping6 command. Series-changes: 3 - Added structures and functions descriptions - Added to ping6_receive() return value instead of void Series-changes: 4 - Fixed structures and functions description style Signed-off-by: Viacheslav Mitrofanov <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-05net: tftp: Add IPv6 support for tftpbootViacheslav Mitrofanov
The command tftpboot uses IPv4 by default. Add the possibility to use IPv6 instead. If an address in the command is an IPv6 address it will use IPv6 to boot or if there is a suffix -ipv6 in the end of the command it also force using IPv6. All other tftpboot features and parameters are left the same. Signed-off-by: Viacheslav Mitrofanov <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-05cmd: fix long text for sound commandHeinrich Schuchardt
Make it clear that if only 1 parameter is provided this is the duration. The ISO symbol for hertz is Hz. Fixes: c0c88533fffd ("Sound: Add command for audio playback") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-02eficonfig: use efi_get_next_variable_name_int()Masahisa Kojima
eficonfig command reads all possible UEFI load options from 0x0000 to 0xFFFF to construct the menu. This takes too much time in some environment. This commit uses efi_get_next_variable_name_int() to read all existing UEFI load options to significantlly reduce the count of efi_get_var() call. Signed-off-by: Masahisa Kojima <[email protected]>
2022-12-02efi_loader: utility function to check the variable name is "Boot####"Masahisa Kojima
Some commands need to enumerate the existing UEFI load option variable("Boot####"). This commit transfers some code from cmd/efidebug.c to lib/efi_loder/, then exposes efi_varname_is_load_option() function to check whether the UEFI variable name is "Boot####". Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-12-02eficonfig: use u16_strsize() to get u16 string buffer sizeMasahisa Kojima
Use u16_strsize() to simplify the u16 string buffer size calculation. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-12-02eficonfig: fix going one directory up issueMasahisa Kojima
The directory name in eficonfig menu entry contains the '\' separator. strcmp() argument ".." is wrong and one directory up handling does not work correctly. strcmp() argument must include '\' separator. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-12-02efi_loader: don't use EFI_LOADER_DATA internallyHeinrich Schuchardt
EFI_LOADER_DATA/CODE is reserved for EFI applications. Memory allocated by U-Boot for internal usage should be EFI_BOOT_SERVICES_DATA or _CODE or EFI_RUNTIME_SERVICES_DATA or _CODE. Reported-by: François-Frédéric Ozog <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: François-Frédéric Ozog <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-11-28net: Add wget applicationYing-Chun Liu (PaulLiu)
This commit adds a simple wget command that can download files from http server. The command syntax is wget ${loadaddr} <path of the file from server> Signed-off-by: Duncan Hare <[email protected]> Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Christian Gmeiner <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Michal Simek <[email protected]> Cc: Ramon Fried <[email protected]> Reviewed-by: Ramon Fried <[email protected]>
2022-11-24cmd: fix dependency for CMD_CLSJohn Keeping
It seems this symbol was missed when renaming DM_VIDEO -> VIDEO. Update it. Fixes: b86986c7b3 ("video: Rename CONFIG_DM_VIDEO to CONFIG_VIDEO") Reviewed-by: Heinrich Schuchardt <[email protected]> Signed-off-by: John Keeping <[email protected]>
2022-11-23cmd: ubifs: Do not show usage when command failsPali Rohár
Return value -1 cause U-Boot to print usage message. Return value 1 (CMD_RET_FAILURE) indicates failure. So fix return value when ubifs command starts it execution and fails. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Dhruva Gole <[email protected]>
2022-11-22cmd: fdt: Fix iteration over elements above index 1 in fdt getMarek Vasut
Always increment both the iterator and pointer into the string property value by length of the current element + 1 (to cater for the string delimiter), otherwise the element extracted from the string property value would be extracted from an offset that is multiple of the length of the first element, instead of sum of element lengths until select index. This fixes 'fdt get value' operation for index above 1 (counting from index 0). Acked-by: Heinrich Schuchardt <[email protected]> Fixes: 13982ced2cc ("cmd: fdt: Add support for reading stringlist property values") Signed-off-by: Marek Vasut <[email protected]>
2022-11-22eficonfig: add "Show Signature Database" menu entryMasahisa Kojima
This commit adds the menu-driven interface to show the signature list content. Signed-off-by: Masahisa Kojima <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2022-11-22eficonfig: add UEFI Secure Boot Key enrollment interfaceMasahisa Kojima
This commit adds the menu-driven UEFI Secure Boot Key enrollment interface. User can enroll PK, KEK, db and dbx by selecting file. Only the signed EFI Signature List(s) with an authenticated header, typically '.auth' file, is accepted. To clear the PK, KEK, db and dbx, user needs to enroll the null key signed by PK or KEK. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-11-22eficonfig: use protocol interface for file selectionMasahisa Kojima
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL is not always provided by U-Boot. Use protocol interface functions instead of U-Boot internal functions. Signed-off-by: Masahisa Kojima <[email protected]>
2022-11-22eficonfig: expose eficonfig_create_device_path()Masahisa Kojima
Following commits are adding support for UEFI variable management via the eficonfig menu. Those functions needs to use eficonfig_create_device_path() to construct the full device path from device path of the volume and file path, so move it out of their static declarations. Signed-off-by: Masahisa Kojima <[email protected]>
2022-11-22eficonfig: refactor change boot order implementationMasahisa Kojima
All the eficonfig menus other than "Change Boot Order" use 'eficonfig_entry' structure for each menu entry. This commit refactors change boot order implementation to use 'eficonfig_entry' structure same as other menus to have consistent menu handling. This commit also simplifies the data->active handling when KEY_SPACE is pressed, and sizeof() parameter. Signed-off-by: Masahisa Kojima <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2022-11-22eficonfig: expose append entry functionMasahisa Kojima
Following commits are adding support for UEFI variable management via the eficonfig menu. Those functions needs to use append_entry() and append_quit_entry() to construct the menu, so move them out of their static declarations. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-11-22eficonfig: refactor file selection handlingMasahisa Kojima
eficonfig_select_file_handler() is commonly used to select the file. eficonfig_display_select_file_option() adds an additional menu to clear the selected file. eficonfig_display_select_file_option() is not always necessary for the file selection process, so it must be outside of eficonfig_select_file_handler(). This commit also renames the following functions to avoid confusion. eficonfig_select_file_handler() -> eficonfig_process_select_file() eficonfig_select_file() -> eficonfig_show_file_selection() eficonfig_display_select_file_option() -> eficonfig_process_show_file_option() Finally, test_eficonfig.py need to be updated to get aligned with the above modification. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-11-16eficonfig: fix missing variable initializationMasahisa Kojima
The 'ret' variable must be initialized before use in eficonfig_delete_invalid_boot_option(). Fixes: c416f1c0bc ("bootmenu: add removable media entries") Addresses-Coverity: 376207 ("Uninitialized variables") Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-11-16cmd: remove superfluous if in eficonfig_edit_boot_optionHeinrich Schuchardt
Goto for an immediately succeeding label is superfluous. Fixes: 87d791423ac6 ("eficonfig: menu-driven addition of UEFI boot option") Addresses-Coverity: 376202 ("Identical code for different branches") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2022-11-10global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespaceTom Rini
Migrate all of COFIG_SYS_FSL* to the CFG_SYS namespace. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-11-10Convert CONFIG_SYS_LOADS_BAUD_CHANGE et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_LOADS_BAUD_CHANGE CONFIG_LOADS_ECHO As part of this, we move CMD_SAVES to be after CMD_LOADS as they are logically related (load or save an s-record format file) and this makes grouping of CONFIG_SYS_LOADS_BAUD_CHANGE easier. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-11-07dm: sandbox: Switch over to using the new host uclassSimon Glass
Update the sandbox implementation to use UCLASS_HOST and adjust all the pieces to continue to work: - Update the 'host' command to use the new API - Replace various uses of UCLASS_ROOT with UCLASS_HOST - Disable test_eficonfig since it doesn't work (this should have a unit test to allow this to be debugged) - Update the blk test to use the new API - Drop the old header file Unfortunately it does not seem to be possible to split this change up further. Signed-off-by: Simon Glass <[email protected]>
2022-11-07dm: sandbox: Drop non-BLK code from host implementationSimon Glass
This is not used anymore. Drop it. Signed-off-by: Simon Glass <[email protected]>
2022-11-02cmd: eeprom: don't truncate target address at 32-bitBaruch Siach
On 64-bit platforms where int is 32-bit wide, the eeprom command parse_numeric_param() routine truncates the memory address parameter to the lower 32-bit. Make parse_numeric_param() return long to allow read/write of addresses beyond the lower 4GB. Signed-off-by: Baruch Siach <[email protected]> Reviewed-by: Ramon Fried <[email protected]>