]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
3 years agoMerge branch 'efi-2022-01' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 20 Nov 2021 14:36:37 +0000 (09:36 -0500)]
Merge branch 'efi-2022-01' of https://source.denx.de/u-boot/custodians/u-boot-efi

Scripts:
* Update spelling.txt

LMB:
* remove extern keyword in lmb.h
* drop unused lmb_size_bytes()

Test:
* test truncation in snprintf()

Documentation:
* add include/lmb.h to HTML documentation

UEFI:
* reduce non-debug logging output for measured boot
* fix use after free in measured boot
* startup the tpm device when installing the protocol
* implement EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES
* record capsule result only if capsule is read

3 years agoefi_loader: startup the tpm device when installing the protocol
Ilias Apalodimas [Thu, 18 Nov 2021 08:13:42 +0000 (10:13 +0200)]
efi_loader: startup the tpm device when installing the protocol

Due to U-Boot's lazy binding mentality the TPM is probed but not properly
initialized.  The user can startup the device from the command line
e.g 'tpm2 startup TPM2_SU_CLEAR'.  However we can initialize the TPM during
the TCG protocol installation,  which is easier to use overall.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoefi_loader: fix FinalEvents table if an EFI app invoked GetEventLog
Ilias Apalodimas [Thu, 18 Nov 2021 07:03:39 +0000 (09:03 +0200)]
efi_loader: fix FinalEvents table if an EFI app invoked GetEventLog

As described in the TCG spec [1] in sections 7.1.1 and 7.1.2 the FinalEvent
table should include events after GetEventLog has been called.  This
currently works for us as long as the kernel is the only EFI application
calling that.  Specifically we only implement what's described in 7.1.1.

So refactor the code a bit and support EFI application(s) calling
GetEventLog.  Events will now be logged in both the EventLog and FinalEvent
table as long as ExitBootServices haven't been invoked.

[1] https://trustedcomputinggroup.org/wp-content/uploads/EFI-Protocol-Specification-rev13-160330final.pdf

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agoefi_loader: bump EFI_SPECIFICATION_VERSION to 2.9
Heinrich Schuchardt [Wed, 17 Nov 2021 17:55:59 +0000 (18:55 +0100)]
efi_loader: bump EFI_SPECIFICATION_VERSION to 2.9

We have implemented all what is new in UEFI specification 2.9 and relevant
for U-Boot.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoefi_selftest: unit test for EFI_GROUP_BEFORE_EXIT_BOOT_SERVICE
Heinrich Schuchardt [Wed, 17 Nov 2021 17:52:35 +0000 (18:52 +0100)]
efi_selftest: unit test for EFI_GROUP_BEFORE_EXIT_BOOT_SERVICE

Add a test for the EFI_GROUP_BEFORE_EXIT_BOOT_SERVICE event group.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoefi_loader: EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES
Heinrich Schuchardt [Tue, 16 Nov 2021 17:46:27 +0000 (18:46 +0100)]
efi_loader: EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES

Implement the EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES event group
handling.

Add the definition of EFI_EVENT_GROUP_AFTER_READY_TO_BOOT.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoefi_loader: capsule: Record capsule result only if capsule is read
Masami Hiramatsu [Fri, 12 Nov 2021 13:05:15 +0000 (22:05 +0900)]
efi_loader: capsule: Record capsule result only if capsule is read

Record capsule update result only if the capsule file is
successfully read, because the capsule GUID is not sure when
the file can not be read or the file is not a capsule.
Without this fix, if user puts a dummy (non-capsule) file
under (ESP)EFI/UpdateCapsule, U-Boot causes a synchronous
abort.

This also fixes use-after-free bug of the 'capsule' variable.

Fixes: c74cd8bd08d1 ("efi_loader: capsule: add capsule_on_disk support")
Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agoefi_loader: Reduce efi_tcg2 logging statement
Masahisa Kojima [Tue, 9 Nov 2021 11:35:53 +0000 (20:35 +0900)]
efi_loader: Reduce efi_tcg2 logging statement

log_info() is used for the debug level logging statement
which should use log_debug() instead. Convert it to reduce the
log output.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi_loader: Sphinx comments in efi_api.h
Heinrich Schuchardt [Sat, 20 Nov 2021 08:28:54 +0000 (09:28 +0100)]
efi_loader: Sphinx comments in efi_api.h

Fix incorrect Sphinx comments in efi_api.h:

* add missing 'struct'
* correct indentation

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi: add comment for efi_system_table and efi_configuration_table
Masahisa Kojima [Fri, 12 Nov 2021 07:24:27 +0000 (16:24 +0900)]
efi: add comment for efi_system_table and efi_configuration_table

This commit adds the comment for efi_system_table and
efi_configuration_table structure.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agodoc: fix typos in trace.rst
Heinrich Schuchardt [Tue, 16 Nov 2021 17:38:47 +0000 (18:38 +0100)]
doc: fix typos in trace.rst

