- Apr 18, 2024
-
-
Currently, fastboot protocol in U-Boot has no opportunity to execute vendor custom code with verifed boot. This patch introduce new fastboot subcommand fastboot oem board:<cmd>, which allow to run custom oem_board function. Default implementation is __weak. Vendor must redefine it in board/ folder with his own logic. For example, some vendors have their custom nand/emmc partition flashing or erasing. Here some typical command for such use cases: - flashing: $ fastboot stage bootloader.img $ fastboot oem board:write_bootloader - erasing: $ fastboot oem board:erase_env Signed-off-by:
Alexey Romanov <avromanov@salutedevices.com> Reviewed-by:
Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by:
Quentin Schulz <quentin.schulz@theobroma-systems.com> Link: https://lore.kernel.org/r/20240418100129.1691822-2-avromanov@salutedevices.com Signed-off-by:
Mattijs Korpershoek <mkorpershoek@baylibre.com>
-
- Apr 17, 2024
-
-
If open() fails it returns -1. Calling close() with this value makes no sense. Return -EIO instead. Addresses-Coverity-ID: 185828 Improper use of negative value Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Fixes: 566bf3a8 ("sandbox: Add a function to read a host file") Reviewed-by:
Sean Anderson <seanga2@gmail.com>
-
When we find a certificate on an image to be booted on a GP device we print out a message explaining that the certificate is being skipped. This message is rather long and is printed for every image. Shorten the message and make the long version into a debug message. Signed-off-by:
Andrew Davis <afd@ti.com> Tested-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
EMMC boot can fail due to the size of R5 SPL image growing beyond the 500KB of memory allocated in eMMC. Update offsets for eMMMC raw boot to load each binary from the correct address in eMMC according to the following eMMC layout: boot0/1 partition 0x0+----------------------------------+ | tiboot3.bin (1 MB) | 0x800+----------------------------------+ | tispl.bin (2 MB) | 0x1800+-----------------------------------+ | u-boot.img (4 MB) | 0x3800+-----------------------------------+ | environment (128 KB) | 0x3900+-----------------------------------+ Signed-off-by:
Judith Mendez <jm@ti.com>
-
Modify defconfig to use generic timer and npcm reset driver Signed-off-by:
Jim Liu <JJLIU0@nuvoton.com>
-
The FAT specification requires that the change date is set. If a DM RTC device exists, set the creation and change date to the current date when updating the directory entry. Otherwise use the date 2020-01-01. Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
The month is stored in 5 - 8. We need to shift it by 5 bits. Cf. Microsoft FAT Specification, 2005-08-30 Fixes: 13c11c66 ("fs: fat: add file attributes to struct fs_dirent") Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by:
Alexander Dahl <ada@thorsis.com> Reviewed-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
This is a trivial but significant optimization: mkimage took >200ms (and 49489 writes (of which 49456 512)), now it takes 110ms (and 419 writes (of which 386 64k)). sendfile is much more appropriate for this and is done in one syscall, but doesn't bring any significant speedups over 64k r/w at the 13M size ranges, so there's no need to introduce #if __linux__ while((size = sendfile(fd_dst, fd_src, NULL, 128 * 1024 * 1024)) > 0) ; if(size != -1) { ret = 0; goto out; } #endif Also extract the buffer size to a macro. Signed-off-by:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Reviewed-by:
Dragan Simic <dsimic@manjaro.org>
-
Fix typos in test_eficonfig.py: %s/curren/current/ Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by:
Igor Opaniuk <igor.opaniuk@gmail.com>
-
When CONFIG_OF_UPSTREAM is enabled, DTS files are in SOC subdirectories (vs the top level dts directory), but when CONFIG_EFI_CAPSULE_AUTHENTICATE is enabled, the dynamically created dtsi file containing the capsule ESL DT node is in the parent directory. This results in a build failure because the #include inserted in the DTS file is local to the current directory. Update Makefile to have the DT preprocessing of #includes search in the parent (dts top level) directory too. Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
Tom Rini authored
Jonathan Humphreys <j-humphreys@ti.com> says: Set basic settings needed for System Ready IR ACS testing, for several TI SoC based platforms: AM64, AM62, AM62p, BeaglePlay, J7, and BeagleboneAI. For AM64, AM62, and AM62p, also includes some config cleanup. Should be no functional change.
-
Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
This is required to pass SystemReadyIR tests. Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
This is required to pass SystemReadyIR tests. Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
This is required to pass SystemReadyIR tests. Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
This is required to pass SystemReadyIR tests. Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
This is required to pass SystemReadyIR tests. Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
This is required to pass SystemReadyIR tests. Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
Signed-off-by:
Jonathan Humphreys <j-humphreys@ti.com>
-
Tom Rini authored
mwleeds@mailtundra.com <mwleeds@mailtundra.com> says: This patch series is needed to get U-Boot to boot from a ZFS filesystem on an aarch64 computer. Some of the patches are not architecture specific and would be needed to boot ZFS on other platforms as well. The ZFS support in U-Boot hasn't been substantively touched in several years and to me it seems like it must have been broken for a long time on all platforms, but I have only tested on aarch64. Since there doesn't seem to be a mantainer for this area who I can cc, I'm hoping these patches get seen and pulled in by a general U-Boot maintainer. [trini: Per Igor's comment and Phaedrus agreement, dropped his Tested-by on the patches themselves]
-
Without this patch, the while loop being modified goes on infinitely, but with the patch I am able to boot linux on zfs on a jetson tx2 nx. It seems like this code was never tested because the logic is clearly wrong. The function do_div(a,b) does a division that modifies the first parameter to have a = a / b, and returns the remainder of the division. So clearly in the usual case when file->offset = 0, the line "blkid = do_div(blkid, blksz);" just results in blkid being set to zero on every iteration of the loop, rather than being incremented as blocks are read. Hence the zeroth block is read over and over and this becomes an infinite loop. So instead capture the remainder of the division in a "blkoff" variable, and use that to properly calculate the memory address to move from in memmove() below. For example, if file->offset were 1337, on the first iteration of the loop blkid would be 0 and blkoff would be 1337. If the blksz is 131072 (as it was for me), that amount of data would be copied into data->file_buf. movesize would be 131072 - 1337 = 129735 so 129735 bytes would be moved into buf. On the second iteration of the loop (assuming there is one), red would be 129735, blkid would be 1, blkoff would be 0, and 131072 bytes would be copied into buf. And so on... Signed-off-by:
Phaedrus Leeds <mwleeds@mailtundra.com>
-
As evidenced by how other filesystems handle it, a return value of 0 from fs_devread() means failure; nonzero means success. The opposite assumption was being made in zfs.c for the use of zfs_devread() so fix the confusion by making zfs_devread() return 0 on success. It probably doesn't make sense to change the handling of zfs_devread() in zfs.c instead, because as it is it matches the semantics of the other functions there. Signed-off-by:
Phaedrus Leeds <mwleeds@mailtundra.com>
-
Without this patch, when trying to boot zfs using U-Boot on a Jetson TX2 NX (which is aarch64), I get a CPU reset error like so: "Synchronous Abort" handler, esr 0x96000021 elr: 00000000800c9000 lr : 00000000800c8ffc (reloc) elr: 00000000fff77000 lr : 00000000fff76ffc x0 : 00000000ffb40f04 x1 : 0000000000000000 x2 : 000000000000000a x3 : 0000000003100000 x4 : 0000000003100000 x5 : 0000000000000034 x6 : 00000000fff9cc6e x7 : 000000000000000f x8 : 00000000ff7f84a0 x9 : 0000000000000008 x10: 00000000ffb40f04 x11: 0000000000000006 x12: 000000000001869f x13: 0000000000000001 x14: 00000000ff7f84bc x15: 0000000000000010 x16: 0000000000002080 x17: 00000000001fffff x18: 00000000ff7fbdd8 x19: 00000000ffb405f8 x20: 00000000ffb40dd0 x21: 00000000fffabe5e x22: 000000ea77940000 x23: 00000000ffb42090 x24: 0000000000000000 x25: 0000000000000000 x26: 0000000000000000 x27: 0000000000000000 x28: 0000000000bab10c x29: 00000000ff7f85f0 Code: d00001a0 9103a000 94006ac6 f9401ba0 (f9400000) Resetting CPU ... This happens when be64_to_cpu() is called on a value that exists at a memory address that's 4 byte aligned but not 8 byte aligned (e.g. an address ending in 04). The call stack where that happens is: check_pool_label() -> zfs_nvlist_lookup_uint64(vdevnvlist, ZPOOL_CONFIG_ASHIFT,...) -> be64_to_cpu() Signed-off-by:
Phaedrus Leeds <mwleeds@mailtundra.com> Fixes: 4d3c95f5 ("zfs: Add ZFS filesystem support")
-
Signed-off-by:
Phaedrus Leeds <mwleeds@mailtundra.com>
-
This code was hitting the error code path whenever malloc() succeeded rather than when it failed, so presumably this part of the code hasn't been tested. I had to apply this fix (and others) to get U-Boot to boot from ZFS on an Nvidia Jetson TX2 NX SoM (an aarch64 computer). Signed-off-by:
Phaedrus Leeds <mwleeds@mailtundra.com>
-
- Apr 16, 2024
-
-
If tcp_seq_num is wrap around, tcp_seq_num >= initial_data_seq_num isn't satisfied and store_block() isn't called. The condition has a wrap around issue, so it is fixed in this patch. Signed-off-by:
Yasuharu Shibata <yasuharu.shibata@gmail.com> Reviewed-by:
Michael Trimarchi <michael@amarulasolutions.com> Suggested-by:
Michael Trimarchi <michael@amarulasolutions.com> Reported-by:
Tim Harvey <tharvey@gateworks.com> Tested-by:
Fabio Estevam <festevam@denx.de>
-
The server sends multiple packets without waiting for an ACK by window control and if some packets are dropped, wget will return an ACK including the dropped packets. Following log indicates this issue. wget_handler() wget: Transferring, seq=97bbdd4a, ack=30,len=580 wget_handler() wget: Transferring, seq=97bbedca, ack=30,len=580 First packet of TCP sequence number is 0x97bbdd4a. Second packet of TCP sequence number should be 0x97bbe2ca, however it is 0x97bbedca and returns its ACK, so the server suppose that 0x97bbe2ca and 0x97bbedca are received appropriately. In this case, 0x97bbe2ca was lost and the data of wget was broken. In this patch, next_data_seq_num holds the next expected TCP sequence number. If the TCP sequence number different from next_data_seq_num, trying to retransmit the packet. Signed-off-by:
Yasuharu Shibata <yasuharu.shibata@gmail.com> Tested-by:
Fabio Estevam <festevam@gmail.com>
-
- Apr 15, 2024
-
-
https://gitlab.denx.de/u-boot/custodians/u-boot-imxTom Rini authored
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/20348 - Update the imx_rgpio2p to only access one address as per the dt-schema. - Remove unused imx9_cpu.c file. - Only use the LPUART ipg clk for i.MX7ULP. - Use the correct anatop base for accessing the PLL clocks on i.MX93.
-
https://source.denx.de/u-boot/custodians/u-boot-socfpgaTom Rini authored
- Add option to reprogram FPGA every reboot, enable this as default in chameleonv3 defconfig. - Fixes: Rename CONFIG_SPL_SOCFPGA_SEC_REG to CONFIG_SPL_SOCFPGA_DT_REG, so the driver can be built when CONFIG_SPL_SOCFPGA_DT_REG is set in defconfig.
-
Peng Fan authored
The PLL clk needs use anatop base, otherwise wrong PLL address will be used. Fixes: 9c153e46 ("clk: imx: add i.MX93 CCF driver") Signed-off-by:
Peng Fan <peng.fan@nxp.com>
-
Peng Fan authored
This was wrongly committed, no user, remove it. Signed-off-by:
Peng Fan <peng.fan@nxp.com>
-
Peng Fan authored
To i.MX7ULP compatible lpuart, there is only ipg clk, no per clk. So add a devtype check for i.MX7ULP. Signed-off-by:
Peng Fan <peng.fan@nxp.com>
-