summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-08Merge patch series "Change DRAM message and add RAM doc"Tom Rini
Neha Malcom Francis <[email protected]> says: This short series is an ongoing effort to make RAM utilization clearer for easier debugging and understanding of code. Intention is for users to quickly be able to identify the CONFIGs needed to modify for their RAM usecase. Link: https://lore.kernel.org/r/[email protected]
2025-04-08ata: ahci: remove bad freeVincent Stehlé
In the case of a memory allocation error, the ahci_port_start() function tries to free the `pp' pointer. This pointer was not dynamically allocated but does in fact point to an element of the port[] array member of the struct ahci_uc_priv. Remove the erroneous call to free() to fix this. Fixes: 4782ac80b02f ("Add AHCI support to u-boot") Signed-off-by: Vincent Stehlé <[email protected]> Cc: Tom Rini <[email protected]> Cc: Jason Jin <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2025-04-08emulation: qemu-sbsa: Fill in correct ITS IDPatrick Rudolph
The ACPI IORT and ACPI MADT needs to use the same IDs when referencing GIC ITS. The GIC-v3 ITS driver uses dev_seq(dev) to generate a unique ID for the MADT, but qemu sbsa-ref hardcodes it. Currently it's not the same ID, breaking interrupt routing on the OS. Don't assume it's 0 and fetch it from the device instead. TEST: Fixes non working IRQs in QEMU sbsa-ref. Signed-off-by: Patrick Rudolph <[email protected]>
2025-04-08emulation: qemu-sbsa: Move ITS node into GICv3 nodePatrick Rudolph
According to the binding [1] the ITS node should be a subnode of the GICv3 node. Thus move it now that the driver binds subnodes as well. 1: https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic-v3.txt Signed-off-by: Patrick Rudolph <[email protected]>
2025-04-08arm: gic-v3: Scan for subnodesPatrick Rudolph
According to the binding [1] the ITS node should be a subnode of the GICv3 node. Since the ITS node has it's own driver, manually probe for possible subnodes after binding since dm_scan_fdt() is not recursive. 1: https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic-v3.txt Signed-off-by: Patrick Rudolph <[email protected]>
2025-04-08tiny-printf: Improve %X formattingChristoph Niedermaier
If tiny printf is used with 0x%08X (upper case X) the output is always 0x00000000. It could be confusing if upper case instead of lower case is used intentionally or accidentally because the actual value is not output. To avoid this confusion, treat output of %X as %x. As a compromise for tiny printf, the hex value is then output correctly, but in lower case. This is done to keep it tiny printf small. Signed-off-by: Christoph Niedermaier <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2025-04-08arm: simplify updating ACPI table header checksumHeinrich Schuchardt
Use acpi_update_checksum() to update table header. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Matthias Brugger <[email protected]>
2025-04-08qemu-sbsa: simplify updating ACPI table header checksumHeinrich Schuchardt
Use acpi_update_checksum() to update table header. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-04-08x86/acpi: simplify updating header checksumHeinrich Schuchardt
Use acpi_update_checksum() for updating ACPI table header checksum. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Matthias Brugger <[email protected]>
2025-04-08acpi: simplify updating header checksumHeinrich Schuchardt
Use acpi_update_checksum() for updating ACPI table header checksum. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Matthias Brugger <[email protected]>
2025-04-08acpi: new function acpi_update_checksum()Heinrich Schuchardt
Introduce a new function to update ACPI table headers. This allows to simplify the existing code. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-04-08doc: memory: Add documentation for system RAMNeha Malcom Francis
Add documentation for system RAM utilization in U-Boot. Signed-off-by: Neha Malcom Francis <[email protected]>
2025-04-08board_f: Modify DRAM messageNeha Malcom Francis
The message "DRAM: 2 GiB (effective 32 GiB)" can be a little confusing, modify the message s/effective/total to make it more evident. Signed-off-by: Neha Malcom Francis <[email protected]>
2025-04-08Merge tag 'ubifixes-for-2025.07-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ubi ubi fixes for v2025.07-rc1 - ubi: fix bug creating partitions for non-existent volumes from Oskar Nilsson
2025-04-08Merge patch series "Improve pytest runtime"Tom Rini
Tom Rini <[email protected]> says: One thing that Simon Glass has noted is that our pytest run time keeps getting longer. Looking at: https://source.denx.de/u-boot/u-boot/-/pipelines/25011/test_report?job_name=sandbox%20test.py%3A%20%5Bfast%20amd64%5D we can see that some of the longest running tests are a little puzzling. It turns out that we have two ways of making filesystem images without requiring root access and one of them is significantly slower than the other. This series changes us from using virt-make-fs to only using the mk_fs helper that currently resides in test_ut.py which uses standard userspace tools. The final result can be seen at: https://source.denx.de/u-boot/u-boot/-/pipelines/25015/test_report?job_name=sandbox%20test.py%3A%20%5Bfast%20amd64%5D and the tests changed here now run much quicker. Link: https://lore.kernel.org/r/[email protected]
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]> Signed-off-by: Tom Rini <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2025-04-08doc: release_cycle: fix next release versionDario Binacchi
The release commit for version v2025.04 forgot to update the next version (i. e. v2025.07) in the section where information about the merge window is provided. Fixes: 34820924edbc ("Prepare v2025.04") Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-04-08Merge branch 'next'Tom Rini
Note that this undoes the changes of commit cf6d4535cc4c ("x86: emulation: Disable bloblist for now") as that was intended only for the release due to time.
2025-04-08ubi: fix bug creating partitions for non-existent volumesOskar Nilsson
The part_get_info_ubi() function was incorrectly returning 0 (success) when a UBI volume was not found for a given partition index. This caused the part_create_block_devices() function in blk-uclass.c to continue creating devices for non-existent partitions up to MAX_SEARCH_PARTITIONS Fix the issue by returning -1 when a volume is not found, signaling to the part_create_block_devices() function that no more valid volumes exist. Before patch, 128 blk_partition are created: Class   Index  Probed  Driver        Name ------------------------------------------------- root        0  [ + ]  root_driver    root_driver thermal     0  [   ]  imx_thermal    |-- imx_thermal simple_bus  0  [ + ]  simple_bus     |-- soc mtd         0  [ + ]  mxs-nand-dt    |   |-- nand-controller@1806000 blk         0  [   ]  ubi_blk        |   |   `-- [email protected] partition   0  [   ]  blk_partition  |   |       |-- [email protected]:1 ... partition 127  [   ]  blk_partition  |   |       `-- [email protected]:128 After patch, the expected blk_partition are created: Class   Index  Probed  Driver        Name ------------------------------------------------- root        0  [ + ]  root_driver    root_driver thermal     0  [   ]  imx_thermal    |-- imx_thermal simple_bus  0  [ + ]  simple_bus     |-- soc mtd         0  [ + ]  mxs-nand-dt    |   |-- nand-controller@1806000 blk         0  [   ]  ubi_blk        |   |   `-- [email protected] partition   0  [   ]  blk_partition  |   |       |-- [email protected]:1 partition   1  [   ]  blk_partition  |   |       |-- [email protected]:2 partition   2  [   ]  blk_partition  |   |       |-- [email protected]:3 partition   3  [   ]  blk_partition  |   |       `-- [email protected]:4 simple_bus  1  [ + ]  simple_bus     |   |-- bus@2000000 Signed-off-by: Oskar Nilsson <[email protected]> Cc: Kyungmin Park <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Alexey Romanov <[email protected]> Changed in v2: - Change return from -1 to -ENOENT Reviewed-by: Heiko Schocher <[email protected]>
2025-04-07Revert "Merge patch series "pxe: Precursor series for supporting read_all() ↵Tom Rini
in extlinux / PXE"" This reverts commit 8bc3542384e3a1219e5ffb62b79d16dddc1b1fb9, reversing changes made to 698edd63eca090a2e299cd3facf90a0b97bed677. There are still problems with this series to work out. Link: https://lore.kernel.org/u-boot/CAFLszTjw_MJbK9tpzVYi3XKGazcv55auBAdgVzcAVUta7dRqcg@mail.gmail.com/ Signed-off-by: Tom Rini <[email protected]>
2025-04-07Prepare v2025.04v2025.04Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-04-07buildman: update PyYAML requirementHeinrich Schuchardt
On Ubuntu 25.04 installing the dependency pyyaml 6.0 fails with License classifiers are deprecated Update PyYAML to the current release. Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-06efi_loader: stop network in EXIT_BOOT_SERVICESHeinrich Schuchardt
It has been reported that memory corruption can occurred because network packages where received after EXIT_BOOT_SERVICES. See the thread starting at [1]. We try to remove all drivers when EXIT_BOOT_SERVICES is called. But * Some network drivers don't call their own stop method when removed. * Some network drivers don't have a remove method. * Some devices have CONFIG_DM_DEVICE_REMOVE=n. Let's call eth_halt() in EXIT_BOOT_SERVICES explicitly. [1] https://lore.kernel.org/all/[email protected]/ Cc: Michael Brown <[email protected]> Reported-by: Christian Kohlschütter <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Michael Brown <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Tested-by: Christian Kohlschütter <[email protected]>
2025-04-06boot: call dhcp_run in pxe bootmethodHeiko Stuebner
A recent change tried to speed up EFI booting by not calling dhcp_run from eth_bootdev_hunt() every time. PXE so far relied on that dhcp_run call to get an IP address. Fix that by adding a dhcp_run call to the pxe bootflow, with autoload disabled to only get the ip address and nothing else. Suggested-by: Heinrich Schuchardt <[email protected]> Fixes: 1f68057e0320 ("net: eth_bootdev_hunt() should not run DHCP") Signed-off-by: Heiko Stuebner <[email protected]>
2025-04-06mbedtls: remove incorrect attribute type checkerRaymond Mao
S/MIME Capabilities (OID: 1.2.840.113549.1.9.15) attributes are expected to be algorithms but neither data nor MS Inderect Data, thus the checker for data type is incorrect. This patch fixes a capsule authentication failure with PKCS#7 message that contains S/MIME capabilities, which formed by the EDK2 GenerateCapsule tool. S/MIME Capabilities are not common attributes in an EFI capsule, thus this failure cannot be reproduced with the capsules generated via mkeficapsule. Fixes: 7de0d155cce7 ("mbedtls: add PKCS7 parser porting layer") Reported-by: Ilias Apalodimas <[email protected]> Signed-off-by: Raymond Mao <[email protected]>
2025-04-06x86: emulation: Disable bloblist for nowTom Rini
As reported by Niklas Sombert, enabling bloblist on these platforms means that we currently don't pass SMBIOS tables on to later stages. For the v2025.04 release, disable bloblists as that is sufficient to restore functionality and we will address the underlying problem for the next release. Link: https://lore.kernel.org/u-boot/[email protected] Reported-by: Niklas Sombert <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-04-05Merge patch series "Enable MUX_MMIO at SPL stage"Tom Rini
Anurag Dutta <[email protected]> says: This series enables MUX_MMIO at SPL stage for j7200 and j721e as it is required for successful hyperflash boot. Test logs : https://gist.github.com/anuragdutta731/b4c79ef8da56d8c50b38d953c9da4d45 Link: https://lore.kernel.org/r/[email protected]
2025-04-05arm: mach-k3: k3-ddr.h: Include spl.hNeha Malcom Francis
Include spl.h to avoid definition errors in custom builds. Fixes: commit bc07851897bd ("board: ti: Pull redundant DDR functions to a common location and Fixup DDR size when ECC is enabled") Signed-off-by: Neha Malcom Francis <[email protected]>
2025-04-05arm: mach-k3: j721e: Split out J7200 SoC support from J721eAndrew Davis
Currently in j721e_init.c we check which firewalls to remove using the board configuration (e.g CONFIG_TARGET_J721E_R5_EVM). We do this as J721e and J7200 have different IP and firewalls but use the same SoC definition (SOC_K3_J721E) even though they are different SoCs. The idea was they would be similar enough that they both could use the same SoC config to help with common code sharing. Board checks would then be used differentiate. This has grown far too messy to maintain any more, especially now that there is more than one board using J721e (EVM, SK, Beagle AI64). As differentiation is done based on board, every one of these boards would have to have checks added for them. Instead let's split J7200 support out from J721e like how normal new SoC support is done. This patch touches several subsystems and could not be split much better as when we add SOC_K3_J7200 we want to make use of it in all spots that once used the combined SOC_K3_J721E so we can turn off SOC_K3_J721E when building for J7200 boards. Signed-off-by: Andrew Davis <[email protected]>
2025-04-05arm: dts: k3: Remove leftover file after OF_UPSTREAMAndrew Davis
The file k3-am62a7.dtsi is part of upstream DT and should have been removed when migrating to OF_UPSTREAM but must have been missed. Do this here. Signed-off-by: Andrew Davis <[email protected]>
2025-04-05configs: j721e_evm_a72_defconfig: Enable MUX_MMIO at SPLAnurag Dutta
MUX_MMIO is required in SPL stage in order to boot hyperflash successfully. Add configs to enable MUX_MMIO in SPL stage. Signed-off-by: Anurag Dutta <[email protected]>
2025-04-05configs: j7200_evm_a72_defconfig: Enable MUX_MMIO at SPLAnurag Dutta
MUX_MMIO is required in SPL stage in order to boot hyperflash successfully. Add configs to enable MUX_MMIO in SPL stage. Signed-off-by: Anurag Dutta <[email protected]>
2025-04-05mux: Kconfig: Add Kconfig options for MUX_MMIOAnurag Dutta
Add Kconfig options for MUX_MMIO so that it can be enabled in SPL stage. Signed-off-by: Anurag Dutta <[email protected]>
2025-04-04Merge patch series "64-bit U-Boot configuration without SPL"Tom Rini
Jeremy Compostella <[email protected]> says: Introduces a new configuration option X86_RUN_64BIT_NO_SPL to allow building U-Boot as a 64-bit binary without using the SPL (Secondary Program Loader). The motivation is to simplify the boot process for specific x86-based platforms that do not require SPL, such as those booting directly from a 64-bit coreboot firmware. Link: https://lore.kernel.org/r/[email protected]
2025-04-04configs: Add coreboot64-no-spl_defconfig for 64-bit X86 without SPLJeremy Compostella
Create a new defconfig file called `coreboot64-no-spl_defconfig`, tailored specifically for 64-bit X86 architecture systems that operate without the Secondary Program Loader (SPL). This configuration takes its inspiration from `coreboot64_defconfig`.. Signed-off-by: Jeremy Compostella <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-04-04Fix EFI boot file name definition for 64-bit x86Jeremy Compostella
This change aligns the preprocessor directive with the standard configuration flag used for detecting 64-bit x86 architecture. Signed-off-by: Jeremy Compostella <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-04-04arch/x86/lib: Fix CONFIG_X86_64 usage in zimage.cJeremy Compostella
Correct the preprocessor directive used to check for 64-bit kernel support in the `zboot_go` function. The code previously checked for `CONFIG_X86_RUN_64BIT`, which is not the correct configuration option for determining if the kernel should run in 64-bit mode. The correct option is `CONFIG_X86_64`. Signed-off-by: Jeremy Compostella <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-04-04arch/x86/cpu: Call x86_cpu_reinit_f for 64-bitsJeremy Compostella
As both CONFIG_X86_RUN_64BIT and X86_RUN_64BIT_NO_SPL cases run U-Boot in 64-bit mode with the CPU fully initialized already. Signed-off-by: Jeremy Compostella <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-04-04arch/x86: Add 64-bit U-Boot configuration without SPLJeremy Compostella
This commit introduces a new configuration option X86_RUN_64BIT_NO_SPL to allow building U-Boot as a 64-bit binary without using the SPL (Secondary Program Loader). The motivation is to simplify the boot process for certain x86-based platforms that do not require SPL, such as those booting directly from a 64-bit coreboot firmware. This update revises the `X86_RUN_64BIT` configuration to more accurately describe its role as "32-bit SPL followed by 64-bit U-Boot." It clarifies the sequence of operations during the boot process, where the system transitions from a 32-bit SPL (Secondary Program Loader) to the main 64-bit U-Boot. Signed-off-by: Jeremy Compostella <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-04-04Merge patch series "cmd: fuse: Introduce fuse writebuff sub-system and clean up"Tom Rini
Harsha Vardhan V M <[email protected]> says: This patch series introduces the fuse writebuff sub-system command and makes improvements to the existing fuse implementation by removing the custom string functions. The patches are required to be applied in sequence. The series consists of the following changes: Patch 1 removes custom string functions and replaces them with standard string functions. Patch 2 introduces fuse.rst documentation for fuse commands. Patch 3 introduces the fuse writebuff sub-system command, allowing to write a structured buffer in memory to fuses, and implementing the necessary function calls. Patch 4 enables the fuse sub-system in the K3 platform. Patch 5 updates the fuse.rst documentation to include details about the new fuse writebuff command. These changes aim to improve the fuse sub-system by the removal of custom string functions and the addition of the fuse writebuff command improves fuse programming workflows by allowing to write a structured buffer in memory to efuses. Link: https://lore.kernel.org/r/[email protected]
2025-04-04doc: cmd: Add fuse writebuff cmd documentationHarsha Vardhan V M
Add fuse writebuff sub-system command documentation. Signed-off-by: Harsha Vardhan V M <[email protected]>