Fix obvious typos. Use US spelling consistently.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoscripts: update spelling.txt from upstream Linux
Heinrich Schuchardt [Tue, 16 Nov 2021 17:56:43 +0000 (18:56 +0100)]
scripts: update spelling.txt from upstream Linux

This list is used by checkpatch.pl. The Linux v5.15 version has several
words that where mispelled in U-Boot too.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agotest: test truncation in snprintf()
Heinrich Schuchardt [Mon, 15 Nov 2021 18:06:55 +0000 (19:06 +0100)]
test: test truncation in snprintf()

Test that the return value of snprintf() is correct in the case of
truncation.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agolmb: fix typo 'commun'
Heinrich Schuchardt [Sun, 14 Nov 2021 08:38:53 +0000 (09:38 +0100)]
lmb: fix typo 'commun'

%s/commun/common/

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agolmb: drop unused lmb_size_bytes()
Heinrich Schuchardt [Sun, 14 Nov 2021 08:03:27 +0000 (09:03 +0100)]
lmb: drop unused lmb_size_bytes()

lmb_size_bytes() is unused.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agolmb: remove extern keyword in lmb.h
Heinrich Schuchardt [Sun, 14 Nov 2021 07:52:48 +0000 (08:52 +0100)]
lmb: remove extern keyword in lmb.h

The extern keyword is not needed in include/lmb.h to declare functions.
Remove it.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agodoc: add include/lmb.h to the HTML documentation
Heinrich Schuchardt [Sun, 14 Nov 2021 07:43:07 +0000 (08:43 +0100)]
doc: add include/lmb.h to the HTML documentation

Correct Sphinx style comments in include/lmb.h

Add the logical memory block API to the HTML documentation.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agolmb: remove lmb_is_nomap() from include
Heinrich Schuchardt [Sun, 14 Nov 2021 07:41:07 +0000 (08:41 +0100)]
lmb: remove lmb_is_nomap() from include

Defining static functions in includes should be avoided.
Function lmb_is_nomap() is only used in the unit test.
So move it to the unit test.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agoMerge tag 'u-boot-amlogic-20211119' of https://source.denx.de/u-boot/custodians/u...
Tom Rini [Fri, 19 Nov 2021 21:33:33 +0000 (16:33 -0500)]
Merge tag 'u-boot-amlogic-20211119' of https://source.denx.de/u-boot/custodians/u-boot-amlogic

- pinctrl: Correct the driver GPIO declaration
- meson64_android: handle errors on boot and run fastboot on boot failure

3 years agoMerge tag 'tpm-19112021' of https://source.denx.de/u-boot/custodians/u-boot-tpm
Tom Rini [Fri, 19 Nov 2021 21:33:23 +0000 (16:33 -0500)]
Merge tag 'tpm-19112021' of https://source.denx.de/u-boot/custodians/u-boot-tpm

TPM1.2 and Atmel fixes

# gpg verification failed.

3 years agoconfigs: meson64_android: add PANIC stage for SYSTEM fails
Neil Armstrong [Wed, 17 Nov 2021 11:04:11 +0000 (12:04 +0100)]
configs: meson64_android: add PANIC stage for SYSTEM fails

If bootloader was updated without running oem format, reboot will cause
boot loop because the SYSTEM stage fails.

Add a final PANIC stage running fastboot to permit recovery.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
3 years agoconfigs: meson64_android: bypass other checks on run_fastboot=1
Neil Armstrong [Wed, 17 Nov 2021 11:04:10 +0000 (12:04 +0100)]
configs: meson64_android: bypass other checks on run_fastboot=1

This can lead to GPT and BCB errors even if fastboot was selected early
by usb rom boot and the eMMC is blank/invalid.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
3 years agopinctrl: meson: Correct the driver GPIO declaration
Simon Glass [Sat, 13 Nov 2021 14:07:15 +0000 (07:07 -0700)]
pinctrl: meson: Correct the driver GPIO declaration

This should use the provided U_BOOT_DRIVER() macro so that the driver gets
added to the appropriate linker list. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 7c9dcfed50f ("pinctrl: meson: rework gx pmx function")
Reported-by: Tom Rini <trini@konsulko.com>
Tested-by: Tom Rini <trini@konsulko.com> on libretech-cc
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
3 years agoMerge branch '2021-11-18-regression-fixes'
Tom Rini [Thu, 18 Nov 2021 23:25:19 +0000 (18:25 -0500)]
Merge branch '2021-11-18-regression-fixes'

- An assortment of fixes related to GD, GD_FLG_SKIP_RELOC, and the lmb
- Environment fix on synquacer developmentbox
- Fix for get_info is not valid in partition code

3 years agoarm64: Add missing GD_FLG_SKIP_RELOC handling
Marek Vasut [Sat, 13 Nov 2021 17:34:59 +0000 (18:34 +0100)]
arm64: Add missing GD_FLG_SKIP_RELOC handling

