summaryrefslogtreecommitdiff
path: root/cmd
AgeCommit message (Collapse)Author
2023-12-21bootm: Drop arguments from do_bootm_states()Simon Glass
Use the bootm_info struct to hold the information required by bootm. Now that none of the functions called from do_bootm_states() needs an argv[] list, change the arguments of do_bootm_states() as well. Take care to use the same value for boot_progress even though it is a little inconsistent. For booti make sure it only uses argv[] and argc at the top of the function, so we can eventually refactor to remove these parameters. With bootm, some OSes need access to the arguments provided to the command, so set these up in the bootm_info struct, for bootm only. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-12-21bootz: Avoid use of #ifdefSimon Glass
Use the compiler to get the set of states, instead of the preprocessor. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-12-21booti: Avoid use of #ifdefSimon Glass
Use the compiler to get the set of states, instead of the preprocessor. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-12-20cmd: part: Cover both part type entries with GUID ifdefMarek Vasut
The 'part type' subcommand depends on GUID partition table support. The help text exposes one of two 'part type' subcommand entries, hide both in case GUID partition table support is not enabled to avoid confusing users. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-20bootflow: Allow setting a cmdline arg with no valueSimon Glass
This is supposed to be supported by the 'bootflow cmd' command, at least according to the help. There is a 'bootflow cmd clear' but it is often more intuitive to use 'bootcmd cmd set' with an empty value. Update the command to pass BOOTFLOWCL_EMPTY in this case. Signed-off-by: Simon Glass <[email protected]>
2023-12-20arm: afs: Set the filesize env. var. on loadRobert Catherall
The `afs load` command copies data to RAM. Set the filesize environment variable to record how much data was 'loaded' Signed-off-by: Robert Catherall <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Tested-by: Andre Przywara <[email protected]>
2023-12-20imxtract: specify max gunzip sizeNikita Shubin
Specify max gunzip size from config to override SYS_XIMG_LEN default value wich is 0x800000. In case we have a large portion of FIT image, for example gzipped kernel with decompressed size large than 0x800000 we should enlarge imxract area, otherwise extracting it will fail. It used to be a hardcoded define in cmd/ximg.c and we are moving it to config. Signed-off-by: Nikita Shubin <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-18Merge tag 'v2024.01-rc5' into nextTom Rini
Prepare v2024.01-rc5
2023-12-17bootmeth: use efi_loader interfaces instead of bootefi commandAKASHI Takahiro
Now that efi_loader subsystem provides interfaces that are equivalent with bootefi command, we can replace command invocations with APIs. Signed-off-by: AKASHI Takahiro <[email protected]>
2023-12-17cmd: efidebug: ease efi configuration dependencyAKASHI Takahiro
Now it is clear that the command actually depends on interfaces, not "bootefi bootmgr" command. Signed-off-by: AKASHI Takahiro <[email protected]>
2023-12-17cmd: bootefi: move library interfaces under lib/efi_loaderAKASHI Takahiro
In the prior commits, interfaces for executing EFI binary and boot manager were carved out. Move them under efi_loader directory so that they can be called from other places without depending on bootefi command. Only efi_selftest-related code will be left in bootefi.c. Signed-off-by: AKASHI Takahiro <[email protected]>
2023-12-17cmd: bootefi: localize global device paths for efi_selftestAKASHI Takahiro
Device paths allocated in bootefi_test_prepare() will be immediately consumed by do_efi_selftest() and there is no need to keep them for later use. Introduce test-specific varialbles to make it easier to move other bootmgr functions into library directory in the next commit. Signed-off-by: AKASHI Takahiro <[email protected]>
2023-12-17cmd: bootefi: carve out binary execution interfaceAKASHI Takahiro
Carve binary execution code out of do_bootefi_image() in order to move binary-execution specific code into library directory in the later commit. Signed-off-by: AKASHI Takahiro <[email protected]>
2023-12-17cmd: bootefi: carve out EFI boot manager interfaceAKASHI Takahiro
Carve EFI boot manager related code out of do_bootefi_image() in order to move boot manager specific code into library directory in the later commit. Signed-off-by: AKASHI Takahiro <[email protected]>
2023-12-17cmd: bootefi: re-organize do_bootefi()AKASHI Takahiro
Replicate some code and re-organize do_bootefi() into three cases, which will be carved out as independent functions in the next two commits. Signed-off-by: AKASHI Takahiro <[email protected]>
2023-12-17cmd: bootefi: unfold do_bootefi_image()AKASHI Takahiro
Unfold do_bootefi_image() into do_bootefi() in order to make it easier to re-organize do_bootefi() in the next commit. Signed-off-by: AKASHI Takahiro <[email protected]>
2023-12-15cmd: clk: Make soc_clk_dump staticIgor Prusov
After introducing dump to clk_ops there is no need to override or expose this symbol anymore. Reviewed-by: Patrice Chotard <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Signed-off-by: Igor Prusov <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2023-12-15cmd: clk: Use dump function from clk_opsIgor Prusov
Add another loop to dump additional info from clock providers that implement dump operation. Reviewed-by: Patrice Chotard <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Signed-off-by: Igor Prusov <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2023-12-13cmd: check argc for acpi dumpHeinrich Schuchardt
'acpi dump' without parameter results in a NULL dereference. Check the number of arguments. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-13cmd: acpi: fix acpi list commandHeinrich Schuchardt
ACPI tables may comprise either RSDT, XSDT, or both. The current code fails to check the presence of the RSDT table before accessing it. This leads to an exception if the RSDT table is not provided. The XSDT table takes precedence over the RSDT table. The return values of list_rsdt() and list_rsdp() are always zero and not checked. Remove the return values. Addresses in the XSDT table are 64-bit. Adjust the output accordingly. As the RSDT table has to be ignored if the XSDT command is present there is no need to compare the tables in a display command. Anyway the specification does not require that the sequence of addresses in the RSDT and XSDT table are the same. The FACS table header does not provide revision information. Correct the description of dump_hdr(). Adjust the ACPI test to match the changed output format of the 'acpi list' command. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-13sandbox: Add a dummy booti commandSimon Glass
Add basic sandbox support for 'booti' so we can start to boot the test ARMbian image. This is helpful in checking that it is parsed correctly. Signed-off-by: Simon Glass <[email protected]>
2023-12-13video: Add a function to clear the displaySimon Glass
Move the code from the 'cls' command into the console file, so it can be called from elsewhere. Signed-off-by: Simon Glass <[email protected]>
2023-12-13boot: Drop size parameter from image_setup_libfdt()Simon Glass
The of_size parameter is not used, so remove it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-12-13bootstd: Add a menu option to bootflow scanSimon Glass
Allow showing a menu and automatically booting, with 'bootflow scan'. This is more convenient than using a script. Signed-off-by: Simon Glass <[email protected]>
2023-12-13Merge patch series "bootm: Refactoring to reduce reliance on CMDLINE (part A)"Tom Rini
To quote the author: It would be useful to be able to boot an OS when CONFIG_CMDLINE is disabled. This could allow reduced code size. Standard boot provides a way to handle programmatic boot, without scripts, so such a feature is possible. The main impediment is the inability to use the booting features of U-Boot without a command line. So the solution is to avoid passing command arguments and the like to code in boot/ A similar process has taken place with filesystems, for example, where we have (somewhat) separate Kconfig options for the filesystem commands and the filesystems themselves. This series starts the process of refactoring the bootm logic so that it can be called from standard boot without using the command line. Mostly it removes the use of argc, argv and cmdtbl from the internal logic. Some limited tidy-up is included, but this is kept to smaller patches, rather than trying to remove all #ifdefs etc. Some function comments are added, however. A simple programmatic boot is provided as a starting point. This work will likely take many series, so this is just the start. Size growth with this series for firefly-rk3288 (Thumb2) is: arm: (for 1/1 boards) all +23.0 rodata -49.0 text +72.0 This should be removed by: https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues/11 but it is not included in this series as it is already large enough. No functional change is intended in this series. Changes in v3: - Add a panic if programmatic boot fails - Drop RFC tag Changes in v2: - Add new patch to adjust position of unmap_sysmem() in boot_get_kernel() - Add new patch to obtain command arguments - Fix 'boot_find_os' typo - Pass in the command name - Use the command table to provide the command name, instead of "bootm"
2023-12-13command: Introduce functions to obtain command argumentsSimon Glass
Add some functions which provide an argument to a command, or NULL if the argument does not exist. Use the same numbering as argv[] since it seems less confusing than the previous idea. Signed-off-by: Simon Glass <[email protected]> Suggested-by: Tom Rini <[email protected]>
2023-12-13bootm: Adjust the parameters of bootm_find_images()Simon Glass
Rather than passing it all the command-line args, pass in the pieces that it needs. These are the image address, the ramdisk address/name and the FDT address/name. Ultimately this will allow usage of this function without being called from the command line. Move the function comment to the header file and tidy it a little. Signed-off-by: Simon Glass <[email protected]>
2023-12-13treewide: Tidy up semicolon after command macrosSimon Glass
The U_BOOT_CMD_COMPLETE() macro has a semicolon at the end, perhaps inadvertently. Some code has taken advantage of this. Tidy this up by dropping the semicolon from the macro and adding it to macro invocations as required. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-12-09Merge patch series "cmd: bdinfo: Optionally use getopt and implement bdinfo -a"Tom Rini
Clean up our bdinfo command a bit and introduce "bdinfo -a"
2023-12-09cmd: bdinfo: Implement support for printing ethernet settings via bdinfo -eMarek Vasut
Add support for printing ethernet settings only via 'bdinfo -e' . Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2023-12-09cmd: bdinfo: Implement support for printing memory layout via bdinfo -mMarek Vasut
Add support for printing memory layout only via 'bdinfo -m' . Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2023-12-09cmd: bdinfo: Optionally use getopt and implement bdinfo -aMarek Vasut
Add optional support for getopt() and in case this is enabled via GETOPT configuration option, implement support for 'bdinfo -a'. The 'bdinfo -a' behaves exactly like bdinfo and prints 'all' the bdinfo information. This is implemented in preparation for other more fine-grained options. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2023-12-05efi_loader: create memory reservations in ACPI caseHeinrich Schuchardt
ACPI tables cannot convey memory reservations for ARM and RISC-V. x86 uses the BIOS E820 table for this purpose. We cannot simply ignore the device-tree when booting via ACPI. We have to assign EfiReservedMemory according to the prior stage device-tree ($fdtaddr) or as fallback the control device-tree ($fdtcontroladdr). Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-05efi: Correct display of table GUIDsSimon Glass
The printf() %pU option decodes GUIDs so it is not necessary to do this first. Drop the incorrect code. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-11-30Merge branch 'staging' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tegra into next Device tree improvents for Paz00 and DM PMIC convertion of recently merged Tegra boards.
2023-11-28Merge patch series "cmd: add scmi command"Tom Rini
To quote the author: "Scmi" command will be re-introduced per Michal's request. The functionality is the same as I put it in my patch set of adding SCMI base protocol support, but made some tweak to make UT, "ut dm scmi_cmd," more flexible and tolerable when enabling/disabling a specific SCMI protocol for test purpose. Each commit may have some change history inherited from the preceding patch series. Test ==== The patch series was tested on the following platforms: * sandbox
2023-11-28cmd: add scmi command for SCMI firmwareAKASHI Takahiro
This command, "scmi", may provide a command line interface to various SCMI protocols. It supports at least initially SCMI base protocol and is intended mainly for debug purpose. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Etienne Carriere <[email protected]>
2023-11-27Merge patch series "ufs: Add a PCI UFS controller support"Tom Rini
To quote the author: This adds a PCI UFS controller support and enables the support on QEMU RISC-V for testing. Requiring QEMU v8.2+.
2023-11-27cmd: ufs: Correct the help textBin Meng
Remove the additional space and use "sub-system" for consistency with other commands like "scsi" and "usb". Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-27cmd: kconfig: Make ufs prompt look similar to other commandsBin Meng
At present the 'ufs' command prompt does not look similar like other commands. Update it. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-27ufs: Correct the UFS terminlogyBin Meng
UFS stands for Universal Flash Storage, not Subsytem. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2023-11-25Merge tag 'u-boot-dfu-next-20231124' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu into next u-boot-dfu-next-20231124 - Make dfu entity name size configurable in KConfig - Implement start-stop for UMS (graceful shutdown via eject) - Improve help messages for cmd/bind - Improve help message for udc bind failures
2023-11-22net: Make NET imply NETDEVICESTom Rini
Normally, when NET is enabled, CMD_NET will then be enabled and in turn NETDEVICES will (likely) be enabled via imply. However, if we disable CMDLINE in a defconfig we now no longer get CMD_NET enabling NETDEVICES for us. This suggestion (as an imply is) really isn't about the network commands but network itself and is a legacy of how intertwined NET/CMD_NET were historically. Move this over to the NET entry instead where it is a more logical fit. Reported-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2023-11-21cmd: bind: Try to improve the (un)bind helpMiquel Raynal
While it may sound totally obvious for the regular U-Boot developer to get the parameters of the bind/unbind commands from the output of 'dm tree', it did not felt straightforward to me until I was explicitly told to look there. And even when I knew the command, I did not make a direct link between the arguments of this command and the columns returned by 'dm tree'. Several of us lost a lot of time because of that, I would like to kindly help other users by slightly improving this textual line. Unfortunately, because of how this string is used (like within the 'help' command) I cannot detail much more, but at least the pointer is there. While we add this message, we can also imply CMD_DM when we enable CMD_BIND so the debug message does not lead to an unknown command. This way the 'dm' command will likely be there unless explicitly disabled. Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-11-21cmd: Change the dependencies between CMD_BIND and USB_GADGETMiquel Raynal
Today CMD_BIND defaults to 'y' when USB_ETHER is enabled. In practice, CMD_BIND should default to 'y' when any USB gadget is enabled not only USB_ETHER. Let's invert the logic of the dependency and use the weak 'imply' keyword to enforce this. Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> # on vim3 Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2023-11-20cmd: eficonfig: create shortened boot optionsHeinrich Schuchardt
The boot options created by eficonfig should use shortened device-paths to avoid problems if drives are enumerated in a different sequence. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-11-20Merge tag 'v2024.01-rc3' into nextTom Rini
Prepare v2024.01-rc3
2023-11-18cmd: efidebug: add uri device pathMasahisa Kojima
This adds the URI device path option for 'boot add' subcommand. User can add the URI load option for downloading ISO image file or EFI application through network. Currently HTTP is only supported. Signed-off-by: Masahisa Kojima <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-11-18efi_loader: add return to efibootmgr event groupMasahisa Kojima
When the image loaded by efibootmgr returns, efibootmgr needs to clean the resources. Adding the event of returning to efibootmgr is useful to simplify the implementation. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2023-11-17Merge branch '2023-11-16-assorted-updates' into nextTom Rini
- squashfs improvements, remove common.h in some places, assorted code fixes, fix a few CONFIG symbol names in Kconfig files, bring in linux's <linux/time.h> conversion functions, poplar updates, bcb improvements.