Commit Graph

83152 Commits

Author SHA1 Message Date
Heinrich Schuchardt
7a9b366cd9 lib: add function u16_strcasecmp()
Provide a function for comparing UTF-16 strings in a case insensitive
manner.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-04 13:17:42 +01:00
Heinrich Schuchardt
d7ddeb66a6 efi_loader: fix building aarch64 EFI binaries
While our EFI binaries execute without problems on EDK II they crash on
a Lenovo X13s. Let our binaries look more like what EDK II produces:

* move all writable data to a .data section
* align sections to 4 KiB boundaries (matching EFI page size)
* remove IMAGE_SCN_LNK_NRELOC_OVFL from .reloc section flags

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-01-04 13:17:42 +01:00
Heinrich Schuchardt
673a92c5d2 efi_loader: defines for PE-COFF section flags
Provide constants for the section flags used by binaries.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-01-04 13:17:42 +01:00
Marek Vasut
fbc595b412 doc: Fix eth_env_[gs]et_enetaddr() return value
Per env/common.c, eth_env_get_enetaddr() returns the same return
values as is_valid_ethaddr(), i.e. true if valid, false otherwise.
Per env/common.c, eth_env_set_enetaddr() may return -EEXIST is the
ethaddr is already set. Fix both.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-04 13:17:42 +01:00
Heinrich Schuchardt
566b7b2f51 doc: building documentation
Provide a man-page describing how to build the U-Boot documentation.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-04 13:17:42 +01:00
Heinrich Schuchardt
532952f63c cmd: avoid endless loop in sound play command
A parameter starting with a hyphen leads to an endless loop in the sound
play command.

Leave it to dectoul() to handle the hyphen. It will return 0 for a negative
number.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-04 13:17:42 +01:00
Tom Rini
582e3c9fb2 Merge https://source.denx.de/u-boot/custodians/u-boot-marvell
- orion-timer: Fix problem with early static variable (Stefan)
2023-01-02 09:36:13 -05:00
Stefan Roese
5387b093cb timer: orion-timer: Fix problem with early static variable
We've noticed that at least one Kirkwood board (Pogo v4) has problems
with the new orion DM timer implementation. Debugging revealed that this
issue is related with the static variable "early_init_done" which does
not work correctly before relocation in all cases.

This patch removes this static variable and replaces it's functionality
via a function that detects if the timer is already initialized.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Pali Rohár <pali@kernel.org>
Cc: Michael Walle <michael@walle.cc>
Cc: Tony Dinh <mibodhi@gmail.com>
Tested-by: Tony Dinh <mibodhi@gmail.com>
2023-01-02 09:14:16 +01:00
Tom Rini
3089d12a02 configs: Resync with savedefconfig
Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-29 13:44:21 -05:00
Tom Rini
d36bc89be2 Pull request for efi-2023-01-rc5-2
Documentation:
 
 * Reorganize existing TI docs and add K3 generation page
 * Add texinfodocs and infodocs targets
 * Update qemu-ppce500 documentation
 * Use "changesets" not "csets" in statistics pages
 
 UEFI
 
 * Fix merging of preseeded non-volatile variables
 * Fix a return value in the  EFI_HII_DATABASE_PROTOCOL
 * Set UEFI specification version to 2.10
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEbcT5xx8ppvoGt20zxIHbvCwFGsQFAmOtm18ACgkQxIHbvCwF
 GsQMJQ//Zfr8kaJQbHRBcA/20LvdMuJj5l1IBW3sQbfr2jRztrkA/Ea23k4T8lHK
 f+Ty1CGDPi5LtdIKrDJDxNF1KDFOUIGgBZ4i+ISoLPazCj9Cug/58GCZM/htO25/
 sFqojKNUVYOLBZ/D3PZBDU42hWTH0do1MwyUNuwVu0KPe6uwUrMFRBcSddXQw77r
 45iotAPe54hL7lzcNfEJSjeSSZ0CfGAsE+8ZN2r7xBTcU2ACOD6DbcCQgeR8FGEv
 CwzKU/3wKNLtonxfFmK44FI6knIxl/B3HKzi82gBDOmvlB4bmB8X+CK82WvJ+Q+j
 9H/6bqj6ZaEKkJ7k1KbhR/cf6Z4QbRwScb82H2YfhjhiAj6UeoPCTI6lgx7WGkxW
 DP8wNej0kE0wxWuoiay5ErRU17hPItpwQIbrCBMpnJrEPTour6yjGpJYcbUeGqW2
 5gw++0rsyn1rOlH/+ukK0Gzq6DSUE9LuCnl76qG6Vwyuj1e1JO2G9Sr/rxiX5XDx
 5h/LoVmhD2yYSSG7MtKNlj38yfnOu1267PSWvQYyLs9XKSnhecT/N4OKMwTmEe1o
 VO8MapuUaw2mzO3NzlDLKXHzMavN2ov+YWWA+9NiFiytjXFvOsPnMVZJXeR86RI/
 Npeu+7jIbQOtSFDQyuV0tGXGZSY5F5WHsXFdwJHkFQGSYhWDwXU=
 =z7b8
 -----END PGP SIGNATURE-----