In case U-Boot enters relocation with GD_FLG_SKIP_RELOC, skip the
relocation. The code still has to set up new_gd pointer and new
stack pointer.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
3 years agolmb: Reserve U-Boot separately if relocation is disabled
Marek Vasut [Sat, 13 Nov 2021 17:34:37 +0000 (18:34 +0100)]
lmb: Reserve U-Boot separately if relocation is disabled

In case U-Boot starts with GD_FLG_SKIP_RELOC, the U-Boot code is
not relocated, however the stack and heap is at the end of DRAM
after relocation. Reserve a LMB area for the non-relocated U-Boot
code so it won't be overwritten.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
3 years agoboard_f: Copy GD to new GD even if relocation disabled
Marek Vasut [Sat, 13 Nov 2021 17:34:04 +0000 (18:34 +0100)]
board_f: Copy GD to new GD even if relocation disabled

Even if U-Boot has relocation disabled via GD_FLG_SKIP_RELOC , the
relocated stage of U-Boot still picks GD from new_gd location. The
U-Boot itself is not relocated, but GD might be, so copy the GD to
new GD location even if relocation is disabled.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Peng Fan <peng.fan@oss.nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
3 years agopart: return -ENOSYS when get_info not valid.
schspa [Wed, 20 Oct 2021 12:15:55 +0000 (20:15 +0800)]
part: return -ENOSYS when get_info not valid.

In some case, get_info() interface can be NULL, add this check to stop
from crash.

Signed-off-by: schspa <schspa@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoRevert "board: synquacer: developerbox: Don't set gd->env_addr to default_environment"
Masami Hiramatsu [Thu, 18 Nov 2021 05:45:25 +0000 (14:45 +0900)]
Revert "board: synquacer: developerbox: Don't set gd->env_addr to default_environment"

Without default setting of gd->env_addr, U-Boot will cause
a synchronous abort if the env-variables on the SPI flash is
broken or not saved corectly. Set gd->env_addr correctly.

This reverts commit 535870f3b0fb09ee9b2885409f05304111464643.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Reviewed-by: Marek Behún <marek.behun@nic.cz>
3 years agodrivers: tpm: atmel_twi: fix printf specifier compile warning
Mathew McBride [Thu, 11 Nov 2021 04:06:31 +0000 (04:06 +0000)]
drivers: tpm: atmel_twi: fix printf specifier compile warning

%d was being used as the specifier for size_t, leading to a
compiler warning

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agodrivers: tpm: atmel_twi: implement get_desc operation
Mathew McBride [Thu, 11 Nov 2021 04:06:30 +0000 (04:06 +0000)]
drivers: tpm: atmel_twi: implement get_desc operation

Without get_desc, the tpm command will not provide a
description of the device in 'tpm device' or 'tpm info'.

Due to the characteristics of the Atmel TPM it isn't
possible to determine certain attributes (e.g open/close
status) without using the TPM stack (compare Infineon
and ST TPM drivers), so just print out the chip model
and udevice name as the identifier.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agodrivers: tpm: atmel_twi: do not use an offset byte
Mathew McBride [Thu, 11 Nov 2021 04:06:29 +0000 (04:06 +0000)]
drivers: tpm: atmel_twi: do not use an offset byte

This driver was broken due to an empty offset byte being prepended
at the start of every transmission.

The hardware does not mimic an EEPROM device with registers so
an offset byte is not required.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agodrivers: tpm: atmel_twi: drop non-DM_I2C compatibility
Mathew McBride [Thu, 11 Nov 2021 04:06:28 +0000 (04:06 +0000)]
drivers: tpm: atmel_twi: drop non-DM_I2C compatibility

There are no users of this driver without DM_I2C

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agocmd: tpm-v1: fix load_key_by_sha1 compile errors
Mathew McBride [Thu, 11 Nov 2021 04:06:27 +0000 (04:06 +0000)]
cmd: tpm-v1: fix load_key_by_sha1 compile errors

This command is not compiled by default and has not been updated alongside
changes to the tpmv1 API, such as passing the TPM udevice to the relevant
functions.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agocmd: tpm-v1: fix compile error in TPMv1 list resources command
Mathew McBride [Thu, 11 Nov 2021 04:06:26 +0000 (04:06 +0000)]
cmd: tpm-v1: fix compile error in TPMv1 list resources command

This command is not compiled by default and was not
updated to pass the udevice to tpm_get_capability.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agoMerge branch '2021-11-15-assorted-fixes'
Tom Rini [Tue, 16 Nov 2021 19:23:30 +0000 (14:23 -0500)]
Merge branch '2021-11-15-assorted-fixes'

- Rename "tqc" to "tq" and related updates
- Assorted minor ARM updates, build updates and documentation updates

3 years agoMerge tag 'xilinx-for-v2022.01-rc3' of https://source.denx.de/u-boot/custodians/u...
Tom Rini [Tue, 16 Nov 2021 14:51:04 +0000 (09:51 -0500)]
Merge tag 'xilinx-for-v2022.01-rc3' of https://source.denx.de/u-boot/custodians/u-boot-microblaze

