Update to the latest release of tbtools.
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This allows us to build libspdm with support for `spdm-context` in the
HAL functions. This is required by `spdm-utils`, this macro will be
dissolved in libspdm 4.x, with this feature being defaulted on.
Signed-off-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
[Julien: rebased on libspdm 3.5.0 recipe]
Signed-off-by: Julien Olivain <ju.o@free.fr>
Commit 967ba5386 "package/libspdm: bump version to 3.5.0" [1]
incorrectly removed the "0" to the LIBSPDM_ENABLE_CAPABILITY_MEL_CAP
macro definition.
This results to libspdm build failure with errors like:
In file included from /build/libspdm-3.5.0/include/internal/libspdm_common_lib.h:20,
from /build/libspdm-3.5.0/library/spdm_common_lib/libspdm_com_context_data.c:7:
/build/libspdm-3.5.0/include/hal/library/responder/measlib.h:154:38: error: #if with no expression
154 | #if LIBSPDM_ENABLE_CAPABILITY_MEL_CAP
| ^
This commit fixes the issue by adding back this missing "0".
Fixes:
https://autobuild.buildroot.org/results/88cb77a2e6b46028f9fb7f0325348a1b1b8fd931
[1] 967ba5386d
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
When building the rock5b with BR2_PER_PACKAGE_DIRECTORIES enabled, the
following error occurs from U-Boot.
tools/mkeficapsule.c:19:10: fatal error: uuid/uuid.h: No such file or
directory
19 | #include <uuid/uuid.h>
| ^~~~~~~~~~~~~
Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Julien Olivain <ju.o@free.fr>
As we have many python packages using the poetry(poetry-core) build
system we should add a setup type for it so that we don't have to
manually specify the host-python-poetry-core dependency.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The EDK2 bump to stable202405 introduced an incompatibility with the
Qemu version 5.2.0 present in the reference Docker image. For that
reason, this test was disabled.
This commit enables host-qemu in the build, to be used by the runtime
test infrastructure.
Since this commit switch to a more recent host-qemu, it also removes
firmware options to workaround old qemu bugs.
Those changes are fixing this test, which is why this commit re-enables
it by removing the skipTest() invocation.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
The EDK2 bump to stable202405 introduced an incompatibility with the
Qemu version 5.2.0 present in the reference Docker image. For that
reason, this test was disabled.
This commit updates ATF to 2.11, and enables host-qemu in the build,
to be used by the runtime test infrastructure.
Those changes are fixing this test, which is why this commit re-enables
it by removing the skipTest() invocation.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
The EDK2 bump to stable202405 introduced an incompatibility with the
Qemu version 5.2.0 present in the reference Docker image. For that
reason, this test was disabled.
This commit updates ATF to 2.11 and kernel to 6.6.58, and enables
host-qemu in the build, to be used by the runtime test infrastructure.
Those changes are fixing this test, which is why this commit re-enables
it by removing the skipTest() invocation.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
The relevant qemu emulator is started with pexpect.spawn() with a
default environment (and PATH). This will always use the qemu available
on the host. When running in the reference Docker image, it is using an
old Qemu v5.2.0. This version is getting too old to run with more
recent components, like EDK2 or ATF.
The main reason to use a qemu version preinstalled in the Docker image
was to save some build time. Also, this behavior is opposite to the
"start-qemu.sh" helper script [1], which tries to execute the
Buildroot host-qemu first (and then fallback the the version on the
host system, if available). An option was added in [2] to let the user
have a better control on which version is used.
Also, updating the Buildroot reference Docker image has a larger
impact on the whole project (i.e. updating the image would bring
a newer qemu version, but might break many other things, at a time
which is not always convenient).
We now need some kind of control in runtime tests, to choose between a
"stock" qemu, and a more recent version with all the bells and
whistles.
This commit adds the Buildroot host build directory in the path. This
will make the runtime test infrastructure to use a host-qemu, if
selected by a runtime test configuration.
For now, most of the test can continue to use the qemu version provided
in the Docker image. Only the problematic tests relying on a recent
version will select BR2_PACKAGE_HOST_QEMU=y. The host-qemu package is
usually maintained to a recent version, so this should be sufficient.
[1] https://gitlab.com/buildroot.org/buildroot/-/blob/master/board/qemu/start-qemu.sh.in
[2] 5de78f181a
Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
The SBSA Reference Platform was updated to neoverse-n1 (armv8.2a) in
Qemu v8.1 [1].
BR2_cortex_a57:
# cat /proc/cpuinfo
processor : 0
BogoMIPS : 2000.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 0
[...]
BR2_neoverse_n1:
# cat /proc/cpuinfo
processor : 0
BogoMIPS : 2000.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x4
CPU part : 0xd0c
CPU revision : 1
[...]
Tests test_fwts.py test_edk2.py using
BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA=y are not updated to neoverse-n1 by
this commit. Those tests were disabled in a previous commit. Those
tests will be updated and fixed in followup commits.
Note: SBSA Reference Platform was recently updated again to neoverse-n2
(armv9.0a) in Qemu v9.1 [2]. But there is no armv9.0a support yet in
Buildroot.
[1] 1877272bad
[2] b1d592e7b0
Signed-off-by: Romain Naour <romain.naour@smile.fr>
[Julien: add a small comment in commit log about tests]
Signed-off-by: Julien Olivain <ju.o@free.fr>
Release notes:
https://github.com/tianocore/edk2/releases/tag/edk2-stable202405
We can't bump to edk2-stable202408 yet due to a runtime issue while
testing qemu_aarch64_sbsa_defconfig following the switch generic
ArmPsciResetSystemLib [1]
ERROR: sbsa_sip_smc_handler: unhandled SMC (0xc20000ca) (function id: 202)
Qemu 9.0/9.1 is using a slightly older edk2 firmware based on
edk2-stable202405 release [2] that contains a commit [3] fixing a
bootloader crash produced with qemu_aarch64_sbsa_defconfig [4] since
Qemu 9.0.
From [5]:
"The version of the sbsa-ref EDK2 firmware we used to use in this test
had a bug where it might make an unaligned access to the framebuffer,
which causes a guest crash on newer versions of QEMU where we enforce
the architectural requirement that unaligned accesses to Device memory
should take an exception."
This commit [5] is backported to edk2-stable202405.
For the same reason, we have to update edk2-platforms to a specific
version [6]:
"QemuSbsa: enable WriteCombine for the FrameBuffer
QEMU no longer permits misaligned access to device memory, which breaks
QemuVideoDxe on SbsaQemu.
c1d1910be6e04a8b1a73090cf2881fb698947a6e commit in EDK2 fixed it by
enabling WriteCombine for Framebuffer memory. This change enables that
fix."
As a side note, the edk2-non-osi package does not need to be updated, so
it is left untouched.
Finally, this EDK2 version requires a recent Qemu version. The version
included in the reference Docker image (5.2.0) is too old and will not
allow to start this EDK2 version. Therefore, this bump is known to be
incompatible with runtime tests which are using EDK2 on Aarch64
architecture. At the authoring time of this commit, broken tests are:
- tests.boot.test_edk2
- tests.boot.test_grub.TestGrubAArch64EFI
- tests.package.test_fwts
Note that the EDK2/Qemu incompatibility is only affecting Aarch64
tests. Other tests using EDK2 on i386 or x86_64 are not affected.
To prevent this commit introducing broken runtime tests, those have
been disabled in a previous commit.
[1] 2d0668d399
[2] 24a7cd6a7c
[3] c1d1910be6
[4] https://gitlab.com/buildroot.org/buildroot/-/jobs/7764483764
[5] 6c84daac58
[6] 3f08401365
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/7764483764
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Waldemar Brodkorb <wbx@openadk.org>
[Julien: add comments in commit log]
Signed-off-by: Julien Olivain <ju.o@free.fr>
EDK2 version edk2-stable202405 (not yet in Buildroot) has dependencies
on specific Qemu version.
Buildroot guidelines also recommend that "each patch must be complete".
See: [1]. This means, a patch in a series is not allowed to break
something knowingly, even in the same patch series. This rule is
mainly for using git bisect.
We also want to avoid bumping EDK2, update the runtime test infra,
and few tests in a big single commit, for readability. This would mix
too many changes in the same commit.
As a trade off, this commit disables the runtime tests which are known
to be broken by the upcoming edk2 update. Then, those tests will be
individually fixed and re-enabled in followup commits.
This EDK2/Qemu incompatibility only affects runtime tests using EDK2
on the Arm Aarch64 architecture. This commit disable the runtime
tests by adding a "skipTest()" call in:
- tests.boot.test_edk2
- tests.boot.test_grub.TestGrubAArch64EFI
- tests.package.test_fwts
[1] https://buildroot.org/downloads/manual/manual.html#submitting-patches
Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
qemu_aarch64_sbsa_defconfig doesn't boot since the qemu version bump to
9.0 [1]. Sync the ATF version with the one (v2.11) used by Qemu tests
[2].
Since we use a released version of ATF, we switch to ATF custom version
to use the official ATF repository instead of the read-only mirror on
ARM-software's github.
This doesn't fix yet this defconfig due to a bug in edk2 as mentioned
in the qemu commit log [2].
With the edk2 version bump applied, this defconfig doesn't boot with
ATF v2.10-lts but boot successfully with ATF v2.11.
[1] 103a55028c
[2] 24a7cd6a7c
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Add -fPIC to cflags which is now required to build python-sdbus.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Drop no longer required python-typing-extensions runtime dependency.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Migrate from pep517 to hatch setup type.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>