summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-12test: remove unused import from pkg_resourcesHeinrich Schuchardt
load_entry_point is not used. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-04-12fdt: Fix fdt_pack_reg() on 64-bit platformsSam Protsenko
When "memory" node is being processed in fdt_pack_reg() on ARM64 platforms, an unaligned bus access might happen, which leads to "synchronous abort" CPU exception. Consider next dts example: / { #address-cells = <2>; #size-cells = <1>; memory@80000000 { device_type = "memory"; reg = <0x0 0x80000000 0x3ab00000>, <0x0 0xc0000000 0x40000000>, <0x8 0x80000000 0x80000000>; }; }; After fdt_pack_reg() reads the first addr/size entry from such memory node, the "p" pointer becomes 12 bytes shifted from its original value (8 bytes for two address cells + 4 bytes for one size cell). So now it's not 64-bit aligned, and an attempt to do 64-bit bus access to that address will cause an abort like this: "Synchronous Abort" handler, esr 0x96000021, far 0xba235efc This issue was originally reported by David Virag [1] who observed it happening on Samsung Exynos7885 SoC (ARM64), and later the same issue was observed on Samsung Exynos850 (ARM64). Fix the issue by using put_unaligned_be64() helper, which takes care of possible unaligned 64-bit accesses. That solution was proposed by Simon Glass in the original thread [1]. [1] https://lists.denx.de/pipermail/u-boot/2023-July/522074.html Fixes: 739a01ed8e02 ("fdt_support: fix an endian bug of fdt_fixup_memory_banks") Suggested-by: Simon Glass <sjg@google.com> Reported-by: David Virag <virag.david003@gmail.com> Closes: https://lists.denx.de/pipermail/u-boot/2023-July/522074.html Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2024-04-12cli: always show cursorHeinrich Schuchardt
We may enter the command line interface in a state where on the remote console the cursor is not shown. Send an escape sequence to enable it. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-04-12part: Check all partitions in part_get_info_by_name()Sam Protsenko
In part_get_info_by_name() the inability to get some partition info shouldn't be a reason for dropping out of the loop. That might happen e.g. if the partition is hidden or unused. An example of such case are Samsung devices, where they use the "unused" GUID type (00000000-0000-0000-0000-000000000000) to indicate that the partition should be hidden from the OS. Such partitions might not be seen in "part list" output, which creates "gaps" in numbering in between of the visible partitions: Part Start LBA End LBA Name 1 0x00000400 0x0000a3ff "efs" 5 0x00026420 0x00026c1f "dtbo" 12 0x0003f390 0x0074738f "super" In that case, the loop in part_get_info_by_name() would break after partition #1, so any attempt to obtain "dtbo" or "super" partition will fail. Fix that by continuing to iterate over the remaining partitions to make sure none of the visible ones is missed. That makes "part" command (e.g. "part start", "part size") able to work with such tables. Fixes: 87b8530fe244 ("disk: part: implement generic function part_get_info_by_name()") Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2024-04-12image-host: Fix error value paths and emit error messages to stderr.Hugo Cornelis
A recent refactoring in image-host.c messed up the return values of the function that reads the encryptiong keys. This patch fixes this and also makes sure that error output goes to stderr instead of to stdout. Signed-off-by: Hugo Cornelis <hugo.cornelis@essensium.com>
2024-04-12sandbox: improve description of CONFIG_SANDBOX_CRASH_RESETHeinrich Schuchardt
Mentions that command line option --signal is needed to make use of this configuration option. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-04-12sandbox: move sandbox specifics to booti_setup()Heinrich Schuchardt
Instead of checking a configuration setting in booti_start() adjust the sandbox implementation of booti_setup(). Write a console message when trying to run the booti command on the sandbox indicating that it is not supported. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-04-12sandbox: missing return value checks in eth-raw-osHeinrich Schuchardt
We should check the return value of fcntl(). Addresses-Coverity-ID: 131108 ("Unchecked return value from library") Addresses-Coverity-ID: 131109 ("Unchecked return value from library") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-04-12usb: kbd: Add probe quirk for Apple and Keychron keyboardsJanne Grunau
Those keyboards do not return the current device state. Polling will timeout unless there are key presses. This is not a problem during operation but the initial device state query during probing will fail. Skip this step in usb_kbd_probe_dev() to make these devices useable. Not all Apple keyboards behave like this. A keyboard with USB vendor/product ID 05ac:0221 is reported to work with the current code. Unfortunately some Keychron keyboards "re-use" Apple's vendor ID and show the same behavior (Keychron C2, 05ac:024f for example). Reviewed-by: Marek Vasut <marex@denx.de> Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Janne Grunau <j@jannau.net>
2024-04-12usb: kbd: support Apple Magic Keyboards (2021)Janne Grunau
Apple USB keyboards (Magic Keyboard from 2021 (product id 0x029c)) carry the HID keyboard boot protocol on the second interface descriptor. Probe via vendor and product IDs since the class/subclass/protocol match uses the first interface descriptor. Probe the two first interface descriptors for the HID keyboard boot protocol. USB configuration descriptor for reference: | Bus 003 Device 002: ID 05ac:029c Apple, Inc. Magic Keyboard | Device Descriptor: | bLength 18 | bDescriptorType 1 | bcdUSB 2.00 | bDeviceClass 0 [unknown] | bDeviceSubClass 0 [unknown] | bDeviceProtocol 0 | bMaxPacketSize0 64 | idVendor 0x05ac Apple, Inc. | idProduct 0x029c Magic Keyboard | bcdDevice 3.90 | iManufacturer 1 Apple Inc. | iProduct 2 Magic Keyboard | iSerial 3 ... | bNumConfigurations 1 | Configuration Descriptor: | bLength 9 | bDescriptorType 2 | wTotalLength 0x003b | bNumInterfaces 2 | bConfigurationValue 1 | iConfiguration 4 Keyboard | bmAttributes 0xa0 | (Bus Powered) | Remote Wakeup | MaxPower 500mA | Interface Descriptor: | bLength 9 | bDescriptorType 4 | bInterfaceNumber 0 | bAlternateSetting 0 | bNumEndpoints 1 | bInterfaceClass 3 Human Interface Device | bInterfaceSubClass 0 [unknown] | bInterfaceProtocol 0 | iInterface 5 Device Management | HID Device Descriptor: | bLength 9 | bDescriptorType 33 | bcdHID 1.10 | bCountryCode 0 Not supported | bNumDescriptors 1 | bDescriptorType 34 Report | wDescriptorLength 83 | Report Descriptors: | ** UNAVAILABLE ** | Endpoint Descriptor: | bLength 7 | bDescriptorType 5 | bEndpointAddress 0x81 EP 1 IN | bmAttributes 3 | Transfer Type Interrupt | Synch Type None | Usage Type Data | wMaxPacketSize 0x0010 1x 16 bytes | bInterval 8 | Interface Descriptor: | bLength 9 | bDescriptorType 4 | bInterfaceNumber 1 | bAlternateSetting 0 | bNumEndpoints 1 | bInterfaceClass 3 Human Interface Device | bInterfaceSubClass 1 Boot Interface Subclass | bInterfaceProtocol 1 Keyboard | iInterface 6 Keyboard / Boot | HID Device Descriptor: | bLength 9 | bDescriptorType 33 | bcdHID 1.10 | bCountryCode 13 International (ISO) | bNumDescriptors 1 | bDescriptorType 34 Report | wDescriptorLength 207 | Report Descriptors: | ** UNAVAILABLE ** | Endpoint Descriptor: | bLength 7 | bDescriptorType 5 | bEndpointAddress 0x82 EP 2 IN | bmAttributes 3 | Transfer Type Interrupt | Synch Type None | Usage Type Data | wMaxPacketSize 0x0010 1x 16 bytes | bInterval 8 Reviewed-by: Marek Vasut <marex@denx.de> Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Janne Grunau <j@jannau.net>
2024-04-12usb: Add environment based device ignorelistJanne Grunau
Add the environment variable "usb_ignorelist" to prevent USB devices listed in it from being bound to drivers. This allows to ignore devices which are undesirable or trigger bugs in u-boot's USB stack. Devices emulating keyboards are one example of undesirable devices as u-boot currently supports only a single USB keyboard device. Most commonly, people run into this with Yubikeys, so let's ignore those in the default environment. Based on previous USB keyboard specific patches for the same purpose. Link: https://lore.kernel.org/u-boot/7ab604fb-0fec-4f5e-8708-7a3a7e2cb568@denx.de/ Reviewed-by: Neal Gompa <neal@gompa.dev> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Janne Grunau <j@jannau.net>
2024-04-11board: phycore-am62x: Extend for better environment handlingWadim Egorov
Select environment location based on the device we boot from. Also, introduce a "boot" variable that represents the current boot device and can be used by scripts. Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-04-11arm: mach-k3: am625: Provide a way to obtain boot device for non SPLsWadim Egorov
Introduce get_boot_device() to obtain the booting device. Make it also available for non SPL builds so u-boot can also know the device it is booting from. Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-04-11arm: mach-k3: am625: copy bootindex to OCRAM for main domain SPLWadim Egorov
Relocate booindex to OCRAM region after it gets opened by TIFS so the main domain bootloaders can have access to this data. Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
2024-04-11arm: dts: k3: binman: am625: add support for signing TIFSSTUB ImagesKamlesh Gurudasani
Add support for signing of TIFSSTUB images for HSSE, HSFS and GP devices and include them in tispl.bin and tispl.bin_unsigned. Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com> Signed-off-by: Dhruva Gole <d-gole@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2024-04-11arm: mach-k3: add support for detecting TIFSSTUB imagesKamlesh Gurudasani
Add support for detecting and processing TIFSSTUB images for HS, HSFS and GP devices. TIFSSTUB image for related device type will be loaded, rest TIFSSTUB images will be discarded. Example, for GP device, tifsstub-gp will be loaded, tifsstub-hs and tifsstub-fs will be discarded. Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com> Signed-off-by: Dhruva Gole <d-gole@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2024-04-11verdin-am62: move verdin am62 to OF_UPSTREAMMarcel Ziswiler
Move verdin-am62 to OF_UPSTREAM: - handle the fact that dtbs now have a 'ti/' prefix - imply OF_UPSTREAM - remove redundant files from arch/arm/dts leaving only the *-u-boot.dtsi files - update MAINTAINERS file Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Dhruva Gole <d-gole@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
2024-04-11arm: dts: k3: Remove unneeded ti, sci-sysreset binding and nodesAndrew Davis
This extra binding is non-standard and now unneeded as we bind the sysreset driver automatically. This matches what is done in Linux and allows us to more closely match the DTBs. Remove the binding and all users. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Tested-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-11firmware: ti_sci: Bind sysreset driver when enabledAndrew Davis
The sysreset TI-SCI API is available with TI-SCI always, there is no need for a DT node to describe the availability of this. If the sysreset driver is available then bind it during ti-sci probe. Remove the unneeded device tree matching. Signed-off-by: Andrew Davis <afd@ti.com> Tested-by: Jonathan Humphreys <j-humphreys@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2024-04-11net: ti: am65-cpsw: Fix buffer overflowMichael Walle
The device name is a concatenation of the device node name of the cpsw device and of the device node name of the port. In my case that is ethernet@8000000 port@1 First the buffer is really too small, but more importantly, there is no boundary check. Use snprintf() and increase the buffer size. Fixes: 38922b1f4acc ("net: ti: am65-cpsw: Add support for multi port independent MAC mode") Signed-off-by: Michael Walle <mwalle@kernel.org>
2024-04-11arm: mach-k3: common: EFI loader map memory below ram topVitor Soares
During the boot, the EFI loader maps the memory from ram_top to ram_end as EFI_BOOT_SERVICES_DATA. When LMB does boot_fdt_add_mem_rsv_regions() to OPTEE, TFA, R5, and M4F DMA/memory "no-map" for the kernel it produces the following error message: ERROR: reserving fdt memory region failed (addr=9cb00000 size=100000 flags=4) ERROR: reserving fdt memory region failed (addr=9cc00000 size=e00000 flags=4) ERROR: reserving fdt memory region failed (addr=9da00000 size=100000 flags=4) ERROR: reserving fdt memory region failed (addr=9db00000 size=c00000 flags=4) ERROR: reserving fdt memory region failed (addr=9e780000 size=80000 flags=4) ERROR: reserving fdt memory region failed (addr=9e800000 size=1800000 flags=4) To avoid this, don't flag with EFI_BOOT_SERVICES_DATA the memory from ram_top to ram_end by the EFI loader. Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
2024-04-11am625x_evm_a53: Tweak boot command to set fdtMartyn Welch
With the current config for tha SK-AM62, fdtfile isn't set in the U-Boot environment. When using bootflow to boot from a block device, where the extlinux.conf file specifies `fdtdir`, a fallback device tree is being constructed from the `soc` (`k3`) and `board` (`am62x`) environment variables, resulting in u-Boot trying to retrieve `/dtbs/6.8.1+/k3-am62x.dtb`. This file doesn't exist. The environment variables `default_device_tree` and `default_device_tree_arch` are set in the config, the `findfdt` script can be called to construct `fdtfile` from the environment variables set by these config options, however this script currently isn't being run. Calling this script results in the correct device tree being retrieved: Retrieving file: /dtbs/6.8.1+/ti/k3-am625-sk.dtb Many boards are calling this script as part of their boot command. The am62x currently isn't. Rectify this so that booting works correctly. Signed-off-by: Martyn Welch <martyn.welch@collabora.com> Reviewed-by: Christopher Obbard <chris.obbard@collabora.com>
2024-04-11tools: binman: ti_board_cfg: improve error messageMichael Walle
When there is a lint error the user gets the following cryptic message: binman: Node '/path/to/some/node': Yamllint error: 18: comments This isn't very helpful. Improve the message to tell the user that the number is actually a line number and also tell the user in which file they have to look. Signed-off-by: Michael Walle <mwalle@kernel.org> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2024-04-11binman: ti-secure: Enable debug extension for combined bootManorit Chawdhry
To debug using jtag, ROM needs to unlock jtag debugging on HS devices and it does that looking at this debug extension. Add the debug extension and enable it by default. Link: https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/security/sec_cert_format.html?highlight=debug#sysfw-debug-ext Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2024-04-11arm: mach-k3: am625: Fixup a53 cpu frequency by speed gradeJoao Paulo Goncalves
The maximum frequency of the A53 CPU on the AM62 depends on the speed grade of the SoC. However, this value is hardcoded in the DT for all AM62 variants, potentially causing specifications to be exceeded. Moreover, setting a common lower frequency for all variants increases boot time. To prevent these issues, modify the DT at runtime from the R5 core to adjust the A53 CPU frequency based on its speed grade. Suggested-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
2024-04-11arm: mach-k3: am62: Get a53 max cpu frequency by speed gradeJoao Paulo Goncalves
AM62 SoC has multiple speed grades. Add function to return max A53 CPU frequency based on grade. Fastest grade's max frequency also depends on PMIC voltage, to simplify implementation use the smaller value. Suggested-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
2024-04-11configs: am6*_evm_a53_defconfig: Enable config to support mmc rescanJudith Mendez
Enable MMC_SPEED_MODE_SET config option in defconfig to enable mmc rescan for various Sitara devices. Signed-off-by: Judith Mendez <jm@ti.com>
2024-04-11Merge patch series "boot: fdt: Change type of env_get_bootm_low() to ↵Tom Rini
phys_addr_t"
2024-04-11boot: fdt: Move usable variable below updated commentMarek Vasut
Move the variable below comment which explains what the variable means. Update the comment. No functional change. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-04-11boot: fdt: Drop lmb_alloc*() typecastsMarek Vasut
The lmb_alloc_base() returns phys_addr_t , map_sysmem() accepts phys_addr_t as first parameter. Declare 'addr' as phys_addr_t and get rid of the casts. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-04-11boot: fdt: Clean up env_get_bootm_mapsize()Marek Vasut
Reduce tmp variable use and remove unnecessary type cast in env_get_bootm_mapsize(). This aligns the env variable parsing with env_get_bootm_low(). No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-04-11boot: fdt: Fix tmp type in env_get_bootm_size() and rename to lowMarek Vasut
Change type of 'tmp' variable from phys_size_t to phys_addr_t and rename it to 'low' to better describe what the variable represents, which is either the bootm_low address from environment or start of DRAM address. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-04-11boot: fdt: Clean up env_get_bootm_size()Marek Vasut
Reduce tmp variable use and remove unnecessary type cast in env_get_bootm_size(). This aligns the env variable parsing with env_get_bootm_low(). No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-04-11boot: fdt: Change type of env_get_bootm_low() to phys_addr_tMarek Vasut
Change type of ulong env_get_bootm_low() to phys_addr_t env_get_bootm_low(). The PPC/LS systems already treat env_get_bootm_low() result as phys_addr_t, while the function itself still returns ulong. This is potentially dangerous on 64bit systems, where ulong might not be large enough to hold the content of "bootm_low" environment variable. Fix it by using phys_addr_t, similar to what env_get_bootm_size() does, which returns phys_size_t . Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-04-10Merge patch series "Resolve issues with booting distros on x86"Tom Rini
Simon Glass <sjg@chromium.org> says: This little series reprises the EFI-video fix, fixes a USB problem and enables a boot script for coreboot. It also moves to truetype fonts for coreboot and qemu-x86, since the menus look much better and there are no strong size constraints. With these changes it is possible to boot a Linux distro automatically with U-Boot on x86, including when U-Boot is the second-stage bootloader.
2024-04-10x86: qemu: Enable truetype fontsSimon Glass
Enable this feature to provide a larger font choice and more attractive menus. Expand the ROM for x86_64 to 2MB to make space for the font. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-04-10x86: qemu: Expand ROM sizeSimon Glass
Expand the ROM for x86_64 to 2MB to make space for the font, as it is already on the edge. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-04-10x86: coreboot: Enable truetype fontsSimon Glass
Truetype fonts look better in the menu, so enable them. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-04-10x86: Enable SSE in 64-bit modeSimon Glass
This is needed to support Truetype fonts. In any case, the compiler expects SSE to be available in 64-bit mode. Provide an option to enable SSE so that hardware floating-point arithmetic works. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Suggested-by: Bin Meng <bmeng.cn@gmail.com>
2024-04-10video: Drop unnecessary truetype operations from SPLSimon Glass
Saving and restoring entries is used for expo and for the command line, which we don't use in SPL. Drop these methods. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Anatolij Gustschin <agust@denx.de>
2024-04-10video: Correct setting of cursor positionSimon Glass
The ANSI codes are not correctly handled at present, in that the requested X position is added to the current one. Correct this and also call vidconsole_entry_start() to start a new text line. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Anatolij Gustschin <agust@denx.de>
2024-04-10x86: coreboot: Add a boot scriptSimon Glass
Provide the user with a list of available boot options. Selecting one causes it to be booted. Pressing <ESC> causes U-Boot to return to the command-line prompt. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2024-04-10fastboot: Update help text with respect to CMDLINETom Rini
This hunk of the patch was missed when using "b4" to apply the series. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-04-10Merge patch series "pxe: Allow extlinux booting without CMDLINE enabled"Tom Rini
Simon Glass <sjg@chromium.org> says: This series is the culmanation of the current line of refactoring series. It adjusts pxe to call the booting functionality directly rather than going through the command-line interface. With this is is possible to boot using the extlinux bootmeth without the command line enabled. It also updates fastboot to do a similar thing.
2024-04-10x86: Drop message about features being missing with 64-bitSimon Glass
At this point most things work, including booting a distro, so drop this message. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-04-10pxe: Allow booting without CMDLINE for the zboot methodSimon Glass
Use zboot_run() to boot rather than the command line. This allows extlinux to be used (on x86) without CMDLINE being enabled. Collect any error but do not return it, to match the existing code. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-04-10pxe: Allow booting without CMDLINE for bootm methodsSimon Glass
Use bootm_run() and booti_run() to boot rather than the command line. This allows extlinux to be used without CMDLINE being enabled. Collect any error but do not return it, to match the existing code. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-04-10pxe: Move calculation of FDT file into a functionSimon Glass
This code undertakes a separate task from the main logic of label_run_boot() so move it into its own function. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-04-10pxe: Refactor to avoid over-using bootm_argvSimon Glass
The bootm_argv[3] expression is used in many places. It is the FDT address, so use that name throughout. Assign it to bootm_argv[3] only at the end, when all the conditions are resolved. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-04-10pxe: Refactor to reduce the size of label_boot()Simon Glass
This function is far too long and complicated. Split out the part which actually calls the boot commands into a separate function. Change a strncpy() to strlcpy() to keep checkpatch happy. No functional change is intended. Signed-off-by: Simon Glass <sjg@chromium.org>