Xilinx changes for v2022.01-rc3

sdhci:
- Fix emmc mini case with missing firmware interface

zynqmp:
- Restore JTAG interface if required
- Allow overriding board name
- Add support for DLC21
- Fix one fallthrought statement description
- Use config macro instead of name duplication
- Save multiboot to variable

firmware:
- Handle ipi_req errors better
- Use local buffer in case user doesn't need it instead of NULL/0 location

spi:
- gqsi: Fix write issue at low frequencies

net:
- gem: Disable broadcasts

3 years agoimage: Explicitly declare do_bdinfo()
Andy Shevchenko [Mon, 8 Nov 2021 18:03:38 +0000 (21:03 +0300)]
image: Explicitly declare do_bdinfo()

Compiler is not happy:

common/image-board.c: In function ‘boot_get_kbd’:
common/image-board.c:902:17: warning: implicit declaration of function ‘do_bdinfo’ [-Wimplicit-function-declaration]
  902 |                 do_bdinfo(NULL, 0, 0, NULL);
      |                 ^~~~~~~~~

Move the forward declaration to a header.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agousb: doc: Fix spelling issues in README.usb
Andy Shevchenko [Fri, 12 Nov 2021 15:37:47 +0000 (18:37 +0300)]
usb: doc: Fix spelling issues in README.usb

Fix spelling issues in README.usb.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
3 years agoarm: Fix bad memcpy.S str8w macro argument count
Pierre-Clément Tosi [Wed, 10 Nov 2021 14:04:40 +0000 (15:04 +0100)]
arm: Fix bad memcpy.S str8w macro argument count

Remove the extra (empty) argument passed to str8w, causing the following
error:

   <instantiation>:40:47: error: too many positional arguments
     str8w r0, r3, r4, r5, r6, r7, r8, r9, ip, , abort=19f
                                                 ^
   u-boot/arch/arm/lib/memcpy.S:240:5: note: while in macro instantiation
   17: forward_copy_shift pull=16 push=16
       ^

Note: no functional change intended.

Fixes: d8834a1323af ("arm: Use optimized memcpy and memset from linux")
Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
3 years agoconfigs: synquacer: Fix dfu_alt_info to use nor1
Masami Hiramatsu [Wed, 10 Nov 2021 00:40:07 +0000 (09:40 +0900)]
configs: synquacer: Fix dfu_alt_info to use nor1

