summaryrefslogtreecommitdiff
path: root/doc/develop
AgeCommit message (Collapse)Author
40 hoursdoc: switch to HTTPS for a few linksQuentin Schulz
It's 2026, we really should be using HTTPS wherever possible. The links in this commit were individually tested, they work fine (the sipeed one sometimes times out but I'm guessing it's hosted in China and it's not uncommon for Europeans to have issues reaching servers there). Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: develop/sending_patches: use link from ozlabs.org mailman archiveQuentin Schulz
This avoids triggering checkpatch that asks us to use lore.kernel.org where the patchwork mailing list isn't hosted. Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: develop/sending_patches: remove mention to the test mailing listQuentin Schulz
We don't have one on the new mailman and Tom said[1] it was so rarely used it doesn't make sense for now to set up one on the new mailman, thus drop it. [1] https://libera.catirclogs.org/u-boot/2026-08-25#40371346; Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: develop/bootstd: fix link to distro_bootQuentin Schulz
We never had a file in boot/distro.c. The only time we had a distro_boot() function was between v2022.07 when it was introduced and v2023.07 (excluded) when it was renamed to extlinux_boot(). So let's just point at the latest release that still had it. Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: fix broken links to mailing listsQuentin Schulz
The new domain needs /mailman added after the domain to be able to reach the mailman information page about the mailing list, so add it. Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: develop/tests_writing: update links to new GitLabQuentin Schulz
The GitLab is now hosted at git.u-boot-project.org so let's update those old links that weren't migrated in the previous relocation from gitlab.denx.de to source.denx.de. Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: bootstd: update link to BSLQuentin Schulz
The link states the current version has moved to https://systemd.io/BOOT_LOADER_SPECIFICATION/ which itself says it's now hosted at https://uapi-group.org/specifications/specs/boot_loader_specification/ so used that link instead of making the user hop through multiple hoops. Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: develop/driver-model: fs_firmware_loader: update linkQuentin Schulz
The current link redirects to a generic page on the Intel website. Looking at the Wayback Machine[1], it really looks like what is currently exposed in the official kernel docs, so used that instead. [1] https://web.archive.org/web/20220916014111/https://01.org/linuxgraphics/gfx-docs/drm/driver-api/firmware/index.html Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: develop/uefi: stop tripping linkcheckQuentin Schulz
https:// trips linkcheck because it thinks it's supposed to be a link and is malformed. Instead, simply replace with HTTPS. Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: develop/coccinelle: remove dead link in supplemental documentationQuentin Schulz
It redirects to a fancy 404. From a cursory look at the Wayback machine[1], I don't think it has more than what's already in this file so simply remove the mention of it. [1] https://web.archive.org/web/20240915073329/https://bottest.wiki.kernel.org/coccicheck Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: develop/coccinelle: update linksQuentin Schulz
The original links often time out. On the Wayback Machine[1], the root URL is redirected to https://coccinelle.gitlabpages.inria.fr so use that link directly. [1] https://web.archive.org/web/20251028230912/http://coccinelle.lip6.fr/ Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: develop: sending_patches: update link to GPL licenseQuentin Schulz
The link actually (after a looooooong time) redirects to the GPL-3.0 license which isn't the appropriate license. Instead, point at the GPL-2.0 page. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
40 hoursdoc: develop: sending_patches: update link to Email Clients and PatchesQuentin Schulz
The article doesn't exist anymore. On the Wayback machine[1], one can see that the article merely quotes a patch from the mailing list. It eventually got merged and moved around a bit and is now residing at the link in this commit. [1] https://web.archive.org/web/20120512160209/https://kerneltrap.org/Linux/Email_Clients_and_Patches Signed-off-by: Quentin Schulz <[email protected]>
40 hoursdoc: develop: uefi: update link to ipxe git repoQuentin Schulz
http://git.ipxe.org/ipxe.git redirects to https://github.com/ipxe/ipxe so let's use the proper link without a redirect in-between. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
40 hoursdoc: develop: sending_patches: fix links to pw-am.shQuentin Schulz
The OpenEmbedded wiki doesn't reside at that address (it does at https://www.openembedded.org/wiki/) but it's unclear what it's useful for to link to it so instead let's remove the link. The related pw-am.sh script cannot be found at that address, however it is available at a new address so let's use that though OE-Core lists it among the Outdated information in its wiki[1]. [1] https://www.openembedded.org/wiki/Patchwork#Outdated Signed-off-by: Quentin Schulz <[email protected]>
6 daysPrepare v2026.10-rc3v2026.10-rc3Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-08-10Prepare v2026.10-rc2v2026.10-rc2Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-08-10Merge patch series "boot: fit: authenticate the dm-verity roothash"Tom Rini
Daniel Golle <[email protected]> says: A signed FIT configuration can delegate the integrity of a (potentially large) root filesystem image to the kernel's dm-verity instead of having U-Boot hash the whole payload at boot: the FIT carries a "dm-verity" subnode with the roothash, salt and block parameters, U-Boot passes the roothash to Linux through the dm-mod.create bootargs, and dm-verity then validates the filesystem block by block against it. For that to be safe the roothash has to be trusted, and in a signed configuration the only thing that establishes trust is the configuration signature. The roothash was not covered by it. fit_config_add_hash() collected the image node, its hash subnodes and its cipher subnode into the signed region, but not the dm-verity subnode, so the roothash, the sole integrity anchor for the filesystem, was left unsigned. The result is a verified-boot bypass for the root filesystem: an attacker who can rewrite the boot medium can replace the filesystem, recompute a matching dm-verity tree, write the new roothash into the unsigned dm-verity subnode, and the configuration signature still verifies. dm-verity then faithfully validates the malicious filesystem against the attacker's roothash. This series closes the gap. Link: https://lore.kernel.org/r/[email protected]
2026-08-10test: fit: verify dm-verity roothash is covered by the config signatureDaniel Golle
A dm-verity protected filesystem image is not hashed by U-Boot; its integrity is delegated to the kernel, which trusts the roothash taken from the FIT dm-verity subnode. For that chain of trust to hold, the roothash (and salt) must be part of the region covered by the configuration signature, otherwise an attacker can replace both the filesystem and the roothash while keeping the signature valid. Add two independent checks of this property: - test/py/tests/test_fit_verity_sign.py signs a configuration that references a filesystem image carrying a dm-verity subnode, then confirms that tampering the roothash or the salt is rejected by fit_check_sign. A control that tampers a byte known to be signed proves the check can fail. A matching page is added under doc/develop/pytest/ so the module documentation is rendered with the rest of the generated docs. - test/boot/fit_verity.c gains a runtime unit test that builds the exact node list the configuration signature is computed over, turns it into hashed regions and checks both that the roothash bytes fall inside a signed region and that tampering them changes the hash. It needs no private key, so it also runs on real devices and uses the same hash path a device would. To let the unit test build the signed-region node list, rename the config node-list helper to fit_config_get_signed_nodes(), make it non-static and declare it in image.h. Signed-off-by: Daniel Golle <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-07-28Merge tag 'efi-2026-01-rc2' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-efi Pull request efi-2026-01-rc2 CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-efi/-/pipelines/753 Documentation: * sandbox: fix enum host_platform_flags description * switch from setenv to env set and from printenv to env print * document Renesas R-Car Gen5 RSIP Cortex-R52 start * thead: lpi4a: detail how to enable fastboot UEFI: * unify and correct GUID selection for security database variables * test: check default GUID selection of security database variables * set correct frame buffer address * check efi_deserialize_load_option() in get_dp_device()
2026-07-27Prepare v2026.10-rc1v2026.10-rc1Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-07-27Merge tag 'u-boot-rockchip-2026.10-20260724' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-rockchip - Switched to use upstream pinctrl header include, - Dropped SDHCI DT properties in U-Boot-specific DT for NanoPi R5 as most are present upstream and those which aren't are breaking devices, - Fixed ECC strength mismatch between reading and writing on non-0 NAND chips configured as boot medium (nand-is-boot-medium), - Moved Simon to reviewer for ARM ROCKCHIP, - Fixed build issue related to GPT capsule support accessing a struct member only present when CONFIG_PARTITION_TYPE_GUID is set, - Added support for new devices: - Anbernic RG-DS - ROC-RK3588S-PC
2026-07-27doc: Switch from setenv to env setMarek Vasut
The "env" command is the recommended environment management command, its "set" subcommand is the equivalent replacement for legacy "setenv" command. Update the documentation to use the contemporary "env set" command instead of legacy "setenv" command. Note that the "setenv" command is unlikely to be removed from U-Boot in the near future due to it being integral part of the command line ABI. Implemented using: $ sed -i 's@\<setenv\>@env set@g' $(git grep -li '\<setenv\>' doc/) README Signed-off-by: Marek Vasut <[email protected]>
2026-07-23rockchip: pinctrl: replace RK_FUNC_n definesJohan Jonker
The use of RK_FUNC_n defines is deprecated in the upstream rockchip.h file. Replace all them by the function number. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Quentin Schulz <[email protected]>
2026-07-20global: Switch from source.denx.de to git.u-boot-project.orgTom Rini
As part of moving our git forge to a new location, update all references in tree to point to git.u-boot-project.org now. Signed-off-by: Tom Rini <[email protected]>
2026-07-20doc: Migrate mailing-list to lists.u-boot-project.orgNeil Armstrong
The U-Boot Mailing-list is moving to the lists.u-boot-project.org domain, so update all references of list.denx.de to the new domain in the documentation. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Reviewed-by: Peter Robinson <[email protected]>
2026-07-13pmbus: add PMBus 1.x framework, CLI, and bindingVincent Jardin
Add U-Boot's PMBus 1.x layer: the decoder/transport library, the pmbus CLI command and a generic DT binding. The subsequent commits provide the UCLASS_REGULATOR adapter and per-chip drivers. U-Boot's PMBus support is not a hwmon clone of Linux's drivers/hwmon/pmbus/. Linux owns the runtime side (polling, sysfs, alert IRQs, fan loops). U-Boot owns the boot-time side in order to, - identify the PMBus regulators a board carries: MFR_ID/ MFR_MODEL/MFR_REVISION + sanity checks. - print telemetry (VIN/VOUT/IIN/IOUT/POUT/TEMP) so an operator can confirm rail voltages and faults before the kernel - decode any chip alerts (STATUS_VOUT/STATUS_IOUT/STATUS_INPUT/ STATUS_TEMPERATURE/STATUS_CML) so a boot log shows why the previous boot failed or the board had been power cycled because of an outage (typically over temperature or under current). Out of scope by design: no periodic polling, no sysfs, no fan-speed control loop, no PMBUS_VIRT_* sensor virtualisation, no caching. If a use case needs any of those, the answer should be "wait until Linux comes up". It shall remain a thin layer. The constants and structural shape (command codes, status bit names, sensor-class enum, format enum, struct pmbus_driver_info) are mirrored from Linux drivers/hwmon/pmbus/pmbus.h verbatim. The decoders/encoders are reimplemented from the PMBus 1.3 specification because the surrounding hwmon context (struct pmbus_data, sysfs caching, hwmon publication) does not apply. The main benefits: - One framework + CLI for any board carrying PMBus regulators: no per-board PMBus implementation required anymore. - Boards call pmbus_print_telemetry() / pmbus_print_status_word() directly from boot init for a snapshot, sharing all decode + format-dispatch with the CLI. - Linux-compatible constants and DT binding so porting an existing drivers/hwmon/pmbus/ chip is mechanical. - Boot-time AVS/VID rail trim reuses the same decoders and encoders as the CLI and the regulator path: no duplicate math. Signed-off-by: Vincent Jardin <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-07-06Merge branch 'next'Tom Rini
2026-07-06Prepare v2026.07v2026.07masterTom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-07-06test: Stop running the patman testsSimon Glass
The patman tests no longer exist in the tree, so drop them from the test/run script (used by 'make tcheck' and friends) and from the tools-testing example in the documentation. Signed-off-by: Simon Glass <[email protected]>
2026-07-06doc: Remove the patman documentationSimon Glass
The full patman manual now lives with the standalone patch-manager package, making the 1000-line copy in the tree redundant. Remove the in-tree manual, its README and the doc/develop/patman.rst toctree page. The sending-patches guide already introduces patman, so point it at the patch-manager package instead of the now-dead ':doc:' cross-reference and, with the manual gone, add a couple of lines on how the tool works. Point the SPI howto at that guide too, rather than repeating the install details. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2026-07-06doc: Move the b4 guide into sending_patchesSimon Glass
The b4 contributor guide sits in the coding-style document, which is an odd place for it. Move it into sending_patches.rst, next to the patman note, so both patch-sending tools are described together. The b4_contrib label moves with it, so the reference from process.rst still resolves. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-07-03treewide: change email links from mailman to patch.msgid.link with message-idNeil Armstrong
In preparation of the migration of the mailman mailing-list currently hosted on the denx.de infrastructure, migrate the links in the code, comments and documentation to https://patch.msgid.link to be future proof and always link to the expected content data and uses the message-id in the URL which will help find the appropriate e-mail in the future. Signed-off-by: Neil Armstrong <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-06-24doc: Add a warning about using RELOC_ADDR_TOPIlias Apalodimas
Since devices that can't DMA above 4GiB will misbehave with this option enabled add a warning on the documentation. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]> Tested-by: Christophe Leroy (CS GROUP) <[email protected]>
2026-06-22Merge tag 'v2026.07-rc5' into nextTom Rini
Prepare v2026.07-rc5
2026-06-22Prepare v2026.07-rc5v2026.07-rc5Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-06-11Merge patch series "allow control DTB to double as "FIT image""Tom Rini
Rasmus Villemoes <[email protected]> says: The commit message for patch 1 explains what it is I'd like to be able to do, but here's some more background: For a long time, we've embedded the boot script in the U-Boot binary by building a bootscript.itb, and using a .dtsi like / { config { bootscript = /incbin/("/path/to/bootscript.itb"); }; }; which in turn is mentioned in CONFIG_DEVICE_TREE_INCLUDES, that bootscript.itb FIT image has been embedded in U-Boot's control dtb. Running that was then a matter of doing fdt addr ${fdtcontroladdr} && fdt get addr bsaddr /config bootscript && source ${bsaddr} There are a couple of advantage of having the bootscript (and other script logic) embedded in the U-Boot binary. First, there's no need to figure out some separate partition to store the script in, and making sure that gets updated whenever the bootloader itself does. Second, one doesn't need to worry about verifying the script; whatever steps one needs to take to implement secure boot for U-Boot itself will by necessity also cover the control dtb (if nothing else then because that's where the public key for the kernel verification lives). And third, the boot script is automatically updated together with U-Boot itself; and if U-Boot is stored in an eMMC boot partition, that update is guaranteed to be atomic. Now with the stricter requirements of libfdt starting from v2026.04, the above command no longer worked, or only half the time, because the embedded FIT image may not land on an 8-byte aligned address. So that line had to be changed a little (line breaks added) fdt addr ${fdtcontroladdr} && fdt get addr bsaddr /config bootscript && fdt get size bssize /config bootscript && cp.b ${bsaddr} ${loadaddr} ${bssize} && source ${loadaddr} which is getting quite unwieldy. Then it struck me that one could perhaps simplify all of this quite a lot: Cut out the intermediate bootscript.itb, just create a .dtsi which directly puts a /images node inside the control dtb / { images { default = "bootscript"; bootscript { description = "Boot script"; data = /incbin/("/path/to/bootscript.sh"); type = "script"; compression = "none"; }; }; }; and treat the control dtb itself as a FIT image; so the command to put in $bootcmd becomes simply source ${fdtcontroladdr}:bootscript and embedding other pieces of callable scripts is quite trivial. And that almost works out-of-the-box, except for the fit_check_format() sanity check. Introduce a CONFIG_ knob that allows one to opt out of those sanity checks, for the special case of the address being checked being identical to gd->fdt_blob. Link: https://lore.kernel.org/r/[email protected]
2026-06-11doc: develop: add section on embedding scripts inside control DTBRasmus Villemoes
Add a section that explains how one can embed scripts in the control DTB and run them from the U-Boot shell, the advantages of doing that compared to using a separately built FIT image, and the configuration knob that must be turned on to allow this to work. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2026-06-08Merge tag 'v2026.07-rc4' into nextTom Rini
Prepare v2026.07-rc4
2026-06-08Prepare v2026.07-rc4v2026.07-rc4Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-05-25Merge patch series "env: migrate static flags list to Kconfig"Tom Rini
This series from James Hilliard <[email protected]> converts the static flags list for the environment to be configured via Kconfig and updates the documentation. Link: https://lore.kernel.org/r/[email protected]
2026-05-25env: migrate static flags list to KconfigJames Hilliard
Environment callbacks can already be configured from Kconfig with CONFIG_ENV_CALLBACK_LIST_STATIC, but static environment flags still require board headers to define CFG_ENV_FLAGS_LIST_STATIC. Add CONFIG_ENV_FLAGS_LIST_STATIC and use it as the only board-provided static environment flags list. Convert the remaining default-config users from CFG_ENV_FLAGS_LIST_STATIC to defconfig settings and drop the legacy header macro from ENV_FLAGS_LIST_STATIC. Move the environment flags format documentation out of README and into the developer environment documentation. Include the format in the Kconfig help as well. This lets boards configure writeable-list policy and type validation from defconfig without adding a config header solely for env flags. This preserves the behavior of default configs. Header-only cases that were inactive in upstream defconfigs are not converted into defconfig entries: iot2050 can add its list when enabling ENV_WRITEABLE_LIST, and smegw01 can add mmcdev:dw support if the unlocked SYS_BOOT_LOCKED=n configuration is needed. Signed-off-by: James Hilliard <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]> Reviewed-by: Walter Schweizer <[email protected]>
2026-05-25Prepare v2026.07-rc3v2026.07-rc3Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-05-11Prepare v2026.07-rc2v2026.07-rc2Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-05-01doc: bootstd: specify CONFIG_BOOTSTD_DEFAULTS provides network features when ↵Quentin Schulz
NET=y In the past, we only had one network stack which was called NET. The network features were enabled for the legacy (and then only) networking stack since commit 22353fa6b585 ("bootstd: Add some default filesystems and commands"). Then instead on relying on NET legacy stack for enabling networking features, the dependencies were (mostly) changed to depend on CMD_NET in commit a0c739c184ca ("boot: Create a common BOOT_DEFAULTS for distro and bootstd"). Then a new stack (lwIP) appeared, then CMD_NET was made available with this new stack in commit 98ad145db61a ("net: lwip: add DHCP support and dhcp commmand") making the networking features possible to enable and finally commit f1e978fd54d9 ("boot: Update tests around network symbols in BOOT_DEFAULTS_CMDS") made it explicit that we need *a* network stack to enable some networking features. Align the bootstd documentation with what's actually implemented as Kconfig dependencies. Note that BOOTSTD_DEFAULTS selects BOOT_DEFAULTS which selects BOOT_DEFAULTS_CMDS which then selects network features. The CMDLINE symbol needs to be enabled as well for BOOT_DEFAULTS to select BOOT_DEFAULTS_CMDS, but I don't think we need to go that far into explaining what's required to enable some commands. Reported-by: Simon Glass <[email protected]> Closes: https://lore.kernel.org/u-boot/CAFLszTgZC1FGy8965pHiG-u=FhrguftRv41ghQ_Qb_RRXx6tyg@mail.gmail.com/ Signed-off-by: Quentin Schulz <[email protected]>
2026-05-01doc: .clang-format descriptionHeinrich Schuchardt
We cannot use .clang-format without modification. For instance U-Boot has some for each macros that Linux does not have. Adjust the description. Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-04-27Prepare v2026.07-rc1v2026.07-rc1Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-04-27Merge patch series "net: migrate NO_NET out of the networking stack choice"Tom Rini
Quentin Schulz <[email protected]> says: This migrates the net options away from the main Kconfig to net/Kconfig, rename the current NET option to NET_LEGACY to really highlight what it is and hopefully encourage more people to use lwIP, add a new NET menuconfig (but keep NO_NET as an alias to NET=n for now) which then allows us to replace all the "if legacy_stack || lwip_stack" checks with "if net_support" which is easier to read and maintain. The only doubt I have is wrt SYS_RX_ETH_BUFFER which seems to be needed for now even when no network is configured? Likely due to include/net-common.h with PKTBUFSRX? No change in behavior is intended. Only change in defconfig including other defconfigs where NO_NET=y or NET is not set, in which case NO_NET is not set or NET=y should be set in the top defconfig. Similar change required for config fragments. See commit log in patch adding NET menuconfig for details. This was tested based on 70fd0c3bb7c2 ("x86: there is no CONFIG_UBOOT_ROMSIZE_KB_12288"), from within the GitLab CI container trini/u-boot-gitlab-ci-runner:noble-20251013-23Jan2026 and set up similarly as in "build all platforms in a single job" GitLab CI job. #!/usr/bin/env bash set -o pipefail set -eux ARGS="-BvelPEWM --reproducible-builds --step 0" ./tools/buildman/buildman -o ${O} --force-build $ARGS -CE $* ./tools/buildman/buildman -o ${O} $ARGS -Ssd $* O=../build/u-boot/ ../u-boot.sh -b master^..b4/net-kconfig |& tee ../log.txt I can't really decipher the log.txt, but there's no line starting with + which would be an error according to tools/buildman/builder.py help text. Additionally, because I started the script with set -e set and because buildman has an exit code != 0 when it fails to build a board, and I have the summary printed (which is the second buildman call), I believe it means all builds passed. The summary is the following: aarch64: (for 537/537 boards) all +0.0 rodata +0.0 uniphier_v8 : all +1 rodata +1 u-boot: add: 0/0, grow: 1/0 bytes: 1/0 (1) function old new delta data_gz 10640 10641 +1 arm: (for 733/733 boards) all -0.0 rodata -0.0 uniphier_v7 : all -1 rodata -1 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-1 (-1) function old new delta data_gz 11919 11918 -1 opos6uldev : all -3 rodata -3 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-3 (-3) function old new delta data_gz 18778 18775 -3 uniphier_ld4_sld8: all -3 rodata -3 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-3 (-3) function old new delta data_gz 11276 11273 -3 stemmy : all -20 rodata -20 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-20 (-20) function old new delta data_gz 15783 15763 -20 As far as I could tell this data_gz is an automatically generated array when CONFIG_CMD_CONFIG is enabled. It is the compressed .config stored in binary form. Because I'm changing the name of symbols, replacing a menu with a menuconfig, additional text makes it to .config and the "# Networking" section in .config disappears. Here is the diff for the 5 defconfigs listed above, generated with: for f in build/*-m; do diff --unified=0 $f/.config $(dirname $f)/$(basename -a -s '-m' $f)/.config done (-m is the build directory for master, and without the suffix, it's the top commit of this series) """ --- build/opos6uldev-m/.config 2026-04-20 10:53:49.804528526 +0200 +++ build/opos6uldev/.config 2026-04-20 11:03:37.430242767 +0200 @@ -970,4 +969,0 @@ - -# -# Networking -# @@ -975,0 +972 @@ +CONFIG_NET_LEGACY=y --- build/stemmy-m/.config 2026-04-20 11:01:33.653698123 +0200 +++ build/stemmy/.config 2026-04-20 11:04:53.452577311 +0200 @@ -733,4 +732,0 @@ - -# -# Networking -# @@ -738,2 +733,0 @@ -# CONFIG_NET is not set -# CONFIG_NET_LWIP is not set --- build/uniphier_ld4_sld8-m/.config 2026-04-20 11:00:41.605469071 +0200 +++ build/uniphier_ld4_sld8/.config 2026-04-20 11:04:22.226439899 +0200 @@ -997,4 +996,0 @@ - -# -# Networking -# @@ -1002,0 +999 @@ +CONFIG_NET_LEGACY=y --- build/uniphier_v7-m/.config 2026-04-20 10:53:04.019307319 +0200 +++ build/uniphier_v7/.config 2026-04-20 11:03:01.688085486 +0200 @@ -1004,4 +1003,0 @@ - -# -# Networking -# @@ -1009,0 +1006 @@ +CONFIG_NET_LEGACY=y --- build/uniphier_v8-m/.config 2026-04-20 10:43:05.614441175 +0200 +++ build/uniphier_v8/.config 2026-04-20 10:41:03.214852130 +0200 @@ -875,4 +874,0 @@ - -# -# Networking -# @@ -880,0 +877 @@ +CONFIG_NET_LEGACY=y """ This is fine: - Networking menu doesn't exist anymore so "#\n# Networking\n#\n" won't be in .config anymore. - opos6uldev, uniphier_ld4_sld8, uniphier_v7 and uniphier_v8 all have (old) CONFIG_NET enabled, (new) CONFIG_NET will still be set but CONFIG_NET_LEGACY also needs to be defined now to reflect the stack choice (even if default), - stemmy has CONFIG_NO_NET set, which means CONFIG_NET and CONFIG_NET_LWIP are not reachable anymore hence why they don't need to be part of .config, GitLab CI was run on this series (well, not exactly, but it's only changes to the git logs that were made): https://source.denx.de/u-boot/contributors/qschulz/u-boot/-/pipelines/29849 It passes. Link: https://lore.kernel.org/r/[email protected]
2026-04-27rename NET to NET_LEGACYQuentin Schulz
Highlight that NET really is the legacy networking stack by renaming the option to NET_LEGACY. This requires us to add an SPL_NET_LEGACY alias to SPL_NET as otherwise CONFIG_IS_ENABLED(NET_LEGACY) will not work for SPL. The "depends on !NET_LWIP" for SPL_NET clearly highlights that it is using the legacy networking app so this seems fine to do. This also has the benefit of removing potential confusion on NET being a specific networking stack instead of "any" network stack. Signed-off-by: Quentin Schulz <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-04-22Merge patch series "test: Refactor FIT test for clarity and extensibility"Tom Rini
Simon Glass <[email protected]> says: This series reworks the FIT test (test_fit.py) to make it easier to maintain and extend. It fixes the buildconfigspec so the test actually runs on sandbox, avoids unnecessary U-Boot restarts, renames the main test for easier selection, adds a missing-kernel check, fixes Python warnings, converts the test to use a class, splits into separate test functions, and adds Sphinx documentation. Link: https://lore.kernel.org/r/[email protected]