summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-08Dockerfile: Update to drop virt-make-fs packagesTom Rini
Now that we do not need nor want people to use virt-make-fs for filesystem tests, remove the related packages from the installation list. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-04-08doc/develop/py_testing.rst: Update section on filesystem imagesTom Rini
Now that we have no users of "virt-make-fs" nor users of "sudo" for creating disk images update the documentation. We remove packages that are no longer required (and related text) as well as be firm in our wording around not using "sudo". Signed-off-by: Tom Rini <trini@konsulko.com>
2025-04-08test/py: Rework test_efi_secboot to not use virt-make-fsTom Rini
The problem with using "virt-make-fs" to make a filesystem image is that it is extremely slow. Switch to using the fs_helper functions we have instead from the filesystem tests as these can add files to images and are significantly faster and still do not require root access. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-04-08test/py: Rework test_efi_capsule to not use virt-make-fsTom Rini
FIXME: Reword more The problem with using "virt-make-fs" to make a filesystem image is that it is extremely slow. Switch to using the fs_helper functions we have instead from the filesystem tests as these can add files to images and are significantly faster and still do not require root access. The main change here is that our mount point directory has changed from "test_efi_capsule" to "scratch" and so we need to update other functions too. As the disk image that we get created doesn't have a GPT, invoke sgdisk to do a conversion first. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-04-08test/py: Rework test_eficonfig to not use virt-make-fsTom Rini
The problem with using "virt-make-fs" to make a filesystem image is that it is extremely slow. Switch to using the fs_helper functions we have instead from the filesystem tests as these can add files to images and are significantly faster and still do not require root access. As this test already had a number of internal functions, add a prepare_image function to do this part of the test. Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-04-08test/py: Rework test_efi_bootmgr to not use virt-make-fsTom Rini
The problem with using "virt-make-fs" to make a filesystem image is that it is extremely slow. Switch to using the fs_helper functions we have instead from the filesystem tests as these can add files to images and are significantly faster and still do not require root access. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-04-08test/py: Fix a problem with setup_imageTom Rini
While we can be passed an image size to use, we always called qemu-img with 20M as the size. Fix this by using the size parameter. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-04-08test/py/tests: Move "setup_image" from test_ut.py to fs_helper.pyTom Rini
The generic function in test_ut.py to create a disk image with partition table can be useful outside of test_ut.py so move it to be available more clearly. To make this a bit more easily used library function, make use of check_call directly rather than calling things though u_boot_utils. In turn, to more easily handle stdin here, use the shell "printf" utility to pass sfdisk the specification to create as we do not have an actual file descriptor to use here. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-04-08test/py: Rework test_xxd to not use virt-make-fsTom Rini
The problem with using "virt-make-fs" to make a filesystem image is that it is extremely slow. Switch to using the fs_helper functions we have instead from the filesystem tests as these can add files to images and are significantly faster and still do not require root access. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-04-08test/py: Rework test_cat to not use virt-make-fsTom Rini
The problem with using "virt-make-fs" to make a filesystem image is that it is extremely slow. Switch to using the fs_helper functions we have instead from the filesystem tests as these can add files to images and are significantly faster and still do not require root access. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-03-18Merge patch series "pxe: Precursor series for supporting read_all() in ↵Tom Rini
extlinux / PXE" Simon Glass <sjg@chromium.org> says: This series includes some patches related to allowing read_all() to be used with the extlinux / PXE bootmeths. These patches were split out from the stb4 series, since it will need to have additional patches for LWIP, to avoid breaking PXE booting when LWIP is used. Link: https://lore.kernel.org/r/20250306002533.2380866-1-sjg@chromium.org
2025-03-18net: Provide a function to run network operationsSimon Glass
Add a new netboot_run() function which can be used for simple network operations, such as loading a file. Put the implementation in an internal function, used by the existing code. Place this function into the net/ code, so that it does not need the command line to be available. Document which network operations are supported, i.e. a limited subset, for now. For the one board which uses lwip, it is not quite clear how to avoid using the cmdline interface. This will need some discussion. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18net: Drop #ifdef in parse_args()Simon Glass
Use IS_ENABLED() to avoid an extra build path. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-03-18net: Refactor part of netboot_common() into a functionSimon Glass
Move the core code for starting an netboot operation into a separate function, so that we can (with additional work) move towards calling it from outside the file. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18net: Return the size from parse_args()Simon Glass
Rather than setting global variables, return the size, if provided. For tftput, use the addr argument to store the save address, to avoid adding yet another parameter. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18net: Return the address and size from parse_addr_size()Simon Glass
Rather than updating the global, update the value of some parameters, so the action of the function is simpler. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18net: Return the load address from parse_args()Simon Glass
Rather than updating the global, update the value of a parameter, so the action of the function is simpler. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18net: Simplify parse_args()Simon Glass
This function repeats the same code in a few places, namely setting net_boot_file_name_explicit and copying of the filename to net_boot_file_name Move these two operations to the caller, with just the filename (or NULL) returned by parse_args() This makes things a little easier to follow. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18net: Tidy up the comments to parse_args()Simon Glass
This function is a bit vague as to what it does. Expand the comment a little, to specify which args are provided and which variables are updated. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-03-18net: Keep the bootstage functions togetherSimon Glass
Move the bootstage_mark() function just before net_loop(), so that the IPv6 code is not in the way. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18boot: pxe: Refactor label_run_boot() to avoid cmdlineSimon Glass
Adjust the remaining call in this function to use the bootm API. This will allow PXE to work without the command line. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18pxe_utils: Simplify default fdt in label_run_boot()Simon Glass
Tidy up this code a little to avoid two calls to env_get() for both fdt_addr and fdtcontroladdr Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-03-18boot: pxe: Use bootm_...() functions where possibleSimon Glass
Rather than building a command line for each operation, use the functions provided by the bootm API. Make sure that the bootm functions are available if pxe_utils is used. Since SYS_BOOTM_LEN is not present for the tools-only build, adjust the code to handle that. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-03-18boot: Support compressed booti images in bootmSimon Glass
A compressed booti image relies on the compression-format's header at the start to indicate which compression algorithm is used. We don't support this elsewhere in U-Boot, so assume that a compressed file is always a booti file. Once it is compressed, a check is made to make sure that it actually is. Simplify the implementation by adding a new function which returns the booti image-type if compression is detected. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18boot: Support booti format in bootmSimon Glass
At present the booti format is handled separately, in its own command. Provide a way to boot uncompressed booti images within the bootm code, so that eventually we can boot these images without CONFIG_CMDLINE Update bootm_init() to attach the images for all formats which use them. Add some debugging while we are here. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18boot: arm: riscv: sandbox: Add a format for the booti fileSimon Glass
Arm invented a new format for arm64 and something similar is also used with RISC-V. Add this to the list of supported formats and provide a way for the format to be detected on both architectures. Update the genimg_get_format() function to support this. Fix up switch() statements which don't currently mention this format. Booti does not support a ramdisk, so this can be ignored. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18boot: Convert IMAGE_FORMAT into an enumSimon Glass
Use an enum so it is clearer that these options are related. Update genimg_get_format(), tidy up the function comment and move it to the header file, since it is exported. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18bootm: Allow building bootm.c without CONFIG_SYS_BOOTM_LENSimon Glass
This code cannot be compiled by boards which don't have this option. Add an accessor in the header file to avoid another #ifdef Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-03-18boot: Pass just the FDT argument to label_process_fdt()Simon Glass
Since this function only adjusts one element of the bootm command, pass just that. This will make it easier to refactor things to remove the bootm command. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-03-18boot: Split pxe label_run_boot() into two partsSimon Glass
This function is quite long. Split out the FDT processing into its own function. Add a function comment for the new label_process_fdt() function. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-03-18boot: Split pxe label_boot() into two partsSimon Glass
This function is far too long. Split out the part which builds and runs the bootm/i/z commands into its own function. Add a function comment for the new label_run_boot() function. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-03-18boot: Use strlcpy() in label_boot()Simon Glass
This function is recommended instead of strncpy() since it always terminates the string. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18x86: Drop the unnecessary base_ptr argument to zboot_dump()Simon Glass
This value is include the bootm_info, so drop the unnecessary parameter. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18bootstd: Correct display of kernel versionSimon Glass
The address of the bzImage is not recorded in the bootflow, so we cannot actually locate the version at present. Handle this case, to avoid showing invalid data. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18x86: Move the bootm state for zimage into cmd/Simon Glass
Rather than holding the state in the implementation code, move it to the command code. The state is now passed to the implementation functions and can there (with future work) be pass in from bootstd, without going through the commands. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18x86: Rename state to bmiSimon Glass
Use the common name for the struct, in preparation for passing it around between functions. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18x86: Move x86 zboot state into struct bootm_infoSimon Glass
This structure is supposed to handle any type of booting programmatically, i.e. without needing a command to be executed. Move the x86-specific members into it and use it instead of struct zboot_state. Provide a macro so access is possible without adding lots of #ifdefs to the code. This will allow the struct to be used for all four types of booting (bootm, bootz, booti and zboot). Call bootm_init() to init the state, to match other boot methods. Note that some rationalisation could be performed on this. But this is tricky since addresses are stored as strings in several places. Also some strings combine multiple arguments into one. So to keep this task somewhat manageable, we content ourselves with just getting everything into the same struct Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18x86: Drop duplicate definition of zimage_dump()Simon Glass
This is now defined in bootm.h so drop the duplicate in the x86 code. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18x86: Rename zboot_run() to zboot_run_args()Simon Glass
Rename this function so we can (later) create a zboot_run() function which looks the same as bootm_run() Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18x86: Make do_zboot_states() staticSimon Glass
This function is only called within zboot.c so make the function private. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-18Merge tag 'u-boot-ufs-next-20250318' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ufs into next - initial cleanup and defines sync with Linux v6.12
2025-03-18Merge tag 'u-boot-amlogic-20250318' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-amlogic into next - odroid-n2: Update docs for signing - support Amlogic chip_id v1 and v2
2025-03-18Merge patch series "vepxpress64: disable CRC32 by default and add FVP with ↵Tom Rini
TF-A guide" Harrison Mutai <harrison.mutai@arm.com> says: This patch introduces two updates to the vexpress64 project: - Disable CRC32 by default to prevent aborts in a standard FVP setup. - Add a guide for running FVP with TF-A, providing a clear starting point for users. Link: https://lore.kernel.org/r/20250304165204.53097-1-harrison.mutai@arm.com
2025-03-18Merge patch series "*** Various Improvements for phyCORE-AM62/A SoMs ***"Tom Rini
Wadim Egorov <w.egorov@phytec.de> says: This patch series syncs the phyCORE-AM62Ax feature-wise with our other K3-based SoMs by adding SoM overlay handling and capsule updates. It also introduces support for USBDFU boot and includes various minor fixes. Link: https://lore.kernel.org/r/20250305045838.3614661-1-w.egorov@phytec.de
2025-03-18configs: j784s4-am69: Enable UFSUdit Kumar
J784S4 EVM board has UFS flash, So enable UFS configs Cc: Neha Francis <n-francis@ti.com> Signed-off-by: Udit Kumar <u-kumar1@ti.com>
2025-03-18ufs: core: sync ufshci.h with Linux v6.12Neil Armstrong
Sync ufshci.h with the version found in the Linux v6.12 version commit adc218676eef ("Linux 6.12"). It adds new defines, and moves defines to the same place as the Linux header. No functional changes intended. Acked-by: Neha Malcom Francis <n-francis@ti.com> Tested-by: Love Kumar <love.kumar@amd.com> [narmstrong: do not rename CFG_RESULT_CODE_MASK] Link: https://lore.kernel.org/r/20241230-topic-ufs-cleanup-v2-6-4c6d7994a45d@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2025-03-18ufs: core: sync unipro.h with Linux v6.12Neil Armstrong
Sync unipro.h with the version found in the Linux v6.12 version commit adc218676eef ("Linux 6.12"). It adds new defines, and moves defines to the same place as the Linux header. No functional changes intended. Acked-by: Neha Malcom Francis <n-francis@ti.com> Tested-by: Love Kumar <love.kumar@amd.com> Link: https://lore.kernel.org/r/20241230-topic-ufs-cleanup-v2-5-4c6d7994a45d@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2025-03-18ufs: core: move ufshci defines in a separate headerNeil Armstrong
Splitting the header will help synchronizing the defines again with Linux. Acked-by: Neha Malcom Francis <n-francis@ti.com> Tested-by: Love Kumar <love.kumar@amd.com> Link: https://lore.kernel.org/r/20241230-topic-ufs-cleanup-v2-4-4c6d7994a45d@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2025-03-18ufs: core: cosmetic fixupsNeil Armstrong
Fixes some alignment warnings, missing comments on write barrier, missing parenthesis around macro parameters and a comment typo. No functional changes intended. Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Tested-by: Love Kumar <love.kumar@amd.com> Link: https://lore.kernel.org/r/20241230-topic-ufs-cleanup-v2-3-4c6d7994a45d@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2025-03-18ufs: core: mark unexported functions as staticNeil Armstrong
Mark the remaining local functions as static to avoid build warnings. Also drop the EXPORT_SYMBOL of ufshcd_map_desc_id_to_length. Tested-by: Love Kumar <love.kumar@amd.com> Link: https://lore.kernel.org/r/20241230-topic-ufs-cleanup-v2-2-4c6d7994a45d@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>