Fix dfu_alt_info to use nor1 instead of the device name.
This reverts a part of commit 59bd18d4c4d7 ("configs: synquacer:
Remove mtdparts settings and update DFU setting") because the
commit a4f2d8341455 ("mtd: spi: nor: force mtd name to "nor%d"")
changed the mtd device naming scheme to nor%d.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agomakefile: add missing semicolons
Angelo Dureghello [Fri, 5 Nov 2021 15:20:24 +0000 (16:20 +0100)]
makefile: add missing semicolons

On some distributions, as Debian GNU 11, this targets fails
with errors.

Signed-off-by: Angelo Dureghello <angelo.dureghello@timesys.com>
3 years agoboard: tq: fix spelling of "TQ-Systems"
Matthias Schiffer [Tue, 2 Nov 2021 10:36:46 +0000 (11:36 +0100)]
board: tq: fix spelling of "TQ-Systems"

"TQ-Systems" is written with a dash.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
3 years agoboard: rename "tqc" vendor to "tq"
Matthias Schiffer [Tue, 2 Nov 2021 10:36:45 +0000 (11:36 +0100)]
board: rename "tqc" vendor to "tq"

The subdivision name "TQ Components" hasn't been in use for a long time.
Rename the vendor directory to "tq", which also matches our Device Tree
vendor prefix.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
3 years agoarm64: relocate-rela: Add support for ld.lld
Alistair Delva [Wed, 20 Oct 2021 21:31:32 +0000 (21:31 +0000)]
arm64: relocate-rela: Add support for ld.lld

Cap end of relocations by the binary size.

Linkers like to insert some auxiliary sections between .rela.dyn and
.bss_start. These sections don't make their way to the final binary, but
reloc_rela still tries to relocate them, resulting in attempted read
past the end of file.

When linking U-Boot with ld.lld, the STATIC_RELA feature (enabled by
default on arm64) breaks the build. After this patch, U-Boot can be
linked successfully with and without CONFIG_STATIC_RELA.

Originally-from: Elena Petrova <lenaptr@google.com>
Signed-off-by: Alistair Delva <adelva@google.com>
Cc: David Brazdil <dbrazdil@google.com>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Tom Rini <trini@konsulko.com>
3 years agoPrepare v2022.01-rc2
Tom Rini [Mon, 15 Nov 2021 16:58:37 +0000 (11:58 -0500)]
Prepare v2022.01-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agousb: Make USB_MUSB_PIO_ONLY selected by USB_MUSB_SUNXI
Samuel Dionne-Riel [Wed, 27 Nov 2019 19:56:02 +0000 (14:56 -0500)]
usb: Make USB_MUSB_PIO_ONLY selected by USB_MUSB_SUNXI

This ensures the USB_MUSB_PIO_ONLY config is set to an apppropriate
value from the changes enabling USB_MUSB_GADGET does.

Namely, USB_MUSB_PIO_ONLY default to =y on USB_MUSB_SUNXI being y.

Signed-off-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
3 years agoxilinx: zynqmp: fix ZYNQMP_RESTORE_JTAG check
Ricardo Salveti [Thu, 4 Nov 2021 19:28:02 +0000 (16:28 -0300)]
xilinx: zynqmp: fix ZYNQMP_RESTORE_JTAG check

Config check should be done without the SPL_ prefix.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
Link: https://lore.kernel.org/r/20211104192802.3093811-1-ricardo@foundries.io
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoDockerfile, CI: Update to latest "focal" tag
Tom Rini [Sat, 13 Nov 2021 23:37:00 +0000 (18:37 -0500)]
Dockerfile, CI: Update to latest "focal" tag

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoDockerfile: build swtpm
Heinrich Schuchardt [Tue, 9 Nov 2021 18:51:20 +0000 (19:51 +0100)]
Dockerfile: build swtpm

For testing the TPM drivers and the EFI_TCG2_PROTOCOL we need the tool
swtpm.

Once we move to Ubuntu Impish we can take libtpms from package libtpms-dev.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoMerge tag 'dm-pull-13nov21' of https://source.denx.de/u-boot/custodians/u-boot-dm
Tom Rini [Sun, 14 Nov 2021 02:14:51 +0000 (21:14 -0500)]
Merge tag 'dm-pull-13nov21' of https://source.denx.de/u-boot/custodians/u-boot-dm

env tidy-ups
test fixes
binman fixes and ELF enhancements

3 years agoMerge tag 'efi-2022-01-rc2-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 13 Nov 2021 23:13:35 +0000 (18:13 -0500)]
Merge tag 'efi-2022-01-rc2-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2022-01-rc2-2

UEFI:
* fix measurement of BootOrder variable for TCG2 protocol

TPM:
* TIS mmio driver. This driver supports QEMU's emulated TPM.

3 years agobinman: Fix replace subcommand help and comments
Jan Kiszka [Thu, 11 Nov 2021 07:13:30 +0000 (08:13 +0100)]
binman: Fix replace subcommand help and comments

Fix some copy&paste artifacts.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
3 years agobootstage: Differentiate boot progress kconfig entries
Jan Kiszka [Wed, 3 Nov 2021 14:09:36 +0000 (15:09 +0100)]
bootstage: Differentiate boot progress kconfig entries

Both U-Boot proper and SPL entries were using the same description.

Fixes: b55881dd ("bootstage: Add SPL support")
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agosandbox: fix sandbox_wdt_expire_now()
Heinrich Schuchardt [Tue, 2 Nov 2021 18:44:30 +0000 (19:44 +0100)]
sandbox: fix sandbox_wdt_expire_now()

With CONFIG_SYSRESET_WATCHDOG=y the sandbox can use a watchdog based system
reset.

To make this work calling sandbox_wdt_expire_now() must lead to a reset.

With this change we can test the development suggested in

  [PATCH 0/4] Improved sysreset/watchdog uclass integration
  https://lists.denx.de/pipermail/u-boot/2021-August/458656.html

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agotest/dm: fix watchdog test
Heinrich Schuchardt [Tue, 2 Nov 2021 18:44:29 +0000 (19:44 +0100)]
test/dm: fix watchdog test

For successful execution of the watchdog test we need both the GPIO as well
as the SANDBOX watchdog.

Avoid a build failure for CONFIG_WDT_GPIO=n.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Correct TPL rule for OF_REAL
Simon Glass [Mon, 1 Nov 2021 01:17:03 +0000 (19:17 -0600)]
Makefile: Correct TPL rule for OF_REAL

Correct an error in the tpl-dtb parameter to binman. At present the TPL
rule follows SPL but this is not correct, if TPL uses of-platdata, for
example.

Fixes: f99cbe4e867 ("fdt: Update Makefile rules with the new OF_REAL Kconfig")
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agoenv: Simplify env_get_default()
Marek Behún [Wed, 3 Nov 2021 23:23:23 +0000 (00:23 +0100)]
env: Simplify env_get_default()

Instead of pretending that we don't have environment to force searching
default environment in env_get_default(), get the data from the
default_environment[] buffer directly.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoenv: Fix env_get() when returning empty string using env_get_f()
Marek Behún [Wed, 3 Nov 2021 23:23:22 +0000 (00:23 +0100)]
env: Fix env_get() when returning empty string using env_get_f()

The env_get_f() function returns -1 on failure. Returning 0 means that
the variable exists, and is empty string.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoenv: Don't set ready flag if import failed in env_set_default()
Marek Behún [Wed, 3 Nov 2021 23:23:21 +0000 (00:23 +0100)]
env: Don't set ready flag if import failed in env_set_default()

Do not set GD_FLG_ENV_READY nor GD_FLG_ENV_DEFAULT if failed importing
in env_set_default().

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agobinman: Support updating the dtb in an ELF file
Simon Glass [Thu, 4 Nov 2021 03:09:18 +0000 (21:09 -0600)]
binman: Support updating the dtb in an ELF file

WIth EFI we must embed the devicetree in an ELF image so that it is loaded
as part of the executable file. We want it to include the binman
definition in there also, which in some cases cannot be created until the
ELF (u-boot) is built. Add an option to binman to support writing the
updated dtb to the ELF file u-boot.out

This is useful with the EFI app, which is always packaged as an ELF file.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobinman: Tidy up comments on _DoTestFile()
Simon Glass [Thu, 4 Nov 2021 03:09:17 +0000 (21:09 -0600)]
binman: Tidy up comments on _DoTestFile()

The comment for this function is missing an argument and the return value.
Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobinman: Support reading the offset of an ELF-file symbol
Simon Glass [Thu, 4 Nov 2021 03:09:16 +0000 (21:09 -0600)]
binman: Support reading the offset of an ELF-file symbol

Binman needs to be able to update the contents of an ELF file after it has
been build. To support this, add a function to locate the position of a
symbol's contents within the file.

Fix the comments on bss_data.c and Symbol while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobinman: Report an error if test files fail to compile
Simon Glass [Thu, 4 Nov 2021 03:09:15 +0000 (21:09 -0600)]
binman: Report an error if test files fail to compile

At present any error from the 'make' command is silently swallowed by the
test system. Fix this by showing it when detected.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agopatman: Use a ValueError exception if tools.Run() fails
Simon Glass [Thu, 4 Nov 2021 03:09:14 +0000 (21:09 -0600)]
patman: Use a ValueError exception if tools.Run() fails

The Exception base class is a very vague and could be confusing to the
test system. Use the more specific ValueError exception instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoconfigs: Resync with savedefconfig
Tom Rini [Fri, 12 Nov 2021 23:37:42 +0000 (23:37 +0000)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoMerge branch '2021-11-12-Kconfig-migrations'
Tom Rini [Fri, 12 Nov 2021 23:33:12 +0000 (18:33 -0500)]
Merge branch '2021-11-12-Kconfig-migrations'

- An assortment of "finish migrating .." symbol patches.  This will help
  make it harder for migrated symbols to end up again in board config.h
  files.

3 years agoConvert CONFIG_LAST_STAGE_INIT to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:51 +0000 (22:59 -0500)]
Convert CONFIG_LAST_STAGE_INIT to Kconfig

This converts the following to Kconfig:
   CONFIG_LAST_STAGE_INIT

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoRemove CONFIG_SERIAL_MULTI
Tom Rini [Mon, 8 Nov 2021 03:59:50 +0000 (22:59 -0500)]
Remove CONFIG_SERIAL_MULTI

This symbol has been functionally dead for a long time.  Remove the last
and recent re-introductions of setting it, and update the whitelist so
it will not be re-introduced again.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_PL011_SERIAL et al to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:49 +0000 (22:59 -0500)]
Convert CONFIG_PL011_SERIAL et al to Kconfig

