1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-05-08 05:09:56 +00:00
Commit Graph

1555 Commits

Author SHA1 Message Date
Anton Antonov 32e3759b0a ARM-FFA kernel drivers and kernel configs for Trusted Services
This commit includes:
- arm-ffa-tee and arm-ffa-user kernel drivers
- ARM_FFA_TRANSPORT kernel option
- Backported pacthes for kernel 5.15

Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-31 14:53:49 -04:00
Anton Antonov 85494c88f3 Recipes for Trusted Services Secure Partitions
We define dedicated recipes for all supported TS SPs.

The recipes produce stripped.elf and DTB files for SPs.
These files are automatically included into optee-os image.
See meta-arm/recipes-security/trusted-services/optee-os-ts.inc

This approach allows us to:
- include only required SPs into an optee-os image using MACHINE_FEATURES
- use Yocto cmake bbclass
- fetch and build only required dependencies
- use simple SP specific bbapend files if required

Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-31 14:53:49 -04:00
Anton Antonov 805054c292 Recipes for Trusted Services dependencies.
These recipes produce only -dev and -staticdev packages
which are used for building other TS recipes.

Nothing from these recipes is included into the final image.

Using dedicated recipes for dependencies allows us:
- fetch sources and build dependencies only once and only the required ones.
- simplify the dependencies recipes and use Yocto cmake bbclass
- troubleshoot/fix/update dependencies builds separately

Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-31 14:53:49 -04:00
Jon Mason 8854f98d3c arm-bsp/corstone1000: use compressed kernel image
To fit the kernel image into the allotted space, a compressed kernel
image is now needed.  Use the Image.gz from the kernel build process
and change the relevant places to use the new image name.  This also
necessitates adding an unzip command to u-boot to uncompress it to
memory (and the loadm is still needed to setup the efi mem boot device).
Also, the unzipped image is larger than before.  So, increase the size
that loadm is copying.

This change shrinks the kernel image size from 7.8MB to 3.2MB

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-29 10:16:19 -04:00
Anton Antonov e16378f492 arm/tf-a-tests: work around RWX permission error on segment
Binutils 2.39 now warns when a segment has RXW permissions[1]:

- aarch64-poky-linux-musl-ld: tftf.elf has a LOAD segment with RWX permissions
- NOTE: recipe tf-a-tests-2.7.0-r0: task do_compile: Failed

There is a ticket filed upstream[2], so until that is resolved we can
disable this warning.

Also let's move a similar tf-a patch from trusted-firmware-a.inc to trusted-firmware-a_2.7.0.bb
as the patch is for tf-a version 2.7.0 only

