summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-11-18test: cmd/hash: check return value of ut_check_console_lineHeinrich Schuchardt
ut_check_console_line() does include an assert. Pass the result to ut_assertok(). Addresses-Coverity-ID: 514958 Error handling issues Fixes: 7dfafcd65ef3 ("test: unit test for hash command") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-11-18Kconfig: describe NET, NO_NET, LWIP_DEBUG and LWIP_ASSERTJerome Forissier
Some Kconfig symbols introduced in commit 8cb330355bd5 ("net: introduce alternative implementation as net/lwip/") need a full description. The NET symbol needs one, too. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-11-18net: lwip/wget: correct SERVER_NAME_SIZEHeinrich Schuchardt
The maximum length of a domain name is 253 as defined in RFC 1035. So SERVER_NAME_SIZE should be 254 including NUL. Fixes: 3c656c928bd7 ("net: lwip: add wget command") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-11-18Merge patch series "Fix boot failure due to misaligned DMA buffer"Tom Rini
Nam Cao <namcao@linutronix.de> says: We observed the following sporadic boot failure while booting from MMC device: => boot CACHE: Misaligned operation at range [9efa25f8, 9efa27f8] CACHE: Misaligned operation at range [9efa25f8, 9efa27f8] CACHE: Misaligned operation at range [9efa25f8, 9efa27f8] CACHE: Misaligned operation at range [9efa25f8, 9efa27f8] ** Booting bootflow 'mmc@2194000.bootdev.part_1' with extlinux Ignoring unknown command: �D���D�� Boot failed (err=-14) The reason is because while allocating buffer to read a file from MMC, alignment of 1 byte is used. Thus, the buffer doesn't work for performing DMA, and garbage data is read. While looking at this issue, I also noticed that if no alignment specified (align=0) then fs_read_alloc() is documented to use the default. But the default is no alignment. Therefore, other users of fs_read_alloc() which specify align=0 may be broken as well. The first patch changes extlinux_read_bootflow() to use proper buffer alignment for DMA. The second patch changes the default alignment of fs_read_alloc() to be DMA-suitable, to fix other potential bugs.
2024-11-18fs: Use ARCH_DMA_MINALIGN as default alignment for fs_read_alloc()Nam Cao
The comment above fs_read_alloc() explains: @align: Alignment to use for memory allocation (0 for default) However, in the actual implementation, there is no alignment when @align is zero. This current default is probably fine for most cases. But for some block devices which transfer data via DMA, ARCH_DMA_MINALIGN is needed. Change the default alignment to ARCH_DMA_MINALIGN. Fixes: de7b5a8a1ac0 ("fs: Create functions to load and allocate a file") Signed-off-by: Nam Cao <namcao@linutronix.de> Tested-by: Javier Fernandez Pastrana <javier.pastrana@linutronix.de>
2024-11-18boot: extlinux: Fix unaligned buffer for reading data from file systemNam Cao
extlinux_read_bootflow() allocates a buffer to read from file system without any alignment. But for some block devices which transfer data via DMA, ARCH_DMA_MINALIGN alignment is required. For example, due to misaligned buffer, the below boot failure is observed. => boot CACHE: Misaligned operation at range [9efa25f8, 9efa27f8] CACHE: Misaligned operation at range [9efa25f8, 9efa27f8] CACHE: Misaligned operation at range [9efa25f8, 9efa27f8] CACHE: Misaligned operation at range [9efa25f8, 9efa27f8] ** Booting bootflow 'mmc@2194000.bootdev.part_1' with extlinux Ignoring unknown command: �D���D�� Boot failed (err=-14) Change the buffer alignment to ARCH_DMA_MINALIGN. Fixes: 31aefaf89a5b ("bootstd: Add an implementation of distro boot") Signed-off-by: Nam Cao <namcao@linutronix.de> Tested-by: Javier Fernandez Pastrana <javier.pastrana@linutronix.de>
2024-11-16Merge tag 'tpm-master-16112024' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tpm CI: https://source.denx.de/u-boot/custodians/u-boot-tpm/-/pipelines/23393 - Two changes from Heinrich: - One is adding some missing TPM files for proper maintenance. - The second addresses Coverity-ID: 356664 replacing a mempcy() which has undefined behavior with memmove()
2024-11-16MAINTAINERS: add lib/tpm* to TPM DRIVERSHeinrich Schuchardt
All TPM code should be maintained. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-11-16tpm: use memmove() for overlapping buffersHeinrich Schuchardt
The behavior of memcpy() for overlapping buffers is undefined. Fixes: 4c57ec76b725 ("tpm: Implement state command for Cr50") Addresses-Coverity-ID: 356664 Overlapping buffer in memory copy Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-11-15km: disable CMD_JFFS2 for all PPC boardsHolger Brunck
We don't use this feature, we can remove it therefore in the defconfigs. Signed-off-by: Holger Brunck <holger.brunck@hitachienergy.com>
2024-11-15fs: btrfs: hide duplicate 'Cannot lookup file' error on 'load'Dominique Martinet
Running commands such as 'load mmc 2:1 $addr $path' when path does not exists will print an error twice if the file does not exist, e.g.: ``` Cannot lookup file boot/boot.scr Failed to load 'boot/boot.scr' ``` (where the first line is printed by btrfs and the second by common fs code) Historically other filesystems such as ext4 or fat have not been printing a message here, so do the same here to avoid duplicate. The other error messages in this function are also somewhat redundant, but bring useful diagnostics if they happen somewhere, so have been left as printf. Note that if a user wants no message to be printed for optional file loads, they have to check for file existence first with other commands such as 'size'. Signed-off-by: Dominique Martinet <dominique.martinet@atmark-techno.com> Reviewed-by: Qu Wenruo <wqu@suse.com>
2024-11-15test/py: spi: Rephrase the warning/error messagesLove Kumar
Rephrasing the error and warning messages to be more meaningful and clear. Signed-off-by: Love Kumar <love.kumar@amd.com>
2024-11-15Merge tag 'u-boot-imx-master-20241115' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/23373 - Fix a missing break for CMD_DCD_SKIP reported by Coverty on imx8image. - Fix i.MX thermal threshold regression.
2024-11-15imx: Fix critical thermal thresholdFrancesco Dolcini
Fix the critical thermal threshold for i.MX processors, this was changed while moving the code from imx8m/imx9 directories into a shared place. There is no need to keep the critical threshold 5 degrees less than the SoC maximum temperature threshold, what is actually going to happen in practice is that we are going to power-off the board when the SoC is still within its working temperature range. In addition to that this is a change in the actual behavior, that is introducing a regression to users, and it was hidden within a software refactoring. Fixes: d0fe80890ab1 ("imx: Generalize fixup_thermal_trips") Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2024-11-15tools: imx8image: Add missing break for CMD_DCD_SKIPFabio Estevam
The CMD_DCD_SKIP case misses a break statement. Add it. Fixes: 254c00803b63 ("tools: imx8image: add possibility to skip dcd") Addresses-Coverity-ID: 514648: Control flow issues (MISSING_BREAK) Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Heiko Schocher <hs@denx.de>
2024-11-14.gitignore: add test overlay .S and u_boot_logo filesChristian Marangi
Add test overlay .S and u_boot_logo file to gitignore as these files are generated and should not be committed but ignored. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-11-14lmb.c: add missing comma in lmb_dump_region()Heinrich Schuchardt
In the message string " %s[%d]\t[0x%llx-0x%llx], 0x%08llx bytes flags: " a comma is missing before flags. To avoid increasing the code size replace '0x%' by '%#'. Printing the size with leading zeros but not the addresses does not really make sense. Remove the leading zeros from the size output. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> [trini: Fix test/cmd/bdinfo.c for these changes] Signed-off-by: Tom Rini <trini@konsulko.com>
2024-11-14test: use %zd for size_t in mbr_test_run()Heinrich Schuchardt
For printing size_t we must use %zd and not %ld to avoid a -Wformat error on 32-bit systems. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-11-14test: print_printf() must check availability of %lsHeinrich Schuchardt
Availability of %ls in printf() depends on having CONFIG_EFI_LOADER or CONFIG_EFI_APP. Respect this when testing. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-11-14test: cmd/mbr: pass correct buffer size to init_write_buffersHeinrich Schuchardt
We want to completely initialize the mbr and embr buffers. This requires passing the buffer size and not the size of a pointer to the buffer. Addresses-Coverity-ID: 510454 Wrong sizeof argument Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-11-14upl: fix parsing of DT propertyHeinrich Schuchardt
When calling decode_addr_size() we must pass the size of the device-tree property and not sizeof(void *). Fixes: 90469da3da0d ("upl: Add support for reading a upl handoff") Addresses-Coverity-ID: 510459 Wrong sizeof argument Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-11-14cmd: upl: initialize unit test stateHeinrich Schuchardt
do_upl_write() calls upl_get_test_data() which may increment the fail count in the unit test state. We should initialize it. Addresses-Coverity-ID: 510465 Uninitialized scalar variable Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-11-14xyz-modem: Add missing fallthrough annotationHeinrich Schuchardt
Falltroughs in switch statements should be explicit. Addresses-Coverity-ID: 131162 Missing break in switch Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-11-14lmb: do not panic in lmb_print_region_flagsHeinrich Schuchardt
Commit c3cf0dc64f1c ("lmb: add a check to prevent memory overrun") addressed a possible buffer overrun using assert_noisy(). Resetting via panic() in lmb_print_region() while allowing invalid lmb flags elsewhere is not reasonable. Instead of panicking print a message indicating the problem. fls() returns an int. Using a u64 for bitpos does not match. Use int instead. fls() takes an int as argument. Using 1ull << bitpos generates a u64. Use 1u << bitpos instead. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Acked-by: Sughosh Ganu <sughosh.ganu@linaro.org>
2024-11-14lib: rsa: Set conventional salt length RSA-PSS parameterLoic Poulain
RFC 3447 says that Typical salt length are either 0 or the length of the output of the digest algorithm, RFC 4055 also recommends hash value length as the salt length. Moreover, By convention, most of the signing infrastructures/libraries use the length of the digest algorithm (such as google cloud kms: https://cloud.google.com/kms/docs/algorithms). If the salt-length parameter is not set, openssl default to the maximum allowed value, which is a openssl 'specificity', so this works well for local signing, but restricts compatibility with other engines (e.g pkcs11/libkmsp11): ``` returning 0x71 from C_SignInit due to status INVALID_ARGUMENT: at rsassa_pss.cc:53: expected salt length for key XX is 32, but 478 was supplied in the parameters Could not obtain signature: error:41000070:PKCS#11 module::Mechanism invalid ``` To improve compatibility, we set the default RSA-PSS salt-length value to the conventional one. A further improvement could consist in making it configurable as signature FIT node attribute. rfc3447: https://datatracker.ietf.org/doc/html/rfc3447 rfc4055: https://datatracker.ietf.org/doc/html/rfc4055 Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2024-11-14lwip: fix code style issuesJerome Forissier
Fix various code style issues in the lwIP code. Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-11-14Makefile: fix empty MK_ARCH when using ccacheQuentin Schulz
One can use ccache by prefixing the typical CROSS_COMPILE value with "ccache " (e.g. "ccache aarch64-gnu-linux-" for Aarch64). This however makes the MK_ARCH empty because sed won't find a match anymore since it expects the CROSS_COMPILE value to start with the actual toolchain (with an unlimited number of white spaces before). This is failing builds since commit 7506c1566998 ("sandbox: Report host default-filename in native mode"). Add "ccache" prefix to ignore but participate in the matching regex used by sed to identify the target architecture. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
2024-11-14Merge patch series "examples: fix building on arm64"Tom Rini
Heinrich Schuchardt <heinrich.schuchardt@canonical.com> says: Commit f9886bc60f42 ("Added arm64 assembly for examples/api crt0") added the arm64 architecture but the code does not even build. With the changes the 'demo' program runs on qemu_arm64_defconfig using setenv autostart no dhcp demo setenv autostart yes bootelf $loadaddr Link: https://lore.kernel.org/r/20241103053551.52715-1-heinrich.schuchardt@canonical.com
2024-11-14examples: make glue and demo code compatible with 64-bitHeinrich Schuchardt
Commit f9886bc60f42 ("Added arm64 assembly for examples/api crt0") added a 64-bit target for the examples but did not adjust the demo code to be 64-bit compatible. Change variable size for pointers. Use %p to print pointers. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-11-14examples: adjust LOAD_ADDR on arm64Heinrich Schuchardt
Change the load address on arm64 such that it is compatible with the memory available on qemu_arm64_defconfig. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-11-14examples: fix building on arm64Heinrich Schuchardt
Commit f9886bc60f42 ("Added arm64 assembly for examples/api crt0") tried to add arm64 support to the examples but crt0.S does not even build for qemu_arm64_defconfig with CONFIG_API=y, CONFIG_EXAMPLES=y: examples/api/crt0.S: Assembler messages: examples/api/crt0.S:32: Error: expected a register at operand 1 -- `ldr ip,=search_hint' examples/api/crt0.S:33: Error: unexpected register type at operand 1 -- `str sp,[ip]' make[2]: *** [scripts/Makefile.build:292: examples/api/crt0.o] Error 1 Do not define _start twice. Use valid register names. Move syscall_ptr and search_hint to the data section to avoid an invalid relocation. Fixes: f9886bc60f42 ("Added arm64 assembly for examples/api crt0") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-11-14Merge patch series "cmd: hash: correct parameter count check"Tom Rini
Heinrich Schuchardt <heinrich.schuchardt@canonical.com> says: Since commit 348ea878508d ("cmd: hash: fix param count check") the hash command cannot be used without the optional variable name parameter if CONFIG_HASH_VERIFY=y. 'hash sha1 $loadaddr $filesize' returns CMD_RET_USAGE. The minimum number of arguments is four no matter if verification is enabled or not. Fix the parameter check. Provide a unit test. Link: https://lore.kernel.org/r/20241102100836.103005-1-heinrich.schuchardt@canonical.com
2024-11-14Merge patch series "Apply SoM overlays on phyCORE-AM6xx SoMs"Tom Rini
Wadim Egorov <w.egorov@phytec.de> says: Our SoMs are available in multiple configurations, managed via device tree overlays. To determine the specific variant in use, we read the EEPROM and apply the appropriate overlays during boot to the device tree used by the OS. Apply overlays for phyCORE-AM62x and phyCORE-AM64x SoMs. Future K3 SoMs will be able to reuse this logic and overlays. Link: https://lore.kernel.org/r/20241030164815.1763506-1-w.egorov@phytec.de
2024-11-14test: unit test for hash commandHeinrich Schuchardt
Provide a unit test testing the hash command. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-11-14cmd: hash: correct parameter count checkHeinrich Schuchardt
Since commit 348ea878508d ("cmd: hash: fix param count check") the hash command cannot be used without the optional variable name parameter if CONFIG_HASH_VERIFY=y. 'hash sha1 $loadaddr $filesize' returns CMD_RET_USAGE. The minimum number of arguments is four no matter if verification is enabled or not. Fixes: 348ea878508d ("cmd: hash: fix param count check") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
2024-11-14board: phytec: common: k3: Apply SoM-specific overlays to OS device treeWadim Egorov
Our SoMs are available in multiple configurations, managed via device tree overlays. To determine the specific variant in use, we read the EEPROM and apply the appropriate overlays during boot to the device tree used by the OS. Signed-off-by: Wadim Egorov <w.egorov@phytec.de> Acked-by: Neha Malcom Francis <n-francis@ti.com>
2024-11-14arm: dts: k3-am642-phycore-som-binman: Add SoM overlaysWadim Egorov
Include SoM dt-overlays that handle variants of our SoMs into u-boot's FIT image. Signed-off-by: Wadim Egorov <w.egorov@phytec.de> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2024-11-14arm: dts: k3-am625-phycore-som-binman: Add SoM overlaysWadim Egorov
Include SoM dt-overlays that handle variants of our SoMs into u-boot's FIT image. Signed-off-by: Wadim Egorov <w.egorov@phytec.de> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2024-11-14configs: phycore_am64x_a53_defconfig: Enable PHYTEC_SOM_DETECTIONWadim Egorov
Enable CONFIG_PHYTEC_SOM_DETECTION to apply SoM overlays based on EEPROM configuration. Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-11-14configs: phycore_am64x_a53_defconfig: Add SoM overlays to OF_OVERLAY_LISTWadim Egorov
Include SoM dt-overlays for DT control so we can include them into our u-boot FIT image. While at it also resync after savedefconfig. Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-11-14configs: phycore_am62x_a53_defconfig: Add SoM overlays to OF_OVERLAY_LISTWadim Egorov
Include SoM dt-overlays for DT control so we can include them into our u-boot FIT image. Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-11-13Merge patch series "labgrid: Provide an integration with Labgrid"Tom Rini
Simon Glass <sjg@chromium.org> says: Labgrid provides access to a hardware lab in an automated way. It is possible to boot U-Boot on boards in the lab without physically touching them. It relies on relays, USB UARTs and SD muxes, among other things. By way of background, about 4 years ago I wrong a thing called Labman[1] which allowed my lab of about 30 devices to be operated remotely, using tbot for the console and build integration. While it worked OK and I used it for many bisects, I didn't take it any further. It turns out that there was already an existing program, called Labgrid, which I did not know about at time (thank you Tom for telling me). It is more rounded than Labman and has a number of advantages: - does not need udev rules, mostly - has several existing users who rely on it - supports multiple machines exporting their devices It lacks a 'lab check' feature and a few other things, but these can be remedied. On and off over the past several weeks I have been experimenting with Labgrid. I have managed to create an initial U-Boot integration (this series) by adding various features to Labgrid[2] and the U-Boot test hooks. I hope that this might inspire others to set up boards and run tests automatically, rather than relying on infrequent, manual test. Perhaps it may even be possible to have a number of labs available. Included in the integration are a number of simple scripts which make it easy to connect to boards and run tests: ub-int <target> Build and boot on a target, starting an interactive session ub-cli <target> Build and boot on a target, ensure U-Boot starts and provide an interactive session from there ub-smoke <target> Smoke test U-Boot to check that it boots to a prompt on a target ub-bisect <target> Bisect a git tree to locate a failure on a particular target ub-pyt <target> <testspec> Run U-Boot pytests on a target Some of these help to provide the same tbot[4] workflow which I have relied on for several years, albeit much simpler versions. The goal here is to create some sort of script which can collect patches from the mailing list, apply them and test them on a selection of boards. I suspect that script already exists, so please let me know what you suggest. I hope you find this interesting and take a look! [1] https://github.com/sjg20/u-boot/tree/lab6a [2] https://github.com/labgrid-project/labgrid/pull/1411 [3] https://github.com/sjg20/uboot-test-hooks/tree/labgrid [4] https://tbot.tools/index.html Link: https://lore.kernel.org/r/20241112141326.643128-1-sjg@chromium.org [trini: Move the sjg-lab job to prior to world build, to fix pipeline status] Signed-off-by: Tom Rini <trini@konsulko.com>
2024-11-13Merge patch series "test: Tidy up the test/ directory"Tom Rini
Simon Glass <sjg@chromium.org> says: Some tests do not use the unit-test framework. Others are in a suite of their own, for no obvious reason. This series tidies this up. Link: https://lore.kernel.org/r/20241102193715.432529-1-sjg@chromium.org
2024-11-13sandbox: Add a build without CMDLINESimon Glass
Sometimes this breaks, so add a build to keep it working. Since sandbox enables a lot of options, it is a good board to use. The new config is created simply by copying the existing sandbox and turning off CMDLINE Once we have tests for non-CMDLINE operation, this can be adjusted to run those tests. Create a new build which will be picked up by CI. Update the maintainer entry as well. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2024-11-13CI: Allow running tests on sjg labSimon Glass
Add a way to run tests on a real hardware lab. This is in the very early experimental stages. There are only 23 boards and 3 of those are broken! (bob, ff3399, samus). A fourth fails due to problems with the TPM tests. To try this, assuming you have gitlab access, set SJG_LAB=1, e.g.: git push -o ci.variable="SJG_LAB=1" dm HEAD:try This relies on the two previous series targeted at -next as well as the bugfix series for -master Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2024-11-13test: Correct regex string in test_spiSimon Glass
Use an 'r' string to avoid a warning: test/py/tests/test_spi.py:698: DeprecationWarning: invalid escape sequence '\s' Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Love Kumar <love.kumar@amd.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-11-13test: Support testing with two board-buildsSimon Glass
The Beagleplay board uses an SoC from the TI K3 family. This has both a Cortex-R core and a Cortex-A core and the R core needs to come up before the A core. In both cases we have U-Boot SPL then U-Boot proper being used. In practice this means we need two entirely separate builds to produce an image. Handle this in test.py by adding more parameters. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-11-13test: Add a section for closing the connectionSimon Glass
This can take a while and involve multiple steps (e.g. turning the board back off). Add a section for it and show the output. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2024-11-13test: Try to shut down the lab console gracefullySimon Glass
Send the Labgrid quit characters to ask it to exit gracefully. This typically allows it to power off the board being used. Only do this when labgrid is being used (detected with an env var). If that doesn't work, try the less graceful approach. The normal approach for pytest is to simply kill the child process. This makes Labgrid exit immediately. Thus it does not get a chance to execute the 'off' part of strategy (which may power it off) and release the device. Without this, every board disconnect leaves the board in a bad state, requiring separate steps to recover the board, then power it off. The action is conditional on since USE_LABGRID_SJG being set, so only affects operation if the Labgrid-sjg integration is being used. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-11-13test: Avoid double echo when starting upSimon Glass
There is a very annoying bug at present where the terminal echos part of the first command sent to the board. This happens because the terminal is still set to echo for a period until Labgrid starts up and can change this. Fix this by disabling echo (and other terminal features) as soon as the spawn happens. Signed-off-by: Simon Glass <sjg@chromium.org>