This converts the following to Kconfig:
   CONFIG_PL011_SERIAL
   CONFIG_PL01X_SERIAL

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_MACB to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:48 +0000 (22:59 -0500)]
Convert CONFIG_MACB to Kconfig

This converts the following to Kconfig:
   CONFIG_MACB

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_MD5 to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:47 +0000 (22:59 -0500)]
Convert CONFIG_MD5 to Kconfig

This converts the following to Kconfig:
   CONFIG_MD5

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_MX6 et al to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:46 +0000 (22:59 -0500)]
Convert CONFIG_MX6 et al to Kconfig

This converts the following to Kconfig:
   CONFIG_MX6
   CONFIG_MX7

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_IMX_BOOTAUX et al to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:45 +0000 (22:59 -0500)]
Convert CONFIG_IMX_BOOTAUX et al to Kconfig

This converts the following to Kconfig:
   CONFIG_IMX_BOOTAUX
   CONFIG_IMX_THERMAL

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_SYS_PROMPT et al to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:44 +0000 (22:59 -0500)]
Convert CONFIG_SYS_PROMPT et al to Kconfig

This converts the following to Kconfig:
   CONFIG_SYS_PROMPT
   CONFIG_SYS_PROMPT_HUSH_PS2

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_I2C_EDID et al to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:43 +0000 (22:59 -0500)]
Convert CONFIG_I2C_EDID et al to Kconfig