[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
[2] https://developer.trustedfirmware.org/T996

Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-29 08:55:29 -04:00
Anton Antonov 38daf1ff8c arm/optee-os: backport linker warning patches
When building for arm32 with GNU binutils 2.39, the linker outputs
warnings when generating some TEE core binaries.

 arm-poky-linux-gnueabi-ld.bfd: warning: atomic_a32.o: missing .note.GNU-stack section implies executable stack
 arm-poky-linux-gnueabi-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
NOTE: recipe optee-os-tadevkit-3.18.0-r0: task do_compile: Failed

These patches are backport from upstream [1]

There are two versions of patches: for optee-os 3.14 and 3.18 to avoid patch fuzz warnings.

[1] https://github.com/OP-TEE/optee_os/pull/5499

Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-26 06:00:09 -04:00
Anton Antonov e57163cf06 work around for too few arguments to function init_disassemble_info() error
binutils 2.39 changed the signature of init_disassemble_info(),
which now causes perf and bpftool to fail to compile.

Relevant binutils commit: [1]

There is a proper fix in development upstream[2].
This is a work-around for older kernels.

[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=60a3da00bd5407f07d64dff82a4dae98230dfaac
[2] https://patchwork.kernel.org/project/netdevbpf/cover/20220801013834.156015-1-andres@anarazel.de/

Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
2022-08-23 22:59:57 -04:00
Jon Mason 0027806b53 arm/arm-bsp: Add yocto-kernel-cache bluetooth support
Add yocto kernel cache bluetooth entries for platforms that have that
machine feature enabled.  This is necessary, as kernel warnings about it
not being enabled are now occurring.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-23 15:26:18 -04:00
Anton Antonov ac4259011f arm/optee-os: backport RWX permission error patch
Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-22 13:00:08 -04:00
Ross Burton 977c5222d8 arm/trusted-firmware-a: work around RWX permission error on segment
Binutils 2.39 now warns when a segment has RXW permissions[1]:

  aarch64-none-elf-ld.bfd: warning: bl31.elf has a LOAD segment with RWX permissions

However, TF-A passes --fatal-warnings to LD, so this is a build failure.

There is a ticket filed upstream[2], so until that is resolved we can
disable this warning.

[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
[2] https://developer.trustedfirmware.org/T996

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-22 13:00:08 -04:00
Ross Burton 6ebafcc6d8 arm/trusted-firmware-a: remove redundant patches
These were integrated into the 2.7.0 release, but were not removed when
the recipe was upgraded.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-22 13:00:08 -04:00
Jon Mason 53870ee43e arm-bsp/fvp-base: set preferred kernel to 5.15
SSH tests are failing on the 5.19 kernel.  Temporarily set the kernel to
5.15 while debugging the issue.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-19 14:15:13 -04:00
Vishnu Banavath f85bec2a19 arm/optee: update optee-client to v3.18
This change is to update optee-client to v3.18

Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-19 09:29:46 -04:00
Vishnu Banavath 5496260af7 arm-bsp/optee: add optee-os support for N1SDP target
These changes are to add support to build optee-os for N1SDP target.

Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-16 10:00:08 -04:00
Vishnu Banavath 1badf7877f arm-bsp/trusted-firmware-a: Bump TF-A version for N1SDP
This change is to bump the TF-A hash which has changes required
for optee-os to boot. Also, drop patch related to bl size as the
changes are already merged to upstream TF-A.

Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-16 10:00:08 -04:00
Jon Mason ba502ba11e arm/optee: Update to 3.18
Update all of the 3.17 recipes to 3.18 and remove the already upstreamed
patch.  optee-os was already at 3.18.  So, we only need to remove the
3.17 recipe.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-15 18:00:09 -04:00
Jon Mason 8058beeec1 atp/atp: drop package inherits
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-15 18:00:09 -04:00
Jon Mason 98c515f42e arm/fvp: use image-artifact-names as an image class
Per upstream commit, image-artifact-names must be used as an image
class

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-15 18:00:09 -04:00
Richard Purdie 2327cb3033 gem5/gem5-m5ops: Drop uneeded package inherit
package is always inheritted by the base classes so the recipe does not
need to do this. This became an error with recent bitbake changes, fix
things by removing it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-15 14:26:21 -04:00
Khem Raj 74cab68b96 optee-os: Add section attribute parameters when clang is used
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-15 14:26:05 -04:00
Khem Raj ee73c352cc gator-daemon: Define _GNU_SOURCE feature test macro
Needed for getting vasprintf API from libc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-15 11:39:07 -04:00
Jon Mason 257c69f11f arm/qemuarm-secureboot: remove vmalloc from QB_KERNEL_CMDLINE_APPEND
The newly added vmalloc entry in qemuarm is causing issues with graphics
on qemuarm-secureboot.  Remove that by setting +QB_KERNEL_CMDLINE_APPEND
to empty.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-12 09:25:08 -04:00
Jon Mason 038ca93bed arm-bsp/juno: drop scmi patch
SCMI support was added to the latest kernel (kernel commit
96bb0954860a4c8b8c77d59fc53cd4cafac914f5).  So, remove this patch, as it
is no longer necessary

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-12 09:25:08 -04:00
Jon Mason 769a09da7c arm/linux-yocto: remove optee num pages kernel config variable
This kernel config variable has been removed from newer kernels (v5.19)
and is logging a warning of:
[INFO]: the following symbols were not found in the active configuration:
     - CONFIG_OPTEE_SHM_NUM_PRIV_PAGES

Remove the entry, as it is no longer needed

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-11 10:00:09 -04:00
Jon Mason 2a92d6294d arm/qemuarm64-secureboot: remove tfa memory patch
The TF-A memory patch was upstreamed and is not needed for newer kernels
(like v5.19)

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-11 10:00:09 -04:00
Jon Mason 7617120602 arm-bsp/fvp-base-arm32: Update kernel patch for v5.19
In newer kernels, vexpress has been rolled under the versatile umbrella.
Update the patch to refer to the new location

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-11 10:00:09 -04:00
Rui Miguel Silva dfe6d2f1eb arm-bsp/corstone1000: rebase u-boot patches on top v2022.07
Rebase the u-boot patches on top of current u-boot supported
version in poky, needed some adjustments at efi loader.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-09 15:00:08 -04:00
Rui Miguel Silva df1461b7d5 arm-bsp:corstone500: rebase u-boot patches on v2022.07
Rebase corstone500 on top of v2022.07, since the version is
the one used upstream.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
2022-08-09 09:32:25 -04:00
Peter Hoyes f83aad2ba9 docs: Introduce meta-arm OEQA documentation
Add documentation for how to use the OEQA framework to test targets in
meta-arm. Include instructions on using OEFVPTarget as well as the
OEFVPSerialTarget introduced by the recent refactor of runfvp.

Issue-Id: SCM-4954
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I146ec1c82214471fe9d18a999fd92efb38f652f9
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-05 11:00:12 -04:00
Peter Hoyes 74a36b024f docs: Update FVP_CONSOLES in runfvp documentation
The runfvp refactor to enable OEFVPSerialTarget created FVP_CONSOLES
which maps the names used for serial ports in test cases to the names
used for serial ports in the FVP stdout.

Refactor the FVP_CONSOLE section -> FVP_CONSOLES, noting the the
'default' console is still used for the --console runfvp flag.

Issue-Id: SCM-4954
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: Ieb13d74cfd425900f44b4b2e6d125393e7b456ad
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-05 11:00:12 -04:00
Gowtham Suresh Kumar 44c58b3e55 arm-bsp/u-boot: drop EFI GetVariable() workarounds patches
The dropped u-boot patches are not required as the bug is
from the SMM Gateway SP. A patch for the secure partitions
has been added to fix the SMM Gateway behaviour. Patch
0048-Fix-UEFI-get_variable-with-small-buffer.patch has been
added in commit "arm-bsp/secure-partitions: fix SMM gateway
bug for EFI GetVariable()".

Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-05 11:00:08 -04:00
Gowtham Suresh Kumar 268f98c128 arm-bsp/secure-partitions: fix SMM gateway bug for EFI GetVariable()
The efiGetVariable() function when called from uboot with data size
set to 0 should return only the data size and not the actual data in
the end of the buffer based on the EFI 2.9 spec. This patch fixes
the bug.

Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-05 11:00:08 -04:00
Peter Hoyes 20a629180c runfvp: Stop the FVP when telnet shuts down cleanly
At the moment, when using the --console flag, if telnet is shut down
cleanly (i.e. by typing "quit" at the prompt instead of Ctrl+C), runfvp
still waits on the FVP to exit of its own accord, so hangs.

Move the fvp.run() call so that when telnet quits, it immediately
proceeds to shut down the FVP.

Issue-Id: SCM-4954
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I2169c99586a1eebc2c6ab4b2e15fb0c769fc81a8
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-03 09:34:16 -04:00
Changqing Li 80d60e7b1c optee-os.inc: support multilib
Run command: bitbake optee-os && bitbake lib32-optee-os
bitbake lib32-optee-os will fail with following error since
bitbake optee-os already deploy same file under the path.
RROR: lib32-optee-os-3.12.0+gitAUTOINC+3d47a131bc-r0 do_deploy: The recipe lib32-optee-os is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
  /build/tmp-glibc/deploy/images/qemuarm64/optee/tee.elf
    (matched in manifest-qemuarm64-optee-os.deploy)

Fix by deploy them to differernt dir

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-02 03:00:18 -04:00
Jon Mason 10034c0b88 arm-bsp/corestone1000: update trusted-service patches for devtool
Current secure-partitions patches do not apply cleanly with devtool.
Update them with the necessary changes to address this issue, and
regenerate them via devtool.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-01 11:00:08 -04:00
Qi Feng bac180f7a8 arm-bsp/fvp-baser-aemv8r64: Rebase u-boot patches onto v2022.07
- 0001-vexpress64-Add-BASER_FVP-vexpress-board-variant.patch

  Change to 0002-vexpress64-add-MPU-memory-map-for-the-BASER_FVP.patch.
  Only MPU memory map is preserved, other parts have been upstreamed.

- 0007-vexpress64-Configure-memory-using-device-tree.patch

  Deleted. Upstreamed in commit 1a1143a45457161e90ea4cd5f3b0561d924ed8fe

Signed-off-by: Qi Feng <qi.feng@arm.com>
Issue-Id: SCM-5030
Change-Id: I4aab3bab545e64e3a4a3a3fd67bcef79acdc41be
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-08-01 05:00:08 -04:00
Khem Raj 31452ae4cf optee-test: Use system openssl on musl
bundled libcrypto.a in optee-test sources is built using glibc based
toolchain and expects foritied _chk version of the libc functions e.g. __sprintf_chk
which wont work for musl. Therefore rely on freshly built openssl by OE
instead

Fixes errors like

arm-yoe-linux-musleabi/gcc/arm-yoe-linux-musleabi/12.1.0/ld: ../openssl/lib/arm/libcrypto.a(dso_dlfcn.o): in function `dlfcn_name_converter':
dso_dlfcn.c:(.text+0x19e): undefined reference to `__sprintf_chk'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-30 13:00:08 -04:00
Vishnu Banavath 1a14fe181d arm/optee: support optee-os v3.18.0
This change is to add yocot recipe to support optee-os
3.18.0 version.
Also, move the SRC_URI:append and DEPENDS to optee-os.inc
as these are common accross different optee versions.

Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-29 13:49:58 -04:00
Ross Burton 1eb9cd9416 arm/fvp: upgrade FVPs
Upgrade the FVPs to the latest releases, and do some cleanups for future
changes.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-29 13:49:58 -04:00
Jon Mason 6e4522e1c6 CI: remove zephyr specific testimage hacks
meta-zephyr recently was fixed to allow for autotest.  Remove all the
zephyr testing hacks and use that.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-27 13:00:08 -04:00
Peter Hoyes ef879b5fb8 arm/oeqa: Fix regex warning in linuxboot test case
The linuxboot test case prints the following in log.do_testimage, only
when executing testimage without a pycache:

  linuxboot.py:18: DeprecationWarning: invalid escape sequence \:
    self.target.expect(self.console, "login\:", timeout=10*60)

Fix the warning by escaping the ':' character correctly in the pexpect
regex.

Issue-Id: SCM-4957
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I8ad54c7df6b7d1d1ddeab31cf66daff1ab84e227
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-26 12:55:26 -04:00
Adam Johnston d11e253b11 arm-bsp/sdcard-image-n1sdp: Fix N1SDP dependencies
When enabling trusted boot, the UEFI binary was replaced with a FIP image (which
contains the UEFI binary), therefore the SD card image should depend on
trusted-firmware-a rather than edk2-firmware.

Signed-off-by: Adam Johnston <adam.johnston@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-26 11:08:08 -04:00
Jon Mason 0f831768d5 Revert "CI: add workaround for zephyr"
This reverts commit 0cdcb8eed4.
2022-07-26 10:54:36 -04:00
Jon Mason 64ddea9442 arm-bsp: add u-boot v2022.04 support
Upstream has updated u-boot to v2022.07, but the update is causing
problems with some machines.  Temporarily add a v2022.04 recipe until
the issues can be resolved.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-25 19:26:51 -04:00
Jon Mason 1590c21805 ci: do sato by default
Change to use sato by default.  Unfortunately, there are some bugs found
by this change.  For those systems, change it back to base until the
issues can be resolved.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-22 13:00:07 -04:00
Jon Mason da044c88cd CI: use uboot instead of none for juno
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-22 13:00:07 -04:00
Jon Mason 2ae5842553 ci/qemu-cortex-m3: remove common test
The common test has a timing issue, causing it to intermittently fail.
Since it is not unique to our environment, remove it to prevent false
positive regressions.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-22 13:00:07 -04:00
Ross Burton d9d1399b37 arm/trusted-services: ignore buildpath warnings
Latest oe-core has enabled the buildpaths QA check, which warns if the
build paths are present inside binaries. This is because build paths in
deployed binaries is both information leakage and non-reproducible.

Until this is fixed, skip this check.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-19 17:00:18 -04:00
Ross Burton eac1792393 arm/trusted-firmware-m: ignore buildpath warnings
Latest oe-core has enabled the buildpaths QA check, which warns if the
build paths are present inside binaries. This is because build paths in
deployed binaries is both information leakage and non-reproducible.

Until this is fixed, skip this check.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-19 17:00:18 -04:00
Ross Burton ee0a824a87 arm/trusted-firmware-a: ignore buildpath warnings
Latest oe-core has enabled the buildpaths QA check, which warns if the
build paths are present inside binaries. This is because build paths in
deployed binaries is both information leakage and non-reproducible.

Until this is fixed, skip this check.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-07-19 17:00:18 -04:00