Merge tag 'efi-2023-01-rc5-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2023-01-rc5-2

Documentation:

* Reorganize existing TI docs and add K3 generation page
* Add texinfodocs and infodocs targets
* Update qemu-ppce500 documentation
* Use "changesets" not "csets" in statistics pages

UEFI

* Fix merging of preseeded non-volatile variables
* Fix a return value in the  EFI_HII_DATABASE_PROTOCOL
* Set UEFI specification version to 2.10
2022-12-29 13:32:50 -05:00
Tom Rini
6f975524cb Merge branch '2022-12-29-assorted-further-fixes'
- Rework Azure CI jobs for Rockchip, minor fixes for wget and correct
  runtime problems on a number of PowerPC platforms.
2022-12-29 13:31:40 -05:00
Tom Rini
88c2e9157c PowerPC: Update dependencies on *SYS_MPC85XX_NO_RESETVEC
In 96699f097a ("powerpc: mpc85xx: Use binman to embed dtb inside
U-Boot") we introduce CONFIG_MPC85XX_HAVE_RESET_VECTOR and do so via
Kconfig. However, much later in de47ff5363 ("Convert
CONFIG_SYS_MPC85XX_NO_RESETVEC to Kconfig") I converted the symbol that
is the inverse of this to Kconfig. This should have included a
dependency on the first symbol as they are logically opposite.

The dependency being missing lead to some platforms being broken at
runtime due to discarding the require reset vector.

Fixes: de47ff5363 ("Convert CONFIG_SYS_MPC85XX_NO_RESETVEC to Kconfig")
Reported-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Tested-by: Pali Rohár <pali@kernel.org>
2022-12-29 13:31:30 -05:00
Tom Rini
9348d93b0d Merge branch '2022-12-29-assorted-further-fixes'
- Rework Azure CI jobs for Rockchip, minor fixes for wget and correct a
  one of the runtime problems on a number of PowerPC platforms.
2022-12-29 09:51:00 -05:00
Tom Rini
ec9efcf62a PowerPC: Rework PBL location choice
When converting CONFIG_SDCARD and CONFIG_SPIFLASH to Kconfig, one set of
uses wasn't converted correctly. Allow for the case where platforms
don't rely on "PBL" to boot but instead use other mechanisms. See the
link below for more details.

Link: https://lore.kernel.org/all/20220802091338.f4g45ldhc7qbg6hm@pali/
Fixes: d433c74eec ("Convert CONFIG_SDCARD et al to Kconfig")
Tested-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-29 09:50:53 -05:00
Michael Walle
20422d6930 cmd: net: wget: fix Kconfig dependency
The wget command uses TCP, but fails to select PROT_TCP in Kconfig.
Instead it selects the non-existing symbol TCP. Fix the typo.

Signed-off-by: Michael Walle <michael@walle.cc>
2022-12-29 09:50:53 -05:00
Michael Walle
fe1489bc6d net: wget: fix implicit declaration
The compiler complains about the missing declaration of print_size():
net/wget.c:415:3: warning: implicit declaration of function ‘print_size’ [-Wimplicit-function-declaration]

Fix it.

Signed-off-by: Michael Walle <michael@walle.cc>
2022-12-29 09:50:53 -05:00
Tom Rini
478ed23e11 CI: Rework rockchip jobs in Azure
The rockchip job is getting close to the hard time limit in Azure for
the free tier. Split this in to 32bit and 64bit board jobs.

Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-29 09:50:53 -05:00
Heinrich Schuchardt
f557cf08b9 efi_loader: use u16_strlen() in efi_var_mem_ins()
Don't duplicate library functionality.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29 12:52:39 +01:00
Ilias Apalodimas
77bb14758d efi_loader: avoid adding variables twice
When the efi subsystem starts we restore variables that are both in a
file or stored into the .efi_runtime section of U-Boot.  However once
a variable gets created or changed the preseeded entries will end up in
the file.  As a consequence on the next boot we will end up adding
identical variable entries twice.

Fix this by checking if the to be inserted variable already exists.
Also swap the restoration order and start with the file instead of the
builtin variables,  so a user can replace the preseeded ones if needed.

Tested-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29 10:51:50 +01:00
Heinrich Schuchardt
fcf583b4a7 efi_loader: typo non-volatile in efi_var_restore
It is volatile variables that we do not allow to be restored from file.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-29 10:51:50 +01:00
Heinrich Schuchardt
eff6b7157c efi_loader: set UEFI specification version to 2.10
Claim to implement UEFI 2.10 setting EFI_SPECIFICATION_VERSION accordingly.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-29 10:51:50 +01:00
Heinrich Schuchardt
3ec07c99d8 efi_loader: set IMAGE_FILE_LARGE_ADDRESS_AWARE
For the 64bit EFI binaries that we create set the
IMAGE_FILE_LARGE_ADDRESS_AWARE characteristic in the PE-COFF header
to indicate that they can handle addresses above 2 GiB.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29 10:51:50 +01:00
Vincent Stehlé
c33d389c7a efi_loader: fix get_package_list_handle() status
When the HII protocol function get_package_list_handle() is called with an
invalid package list handle, it returns EFI_NOT_FOUND but this is not in
its list of possible status codes as per the EFI specification.
Return EFI_INVALID_PARAMETER instead to fix conformance.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29 10:51:50 +01:00
Heinrich Schuchardt
159dbe1fb1 doc: improve wget man-page
* correct formatting of synopsis
* improve description of TCP SACK configuration

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29 10:51:50 +01:00
Tom Rini
f16086e3e2 doc: Use "changesets" not "csets" in statistics pages
To make things more human readable, say "changesets from" rather than
"csets from" in all our historical pages here. Moving forward this has
been changed in our gitdm with b034e399e31a ("gitdm: fix typo csets").

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29 10:51:50 +01:00
Maxim Cournoyer
7fa4c27a2e doc: add texinfodocs and infodocs targets
Sphinx supports generating Texinfo sources and Info documentation,
which can be navigated easily and is convenient to search (via the
indexed nodes or anchors, for example).  This is basically the same as
1f050e904dd6f2955eecbd22031d912ccb2e7683, which was recently applied
to the Linux kernel.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29 10:51:50 +01:00
Pali Rohár
a17be96b62 doc: board: qemu-ppce500: Update supported and unsupported
qemu can emulate also e500v1 core but cannot emulate CPUs from Freescale
PowerPC QorIQ T and P series.

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29 10:51:50 +01:00
Bryan Brattlof
16a30b3474 doc: ti: add the K3 generation page
Texas Instrument's entire K3 generation of SoCs use much of the same
frameworks and boot flow, especially at the uboot level. Though there
are small differences introduced as each new K3 based SoC is developed
and as the K3 generation matures that will also need to be documented.

Rather than copying the same documentation, with the small differences
applicable to that specific SoC to a new page, introduce a new K3
page that can describe the general boot flow and design decisions for
the entire K3 generation of chips, leaving the specifics for that
particular SoC to a unique sub-page below this one.

Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29 10:51:50 +01:00
Bryan Brattlof
0820e117c3 doc: ti: reorganize existing ti docs
Texas Instruments produces quite a lot of SoCs based upon a common
architecture 'generation'. (eg: OMAP, K3) TI's existing documentation
layout makes noticing this generation jump rather difficult.

To make navigation easier, split the existing documentation into
individual SoC families so we may begin grouping them according to their
generational (eg: OMAP, K3) families.

Signed-off-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29 10:51:50 +01:00
Tom Rini
adcee0791f Merge https://source.denx.de/u-boot/custodians/u-boot-pmic
- power: regulator: Add support for NPCM8xx
2022-12-26 21:00:20 -05:00
Jim Liu
dbedf4a56b power: regulator: Add support for NPCM8xx
Add support for setting nuvoton BMC NPCM845 voltage supply.

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
2022-12-26 15:44:00 +09:00
Tom Rini
e1befc8512 OP-TEE autodiscovery
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEgWII69YpahbL5iK5gS8AYozs+qIFAmOlZoUACgkQgS8AYozs
 +qIqDA//QLRmx5+Rq8+MkXar6Xpt6nP877+onIxJLeZ4RaNY1I9EIv2hjHcR5NpB
 Wj4K4wP7EQobHTfMDD2owEJ5jOPjmMgYrd8j+7g8q+G7160JTYV6FDxYa3V6b55/
 qifW8T6eTyeaNwKEZyLb7+aNHJ/ULx51RQ8AlTM+ttv2iiYeB7+DegqdF3Df6hjT
 8uFHOPX0+ln+8UUKHCm0NKxUsply4qGlJiuK99Pq1xnGTxyZ1G1+qqXvuFazGOZm
 wHm1Ha08hep6Ye2azjBof8FdA7cjM//7SSUgOctEf1agloxblmt26XfDsxn0U3Oa
 5AbGLrPnL5KJjv/ij5TeaAGdOYPhsgsKJj3vwbbdoARLOb3x91rt7e/ZtThrKcF5
 Ygj0+vpnRzLzgfqqSg90OfWW4NBFNPyXl6qG1ykQrKtnVMDrBofFIcqemwpn9moe
 4Ybx/28Vj1vXLpdt9JDR2vVrmJuPookrUBkTcMMRrrB2zBDF6hGx5wmit8pYZV+R
 CfhyzEzq4WrHXijxmNN56GtnpYVp8GQGaDJy1Fo4BZ8f5h85zvUyfplYyeVsejru
 T3HvvEjRgBjZvEzDh3zj6MI37SYQX4vT5FESBhv+Yab7tl2kp1DLKlVtM9UyvJpt
 RuDt6FOMkFXwLO1JjmAfgn2u4L7TdEdThCceY+G8ElAP4OgpWiA=
 =1O+t
 -----END PGP SIGNATURE-----

Merge tag 'tpm-23122022' of https://source.denx.de/u-boot/custodians/u-boot-tpm

OP-TEE autodiscovery
2022-12-23 07:46:41 -05:00
Tom Rini
24a0a00f07 Merge branch '2022-12-22-assorted-important-fixes'
- Split up the aarch64 Azure CI job more, to avoid time limits, nuvoton
  network fix, SPL_OPTEE_IMAGE dependency fix, some fixes to the IPv6
  code, PowerPC build flag fixes, silence pylibfdt version warning.
2022-12-23 07:44:30 -05:00
Etienne Carriere
fe8a4ed011 tee: optee: discover services dependent on tee-supplicant
Makes OP-TEE to enumerate also services depending on tee-supplicant
support in U-Boot. This change allows OP-TEE services like fTPM TA
to be discovered and get a TPM device registered in U-Boot.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-23 10:26:15 +02:00
Etienne Carriere
476a3d58df tee: optee: don't fail probe because of optee-rng
Fixes optee-rng driver bind sequence in optee driver to print a warning
message but not report an error status when a optee-rng service driver
fails to be bound as the optee driver itself is still fully functional.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-23 10:26:11 +02:00
Marek Vasut
440098c42e pylibfdt: Fix version normalization warning
Fix the following version normalization warning:
"
/usr/lib/python3/dist-packages/setuptools/dist.py:530: UserWarning: Normalizing '2023.01' to '2023.1'
"

Using suggestion from Richard Jones:
https://github.com/pypa/setuptools/issues/308#issuecomment-405817468

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
2022-12-22 15:39:13 -05:00
Jim Liu
dd5f07eb6b net: nuvoton: fix build broken for use phy_get_interface_by_name
The original patch is use phy_get_interface_by_name to set interface.
The new patch is use dev_read_phy_mode to replace it.

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2022-12-22 15:39:13 -05:00
Pali Rohár
1db706edcd powerpc/mpc85xx: Disable AltiVec and VSX instructions
All vector instructions on powerpc mpc85xx must not be used because U-Boot
does not enable them. Usage cause random crashes. SPE vector instructions
are already disabled by compiler flags, so disable also AltiVec and VSX
vector instructions.

Linux kernel disables AltiVec and VSX instructions too.

Signed-off-by: Pali Rohár <pali@kernel.org>
2022-12-22 15:39:13 -05:00
Pali Rohár
138b6061a1 powerpc/mpc85xx: Improve disabling of SPE instructions
Specifying -mspe=no also disables usage of SPE instructions. It is
documented in "[PATCH,rs6000] make -mno-spe work as expected" email:
http://gcc.gnu.org/ml/gcc-patches/2008-04/msg00311.html

So replace -mspe=yes by -mspe=no, so make it clear that u-boot has to be
compiled without SPE instructions.

Linux kernel contains following Makefile code to achieve it:

    # No SPE instruction when building kernel
    # (We use all available options to help semi-broken compilers)
    KBUILD_CFLAGS += $(call cc-option,-mno-spe)
    KBUILD_CFLAGS += $(call cc-option,-mspe=no)

Do same for U-Boot.

Signed-off-by: Pali Rohár <pali@kernel.org>
2022-12-22 15:39:13 -05:00
Pali Rohár
c0d0569cf6 powerpc/mpc85xx: Pass correct cpu compiler flags
When gcc's default cpu (selected by --with-cpu= during gcc's configure
phase) does not match target U-Boot board cpu then U-Boot binary does not
have to be compiled correctly. Lot of distributions sets gcc's default cpu
to generic powerpc variant which works fine.

U-Boot already pass -Wa,-me500 flag to gcc which instructs GNU AS to accept
e500 specific instructions when processing assembler source files (.S).

This affects also assembly files generated by gcc from C source files. And
because gcc for generic powerpc cpu puts '.machine ppc' at the beginning of
the generated assembly file, it basically overwrites -me500 flag by which
was GNU AS invoked (from U-boot build system).

It started to be an issue since binutils 2.38 which does not keep enabled
extra functional units selected by previous cpu. Hence issuing directive
'.machine ppc' (generated by gcc for generic powerpc) after '.machine e500'
(specifying at command line) disables usage of e500 specific instructions.

And compiling arch/powerpc/cpu/mpc85xx/tlb.c code throws following
assembler errors:

    {standard input}: Assembler messages:
    {standard input}:127: Error: unrecognized opcode: `tlbre'
    {standard input}:418: Error: unrecognized opcode: `tlbre'
    {standard input}:821: Error: unrecognized opcode: `msync'
    {standard input}:821: Error: unrecognized opcode: `tlbwe'
    {standard input}:884: Error: unrecognized opcode: `tlbsx'

This issue was already hit by Debian people and is reported in bug tracker:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1003490

Calling gcc with -mcpu=8540 flag fixes this issue because -mcpu=8540 tells
gcc to compile code for e500 core/cpu (overwriting gcc's default cpu) and
does not put '.machine ppc' directive into assembly anymore.

Also if gcc is invoked with -mcpu=8540 then it pass -me500 flag to GNU AS.
So it is unnecessary to manually specify -Wa,-me500 flag because it is
implicitly added.

Fix this issue properly by specifying correct -mcpu compiler flag for all
supported powerpc cores in U-Boot mpc85xx platform, which are: e500v1,
e500v2, e500mc, e5500 and e6500. For specifying e500v1 and e500v2 cores,
gcc has unintuitive -mcpu=8540 and -mcpu=8548 flag names, for other cores
-mcpu matches core name.

The only difference between gcc's -mcpu=8540 and -mcpu=8548 flags is
support for double precision floating point SPE instructions. As U-Boot
does not use floating point, it is fine to use -mcpu=8540 for both e500v1
and e500v2 cores. Moreover gcc 9 completely removed e500 floating point
support, so since gcc 9 -mcpu=8548 is just alias to -mcpu=8540.

Note that U-Boot's CONFIG_E500 option is set also for other cpus, not only
for e500v1 and e500v2. So do not check for CONFIG_E500 and rather set e500
as last fallback value when no other mpc85xx cpu matches.

Signed-off-by: Pali Rohár <pali@kernel.org>
2022-12-22 15:39:13 -05:00
Heinrich Schuchardt
56e3b14703 net: don't memcpy to NULL
In ndisc_receive() 7 bytes are copied from a buffer of size 6 to NULL.

net_nd_packet_mac is a pointer. If it is NULL, we should set it to the
address of the buffer with the MAC address.

Addresses-Coverity-ID: 430974 ("Out-of-bounds access")
Fixes: c6610e1d90 ("net: ipv6: Add Neighbor Discovery Protocol (NDP)")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com>
2022-12-22 15:39:13 -05:00
Viacheslav Mitrofanov
0d6d5a4aa6 net: ipv6: Add missing break into IPv6 protocol handler
IPv6 protocol handler is not terminated with a break statment.
It can lead to running unexpected code.

Signed-off-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
2022-12-22 15:39:13 -05:00
Jagan Teki
f365971229 spl: Kconfig: Fix SPL_OPTEE_IMAGE dependency
fdt_addr will build as part of SPL_LOAD_FIT or SPL_LOAD_FIT_FULL
which is indeed required to build optee image support in SPL.

common/spl/spl.c: In function ‘jump_to_image_optee’:
common/spl/spl.c:220:46: error: ‘struct spl_image_info’ has no member named ‘fdt_addr’
  220 |         spl_optee_entry(NULL, NULL, spl_image->fdt_addr,

Fix the dependency support.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
2022-12-22 15:39:13 -05:00
Tom Rini
dcb0cc0169 CI: Reduce aarch64 catchall job matches
The aarch64 catch-all job is getting close to the hard time limit in
Azure for the free tier. Move i.MX9 boards to the i.MX8 job and move
amlogic entirely to its own job. This brings us down from 85 boards to
51 boards and so should be safe for a while.

Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-22 15:39:13 -05:00
Tom Rini
1154e965d0 Pull request for efi-2023-01-rc5
UEFI:
 
 * Improve parameter checking in efi_get_next_variable_name_mem()
 * Fix a bugs in management of security database via the eficonfig command
 
 Other:
 
 * Allow sound command to play multiple sounds
 -----BEGIN PGP SIGNATURE-----
 
 iQJWBAABCABAFiEEK7wKXt3/btL6/yA+hO4vgnE3U0sFAmOh4MsiHGhlaW5yaWNo
 LnNjaHVjaGFyZHRAY2Fub25pY2FsLmNvbQAKCRCE7i+CcTdTS6WLEADGtNSMvG+x
 qNBH+2jZc8PnslzXY3FfugSpk29FOFKj4SHwt3p/Du1VPhw1KHWl5gOYTTw/GizI
 t7yfHavyttzUuHoCa2uKUTYN6RDTCHUgzpyGaXCuh89ls1xilzq3YxVcQ9RYeKM1
 lmNIC9rGmTxsWui5VgczkrBzsp8gBj2hs0C+nqJIP+JPGQT1XlA5KXmECsZn8+fi
 GRvGuuflSDzszHOdRClzrtWNt6kLTpNu8D6UormIrTGrHSdDBwO9QFXOyt9qOnA+
 /aboHSd5Oc5BApatTUtRwGoxm0Jm7hujA1EhX6wDsILE/+zMXjmsXS/mbRegYFXY
 Xzu/Wif4ARexECMe0zxHPHf+VA8QYi9QmELzic8Xen5WzHSRBVQd8BtLK/1ItYDT
 LrgPtoyY5eWd3gcjlhgimPPUEqsK45aYXftsv7NcH8K64Yj7UolJL1fcJm8tMkHt
 0ziiO4ZKZjJkJc4c4XUkWQadCnjqDciJkWfAp922PjoV2jBbf7EtNaynUnsiM/R8
 C4oZ7bD1m5gVFLvDsJ9OBy6qHdwRJTn/ETG5H8BlIJ60I9ZZxT4VoUqit+1HQjLx
 zvH98T8OM/N6d/+Q1fJvKg1QIQQxKHnExYBUBn/WxbeWupVe6K77C7TRE7HTz0tO
 A+VslTXg5i2XB1SfFrvvF7EpUtX/kqMOMQ==
 =d09r
 -----END PGP SIGNATURE-----

Merge tag 'efi-2023-01-rc5' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2023-01-rc5

UEFI:

* Improve parameter checking in efi_get_next_variable_name_mem()
* Fix a bugs in management of security database via the eficonfig command

Other:

* Allow sound command to play multiple sounds
2022-12-20 12:50:48 -05:00
Tom Rini
566bc672a7 fTPM privileged login
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEgWII69YpahbL5iK5gS8AYozs+qIFAmOhZqUACgkQgS8AYozs
 +qLoRg/+P/g+JiaJuxPTK37xR+qt+5zqBZhTwXTh72J7HO87zvjmIf5zSh6XSHFz
 c8GVNMfu9US+SwXcnivuuOWY8uJ01Nv9zGV+HkQ6o6XUsFfJRS847IiTle7PaNCF
 U5l2KX1k+RGRg2N8RHRFE5m3PU+F8ohz468kL2IMnvQCiAI30q4zYlwUTHURlM/Y
 XyH4qzs5WEDS223M1WJHy36e1FdJjpPa2GPcxZb4SZugcPXpI8Ptlf6H1iLolYmQ
 M3YpgtXxzmof95YLct9kaQX/722WCnwokB7P1H2Y7gblhkWdjytjmdexvQdt9UFk
 0tTMJZK/+P0teTOeylNhxSgMOvt4FaFRtGzGMd+8X2KuxzsGpdcVWjAKU+JVWE/g
 rL3k9G/GKYTnFQNX6YRM8nqo3kmnJHzo4lc+nDLKyc1M9m7zVPu6Nl8BebED3VMu
 N1CR2lG69VZUQfqA78NtCHNsjiHQbKiuLfzh1lfRLSEHcUE2yqmjFR0Dgw2sOjlM
 Um4ao+7Yef43DFub58Q9W5W51Kpwlg3ltGHpif3a2jCJfoAdnXoVKCN+I6/YvBUf
 8Mlwhtt0Zl8kMe321R6KPlYQRt0/b8lIr/IBWEvU0QD9rNuzOjN7WjN2qvBX6sS6
 1uh1+aYCyiiGsW9htLZRHZ0kxuntlx6QLQarHC5f5x3PbW/JnaE=
 =bvqT
 -----END PGP SIGNATURE-----

Merge tag 'tpm-20122022' of https://source.denx.de/u-boot/custodians/u-boot-tpm

fTPM privileged login
2022-12-20 12:50:24 -05:00
Masahisa Kojima
ad50ca5019 eficonfig: EFI_VARIABLE_APPEND_WRITE is not set for null key
The signed null key with authenticated header is used to clear
the PK, KEK, db and dbx. When CONFIG_EFI_MM_COMM_TEE is enabled
(StMM and OP-TEE based RPMB storage is used as the EFI variable
storage), clearing KEK, db and dbx by enrolling a signed null
key does not work as expected if EFI_VARIABLE_APPEND_WRITE
attritube is set.

This commit checks the selected file is null key, then
EFI_VARIABLE_APPEND_WRITE attibute will not be used for the null key.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-20 16:06:48 +01:00
Heinrich Schuchardt
9ba35e64fa efi_selftest: conformance test for GetNextVariableName
Test that GetNextVariableName() checks the parameters.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-20 16:06:48 +01:00
Heinrich Schuchardt
70a4ac693d efi_loader: fix efi_get_next_variable_name_mem()
The VariableNameSize parameter is in bytes but u16_strnlen() counts u16.

Fix the parameter check for null termination.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-20 16:06:48 +01:00
Masahisa Kojima
645502743a eficonfig: avoid SetVariable between GetNextVariableName calls
The current code calls efi_set_variable_int() to delete the
invalid boot option between calls to efi_get_next_variable_name_int(),
it may produce unpredictable results.

This commit moves removal of the invalid boot option outside
of the efi_get_next_variable_name_int() calls.
EFI_NOT_FOUND returned from efi_get_next_variable_name_int()
indicates we retrieved all EFI variables, it should be treated
as EFI_SUCEESS.

To address the checkpatch warning of too many leading tabs,
combine two if statement into one.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-20 16:06:48 +01:00