This converts the following to Kconfig:
   CONFIG_I2C_EDID
   CONFIG_I2C_EEPROM

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_PHYLIB et al to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:42 +0000 (22:59 -0500)]
Convert CONFIG_PHYLIB et al to Kconfig

This converts the following to Kconfig:
   CONFIG_PHYLIB
   CONFIG_PHY_ATHEROS
   CONFIG_PHY_GIGE
   CONFIG_MII

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_MISC_INIT_F et al to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:41 +0000 (22:59 -0500)]
Convert CONFIG_MISC_INIT_F et al to Kconfig

This converts the following to Kconfig:
   CONFIG_MISC_INIT_F
   CONFIG_MISC_INIT_R

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_TRACE et al to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:40 +0000 (22:59 -0500)]
Convert CONFIG_TRACE et al to Kconfig

This converts the following to Kconfig:
   CONFIG_TRACE
   CONFIG_TRACE_BUFFER_SIZE
   CONFIG_TRACE_EARLY
   CONFIG_TRACE_EARLY_ADDR
   CONFIG_TRACE_EARLY_SIZE

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_SYS_CONSOLE_IS_IN_ENV to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:39 +0000 (22:59 -0500)]
Convert CONFIG_SYS_CONSOLE_IS_IN_ENV to Kconfig

This converts the following to Kconfig:
   CONFIG_SYS_CONSOLE_IS_IN_ENV

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_ENV_IS_IN_SPI_FLASH et al to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:38 +0000 (22:59 -0500)]
Convert CONFIG_ENV_IS_IN_SPI_FLASH et al to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_SPI_FLASH
   CONFIG_ENV_IS_NOWHERE
   CONFIG_ENV_OFFSET
   CONFIG_ENV_OVERWRITE
   CONFIG_ENV_SECT_SIZE
   CONFIG_SYS_MMC_ENV_DEV
   CONFIG_SYS_MMC_ENV_PART

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_FSL_USDHC to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:37 +0000 (22:59 -0500)]
Convert CONFIG_FSL_USDHC to Kconfig

This converts the following to Kconfig:
   CONFIG_FSL_USDHC

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_FSL_LAYERSCAPE to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:36 +0000 (22:59 -0500)]
Convert CONFIG_FSL_LAYERSCAPE to Kconfig

This converts the following to Kconfig:
   CONFIG_FSL_LAYERSCAPE

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_BITBANGMII to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:35 +0000 (22:59 -0500)]
Convert CONFIG_BITBANGMII to Kconfig

This converts the following to Kconfig:
   CONFIG_BITBANGMII

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_DOS_PARTITION to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:34 +0000 (22:59 -0500)]
Convert CONFIG_DOS_PARTITION to Kconfig

This converts the following to Kconfig:
   CONFIG_DOS_PARTITION

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_E1000 to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:33 +0000 (22:59 -0500)]
Convert CONFIG_E1000 to Kconfig

This converts the following to Kconfig:
   CONFIG_E1000

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_ARCH_CPU_INIT to Kconfig
Tom Rini [Mon, 8 Nov 2021 03:59:32 +0000 (22:59 -0500)]
Convert CONFIG_ARCH_CPU_INIT to Kconfig

This converts the following to Kconfig:
   CONFIG_ARCH_CPU_INIT

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoMerge branch '2021-11-12-assorted-updates'
Tom Rini [Fri, 12 Nov 2021 15:14:24 +0000 (10:14 -0500)]
Merge branch '2021-11-12-assorted-updates'

- A number of pxe related cleanups and related re-organization.
- A few related pxe/sysboot/extlinux improvements
- Remove some dead code.
- Update Azure to use a newer Windows build environment
- Add a .get_maintainer.conf file
- A few minor TI SoC platform updates

3 years agortc: ds1337: fix compatible string typo
Clemens Gruber [Fri, 5 Nov 2021 13:46:50 +0000 (14:46 +0100)]
rtc: ds1337: fix compatible string typo

The driver supports the ds1339 as well, which was probably intended by
the author but prevented by a typo. Fix the typo.

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
3 years agoboards: siemens: iot2050: Ignore network errors during bootstage tracking
Jan Kiszka [Wed, 3 Nov 2021 14:12:30 +0000 (15:12 +0100)]
boards: siemens: iot2050: Ignore network errors during bootstage tracking

We need to filter out NET_ETH_START errors because we have to enable
networking in order to propagate the MAC addresses to the DT while there
is no network driver for the prueth in U-Boot yet.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
3 years agoboards: siemens: iot2050: Re-enable bootstage reporting
Jan Kiszka [Wed, 3 Nov 2021 14:11:53 +0000 (15:11 +0100)]
boards: siemens: iot2050: Re-enable bootstage reporting

This got lost while fixing up the condition in
board/siemens/iot2050/board.c

Fixes: b55881dd ("bootstage: Add SPL support")
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoARM: dts: am335x-chiliboard: add /chosen/tick-timer
Marcin Niestroj [Tue, 2 Nov 2021 13:41:06 +0000 (14:41 +0100)]
ARM: dts: am335x-chiliboard: add /chosen/tick-timer

