summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-07-04Merge patch series "testb: Various tweaks and fixes for Labgrid"Tom Rini
Simon Glass <[email protected]> says: This series includes a number of mostly unrelated changes which are in service of running U-Boot on a lab using Labgrid.
2024-07-04smbios: Correct error handling when writing tablesSimon Glass
Since write_smbios_table() returns an address, we cannot use it to return and error number. Also, failing on sysinfo_detect() breaks existing boards, e.g. chromebook_link Correct this by logging and swallowing the error. Signed-off-by: Simon Glass <[email protected]> Fixes: a5a57562856 ("lib: smbios: Detect system properties via...")
2024-07-04test: Check help outputSimon Glass
The current test doesn't check anything about the output. If a bug results in junk before the output, this is not currently detected. Add a check for the first line being the one expected. Signed-off-by: Simon Glass <[email protected]>
2024-07-04test: Decode exceptions only with sandboxSimon Glass
When a real board fails we don't want to decode the exception. Reserve that behaviour for sandbox. Also avoid raising a new exception on failure - just re-raise the existing one. Signed-off-by: Simon Glass <[email protected]>
2024-07-04test: dm: Show failing driver nameSimon Glass
When a driver is not registered properly it is not clear which one it is. Adjust test_dm_compat() to show this. Signed-off-by: Simon Glass <[email protected]>
2024-07-04log: Allow tests to pass with CONFIG_LOGF_FUNC_PAD setSimon Glass
This setting pads out the function names. Adjust the test to handle this, since some boards use it. Signed-off-by: Simon Glass <[email protected]>
2024-07-04test: Make bootstd init run only on sandboxSimon Glass
Tests for standard boot need disks to be set up, which can only be done on sandbox, since adjusting disks on real hardware is not currently supported. Mark the init function as sandbox-only. Signed-off-by: Simon Glass <[email protected]>
2024-07-04google: Disable TPMv2 on most ChromebooksSimon Glass
This feature is not present on older Chromebooks, so disable the setting. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-07-04sunxi: Mark scp as optionalSimon Glass
This binary does not prevent the system from booting. Mark it optional so that U-Boot can be built without it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2024-07-04am33xx: Provide a function to set up the debug UARTSimon Glass
Since commit 0dba45864b2a ("arm: Init the debug UART") the debug UART is set up in _main() before early_system_init() is called. Add a suitable board_debug_uart_init() function to set up the UART in SPL. Signed-off-by: Simon Glass <[email protected]>
2024-07-04initcall: Correct use of relocation offsetSimon Glass
The relocation offset can change in some initcall sequences. Handle this and make sure it is used for all debugging statements in init_run_list() Update the trace test to match. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Caleb Connolly <[email protected]>
2024-07-04dm: core: Enhance comments on bind_drivers_pass()Simon Glass
This part of driver model is a little subtle, so add some more comments to promote better understanding. Signed-off-by: Simon Glass <[email protected]>
2024-07-04trace: Update test to tolerate different trace-cmd versionSimon Glass
Some versions of trace-cmd (or some machines?) show one less dot in the CPU list. Signed-off-by: Simon Glass <[email protected]>
2024-07-03Merge patch series "cmd: avoid duplicate weak functions"Tom Rini
Heinrich Schuchardt <[email protected]> says: [trini: Patch 1/3 was replaced by my series merged just prior to this, Heinrich's cover letter is lightly edited and any mistakes are my own] If we have multiple weak implementations of functions, the linker might choose any of these. The EFI sub-systems uses invalidate_icache_all() after loading binaries. Both the EFI sub-system and cmd/cache.c provide a weak invalidate_icache_all() function. Remove the EFI instance. For ARM11 functional implementation of invalidate_icache_all is missing. Add it.
2024-07-03efi_loader: avoid duplicate weak invalidate_icache_all()Heinrich Schuchardt
If multiple weak implementations of a weak function exist, it is unclear which one the linker should chose. cmd/cache.c already defines a weak invalidate_icache_all(). We don't need a call to invalidate_icache_all() on x86. ARM, RISC-V, and Sandbox provide an implementation. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-07-03arm: implement invalidate_icache_all on ARM11Heinrich Schuchardt
In EFI sub-system we rely on invalidate_icache_all() to invalidate the instruction cache after loading binaries. Add the missing implementation on ARM1136, ARM1176. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-07-03Merge patch series "m68k: Implement a default flush_dcache_all"Tom Rini
Tom Rini <[email protected]> says: Prior to this series we had some de-facto required cache functions that were either unimplemented on some architectures or differently named. This would lead in some cases to having multiple "weak" functions available as well. Rework things so that an architecture must provide these functions and it is up to that architecture if a "weak" default function makes sense, or not.
2024-07-03cmd: cache: Remove weak functionsTom Rini
It should be up to an architecture to decide how to implement cache functions, and if they need to use weak functions or not. Allowing the cache command to be built without cache functionality implemented is unhelpful. Further, guard the call to noncached_set_region with CONFIG_SYS_NONCACHED_MEMORY as that's when it's implemented and again is an architecture specific detail. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-07-03powerpc: Add the old invalidate_icache_all functionTom Rini
Add the old invalidate_icache_all function that prints a warning that was previously found in cmd/cache.c Signed-off-by: Tom Rini <[email protected]>
2024-07-03powerpc: Implement a default flush_dcache_allTom Rini
Implement a weak default version of flush_dcache_all which is based on the ARM default, which is to flush the entire range via flush_dcache_range(...). Acked-by: Ilias Apalodimas <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-07-03sh: Add the old invalidate_icache_all functionTom Rini
Add the old invalidate_icache_all function that prints a warning that was previously found in cmd/cache.c Signed-off-by: Tom Rini <[email protected]>
2024-07-03sh: Implement a default flush_dcache_allTom Rini
Implement a weak default version of flush_dcache_all which is based on the ARM default, which is to flush the entire range via flush_dcache_range(...). Acked-by: Ilias Apalodimas <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-07-03m68k: Rename icache_invalid to invalidate_icache_allTom Rini
The implementation of icache_invalid appears to be doing what other architectures call invalidate_icache_all so rename to match. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-07-03m68k: Implement a default flush_dcache_allTom Rini
Implement a weak default version of flush_dcache_all which is based on the ARM default, which is to flush the entire range via flush_dcache_range(...). Acked-by: Angelo Dureghello <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-07-03Merge tag 'ubifixes-for-v2024-10-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ubi ubi changes for v2024.10-rc1 fs: ubifs: Add support for ZSTD decompression from Piotr Wojtaszczyk Fixes for ubi command from Martin Kurbanov
2024-07-03Merge tag 'dm-pull-2jun24-take2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dm buildman CI improvements binman fixes and assumed size partial tools fixes for Python 3.12 patman enhancements
2024-07-03u_boot_pylib: Use correct coverage tool within venvSimon Glass
When running within a Python venv we must use the 'coverage' tool (which is within the venv) so that the venv packages are used in preference to system packages. Otherwise the coverage tests run in a different environment from the normal tests and may fail due to missing packages. Handle this by detecting the venv and changing the tool name. Signed-off-by: Simon Glass <[email protected]>
2024-07-03bootstd: cros: store partition type in an efi_guid_tVincent Stehlé
The scan_part() function uses a struct uuid to store the little-endian partition type GUID, but this structure should be used only to contain a big-endian UUID. Use an efi_guid_t instead. Signed-off-by: Vincent Stehlé <[email protected]> Cc: Simon Glass <[email protected]> Cc: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-07-03buildman: Always use the full path in CROSS_COMPILESimon Glass
The feature to set the toolchain path does not seem to be needed. It causes problems with venv (see [1]). Let's remove it. Add some tests while we are here. It does not look like any docs changes are needed for this. [1] https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/ Signed-off-by: Simon Glass <[email protected]> Suggested-by: Tom Rini <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Andrejs Cainikovs <[email protected]>
2024-07-03buildman: Fix a few typos in toolchain codeSimon Glass
Fix 'Thie' and capitalise 'unicode'. Signed-off-by: Simon Glass <[email protected]> Suggested-by: Heinrich Schuchardt <[email protected]>
2024-07-03buildman: Add python3-pycryptodomeSimon Glass
This is used by some Binman entry types, so add it to allow more tests to pass. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-07-03buildman: Add python3-coverageSimon Glass
Add this package so we can run code-coverage tests for Binman. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-07-03buildman: Add a way to limit the number of buildmansSimon Glass
Buildman uses all available CPUs by default, so running more than one or two concurrent processes is not normally useful. However in some CI cases we want to be able to run several jobs at once to save time. For example, in a lab situation we may want to run a test on 20 boards at a time, since only the build step actually takes much CPU. Add an option which allows such a limit. When buildman starts up, it waits until the number of running processes goes below the limit, then claims a spot in the list. The list is maintained with a temporary file. Note that the temp file is user-specific, since it is hard to create a locked temporary file which can be accessed by any user. In most cases, only one user is running jobs on a machine, so this should not matter. Signed-off-by: Simon Glass <[email protected]>
2024-07-03buildman: Add a flag to force mrproper on failureSimon Glass
When a file is removed by a commit (e.g. include/common.h yay!) it can cause incremental build failures since one of the dependency files from a previous build may mention the file. Add an option to run 'make mrproper' automatically when a build fails. This can be used to automatically resolve the problem, without always adding the large overhead of 'make mrproper' to every build. Signed-off-by: Simon Glass <[email protected]>
2024-07-03buildman: Avoid rebuilding when --mrproper is usedSimon Glass
When this flag is enabled, 'make mrproper' is always used when reconfiguring, so there is no point in doing it again. Update this. Signed-off-by: Simon Glass <[email protected]>
2024-07-03buildman: Make mrproper an argument to run_commit()Simon Glass
Pass this in so the caller can change it independently of the member variable. Signed-off-by: Simon Glass <[email protected]>
2024-07-03buildman: Make mrproper an argument to _config_and_build()Simon Glass
Pass this in so the caller can change it independently of the member variable. Signed-off-by: Simon Glass <[email protected]>
2024-07-03buildman: Make mrproper an argument to _reconfigure()Simon Glass
Pass this in so the caller can change it independently of the member variable. Signed-off-by: Simon Glass <[email protected]>
2024-07-03x86: Set up some assumed sizes for binary blobsSimon Glass
Add assumed sizes so that Binman can check that the U-Boot binaries do not grow too large. Signed-off-by: Simon Glass <[email protected]>
2024-07-03binman: Make Intel ME default to position 0x1000Simon Glass
This cannot ever go at offset 0 since the descriptor is there. Use a better offset for the ME, as used by link and coral, for example. This matters when we start using assumed sizes for missing blobs. Signed-off-by: Simon Glass <[email protected]>
2024-07-03binman: Support an assumed size for missing binariesSimon Glass
Binman has a the useful feature of handling missing external blobs gracefully, including allowing them to be missing, deciding whether the resulting image is functional or not and faking blobs when this is necessary for particular tools (e.g. mkimage). This feature is widely used in CI. One drawback is that if U-Boot grows too large to fit along with the required blobs, then this is not discovered until someone does a 'real' build which includes the blobs. Add a 'assume-size' property to entries to allow Binman to reserve a given size for missing external blobs. Signed-off-by: Simon Glass <[email protected]>
2024-07-03binman: Update the entrydocs headerSimon Glass
Reduce the length of the underline for this header, to match the heading itself. Signed-off-by: Simon Glass <[email protected]>
2024-07-03binman: ti: Regenerate entry docsSimon Glass
Correct formatting errors in the documentation. Regenerate the entries.rst file to include this recent addition. Signed-off-by: Simon Glass <[email protected]>
2024-07-03binman: Regenerate nxp docsSimon Glass
Regenerate the entries.rst file to include this recent addition. Note that more docs are needed here, to actually describe the entry type. Note also that the entry type needs Binman tests added. Signed-off-by: Simon Glass <[email protected]>
2024-07-03binman: efi: Correct entry docsSimon Glass
Somehow the class documentation has got out of sync with the generated entries.rst file. Regenerating it causes errors, so correct these and regenerate the entries.rst file. Signed-off-by: Simon Glass <[email protected]> Fixes: 809f28e7213 ("binman: capsule: Use dumped capsule header...")
2024-07-03configs: enable setvariable at runtime on sandboxIlias Apalodimas
We currently don't have any boards enabling CONFIG_EFI_RT_VOLATILE_STORE. We do have EFI selftests testing the feature though, so enable it in all the sandbox platforms and test the functionality properly Signed-off-by: Ilias Apalodimas <[email protected]>
2024-07-03sandbox: cleanup linker scripts and sectionsIlias Apalodimas
commit 6e2228fb052b ("Merge patch series "Clean up arm linker scripts"") was cleaning up linker scripts for armv7 and v8 in a similar fashion. Several commits in the past -- e.g commit d0b5d9da5de2 ("arm: make _end compiler-generated") was moving symbols to be compiler generated. They were defined as c variables in its own section to force the compiler emit relative a reference. However, defining those in the linker script will do the same thing since [0]. So let's remove the special sections from the linker scripts, the variable definitions from sections.c, and define them as a symbols. It's worth noting that the linker was discarding the symbols in the older binary completely since the symbol definition had an extra _. - new binary $~ aarch64-linux-gnu-readelf -sW u-boot | grep efi_runtim 246: 000000000004acbe 13 FUNC LOCAL DEFAULT 14 vbe_req_efi_runtime_rand 3198: 0000000000318690 16 OBJECT LOCAL DEFAULT 29 efi_runtime_mmio 6359: 00000000000dedff 217 FUNC LOCAL DEFAULT 14 efi_runtime_relocate 7942: 00000000003074c0 136 OBJECT GLOBAL HIDDEN 29 efi_runtime_services 8869: 0000000000305e20 0 NOTYPE GLOBAL DEFAULT 27 __efi_runtime_rel_stop 9159: 0000000000305e20 0 NOTYPE GLOBAL DEFAULT 27 __efi_runtime_stop 9410: 0000000000305e20 0 NOTYPE GLOBAL DEFAULT 27 __efi_runtime_start 10137: 00000000005981bd 0 NOTYPE WEAK HIDDEN 33 efi_runtime.c.de5bed54 10470: 0000000000305e20 0 NOTYPE GLOBAL DEFAULT 27 __efi_runtime_rel_start - old binary $~ aarch64-linux-gnu-readelf -sW u-boot.old | grep efi_runtim 246: 000000000004acbe 13 FUNC LOCAL DEFAULT 14 vbe_req_efi_runtime_rand 3198: 0000000000318690 16 OBJECT LOCAL DEFAULT 29 efi_runtime_mmio 6359: 00000000000dedff 221 FUNC LOCAL DEFAULT 14 efi_runtime_relocate 7942: 00000000003074c0 136 OBJECT GLOBAL HIDDEN 29 efi_runtime_services 10135: 0000000000598320 0 NOTYPE WEAK HIDDEN 33 efi_runtime.c.de5bed54 $~ bloat-o-meter u-bool.old u-boot add/remove: 0/0 grow/shrink: 1/1 up/down: 7/-4 (3) Function old new delta efi_memory_init 343 350 +7 efi_runtime_relocate 221 217 -4 Total: Before=2009902, After=2009905, chg +0.00% [0] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object") Tested-by: Heinrich Schuchardt <[email protected]> # sandbox_defconfig on amd64, arm64, riscv64 Reviewed-by: Simon Glass <[email protected]> Fixes: commit aac53d3d96a2 ("sandbox: Rename EFI runtime sections") Signed-off-by: Ilias Apalodimas <[email protected]>
2024-07-03dm: core: fix typo in SPL_DM_WARN prompt textQuentin Schulz
It should read "in SPL" and not "wuth SPL". Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-07-03dm: core: migrate debug() messages to use dm_warnQuentin Schulz
Prior to that, seeing the debug() messages required to enable DM_DEBUG which defines DEBUG (and then _DEBUG) which in turn makes failing assert() calls reset U-Boot which isn't necessarily what is desired. Instead, let's migrate to dm_warn which is using log_debug when unset or log_warn when set. While at it, reword the DM_DEBUG symbol in Kconfig to explain what it now actually does. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-07-03dm: core: fix signedness in debug messagesQuentin Schulz
outp always point to an unsigned type in ofnode_read_u* functions but the format specifier is currently always using signed type. This is an issue since the signed type can only contain half of the unsigned type values above 0. However, this now breaks another usecase. Indeed, ofnode_read_s32_default is actually passing an s32 but it'll be printed as a u32 instead. But since the function is called u32, it makes more sense to have it print an unsigned value. This was discovered because arm,smc-id = <0x82000010>; on RK3588S is above the max signed value and therefore would return a negative signed decimal value instead of its proper unsigned one. Fixes: fa12dfa08a7b ("dm: core: support reading a single indexed u64 value") Fixes: 4bb7075c830c ("dm: core: support reading a single indexed u32 value") Fixes: 7e5196c409f1 ("dm: core: Add ofnode function to read a 64-bit int") Fixes: 9e51204527dc ("dm: core: Add operations on device tree references") Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>