Commit 4b2be78ab66c ("time: Fix get_ticks being non-monotonic") has
broken boot on chiliboard platform, as it requires '/chosen/tick-timer'
in device-tree. This resulted in following panic message:

  Could not initialize timer (err -19)

Provide missing chosen property in device-tree to fix chiliboard
support.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
3 years agoget_maintainer.pl: add .get_maintainer.conf
Michael Walle [Sun, 31 Oct 2021 22:38:12 +0000 (23:38 +0100)]
get_maintainer.pl: add .get_maintainer.conf

Since commit e57c7c5c4282 ("get_maintainer.pl: update from Linux kernel
v5.13-rc6") only the top level MAINTAINERS file is used. This is because
this commit (accidentally) disabled the search of MAINTAINERS files
(find_maintainer_files is set to 0 again). Before that, commit
b79372ae94fb ("scripts/get_maintainer.pl: enable find_maintainer_files")
explicitly enabled that feature. Nowadays, we also have to set
maintainer_path to a directory.

To fix it and enable recursive search of MAINTAINERS, create a
configuration file to set these two variables.

Signed-off-by: Michael Walle <michael@walle.cc>
3 years agoAzure: Move to windows-2019
Tom Rini [Sun, 31 Oct 2021 17:24:42 +0000 (13:24 -0400)]
Azure: Move to windows-2019

As per https://github.com/actions/virtual-environments/issues/4312 the
Windows-2016 environments are scheduled for deprecation and removal in
early 2022.  Move to windows-2019 now to avoid this (Visual Studio 2019
is included here, hence the tag naming scheme change).

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agoRemove LYNX KDI remainders
Thomas Huth [Tue, 26 Oct 2021 12:31:18 +0000 (14:31 +0200)]
Remove LYNX KDI remainders

The last board that used to set CONFIG_LYNXKDI has been removed in
commit 242836a893ae ("powerpc: ppc4xx: remove pcs440ep support"),
doc/README.lynxkdi only talks about a MPC8260 board being supported,
and the mpc8260 support has been removed four years ago in commit
2eb48ff7a210d ("powerpc, 8260: remove support for mpc8260") already,
and common/lynxkdi.c only consists of an "#error" statement these
days, so it seems like the LYNX KDI code is dead code nowadays.
Let's remove it now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
3 years agopxe: Allow calling the pxe_get logic directly
Simon Glass [Thu, 14 Oct 2021 18:48:11 +0000 (12:48 -0600)]
pxe: Allow calling the pxe_get logic directly

Refactor this code so that we can call the 'pxe get' command without going
through the command-line interpreter. This makes it easier to get the
information we need, without going through environment variables.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Artem Lapkin <email2tema@gmail.com>
Tested-by: Artem Lapkin <email2tema@gmail.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
3 years agodoc: Move distro boot doc to rST
Simon Glass [Thu, 14 Oct 2021 18:48:10 +0000 (12:48 -0600)]
doc: Move distro boot doc to rST

Move this over to the new rST format.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Artem Lapkin <email2tema@gmail.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
3 years agopxe: Refactor sysboot to have one helper
Simon Glass [Thu, 14 Oct 2021 18:48:09 +0000 (12:48 -0600)]
pxe: Refactor sysboot to have one helper

The only difference between the three helpers is the filesystem type.
Factor this out and call the filesystem functions directly, instead of
through the command-line interpreter. This allows the file size to be
obtained directly, instead of via an environment variable.

We cannot do the same thing with PXE's tftpboot since there is no API
at present to obtain information about the file that was read. So there
is no point in changing pxe_getfile_func to use a ulong for the address,
for example.

This is as far as the refactoring can go for the present.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Artem Lapkin <email2tema@gmail.com>
Tested-by: Artem Lapkin <email2tema@gmail.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
3 years agopxe: Return the file size from the getfile() function
Simon Glass [Thu, 14 Oct 2021 18:48:08 +0000 (12:48 -0600)]
pxe: Return the file size from the getfile() function

It is pretty strange that the pxe code uses the 'filesize' environment
variable find the size of a file it has just read.

Partly this is because it uses the command-line interpreter to parse its
request to load the file.

As a first step towards unwinding this, return it directly from the
getfile() function. This makes the code a bit longer, for now, but will be
cleaned up in future patches.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Artem Lapkin <email2tema@gmail.com>
Tested-by: Artem Lapkin <email2tema@gmail.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
3 years agolib: Add a function to convert a string to a hex value
Simon Glass [Thu, 14 Oct 2021 18:48:07 +0000 (12:48 -0600)]
lib: Add a function to convert a string to a hex value

Add an xtoa() function, similar to itoa() but for hex instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Artem Lapkin <email2tema@gmail.com>
Tested-by: Artem Lapkin <email2tema@gmail.com>