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

2126 Commits

Author SHA1 Message Date
Davidson K a9a53e258a arm-bsp/tc: upgrade version of optee
Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
Change-Id: Iacd32d18d5d2804e4050e4d1f8075efe0dd545fe
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-19 14:50:46 -04:00
Davidson K 3b48207cc7 arm-bsp/tc: upgrade version of hafnium
Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
Change-Id: I7ccc2ab23955291bcf7d87384ba1ac94c1568443
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-19 14:50:46 -04:00
Davidson K 18e68367e0 arm-bsp/tc: upgrade version of trusted-firmware-a
Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
Change-Id: I2100b5f0f7af23f59611f4e591efb09d3bcd6942
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-19 14:50:46 -04:00
Emekcan b086301d46 arm-bsp/kernel: Add external device driver
Adds external system device driver into linux.
User applications can control the external system
using the driver under /dev/extsys_ctrl in
corstone1000 platform.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-13 20:52:57 -04:00
Emekcan 1182b0d2ea arm-bsp/u-boot: Add external system driver to u-boot device tree
Corstone1000 needs a kernel driver to control the
external system (turn on/off, reset). This commit
adds the external system driver binding to the
u-boot device tree for corstone1000.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-13 20:52:57 -04:00
Peter Hoyes 820a55d348 arm/lib: Specify the FVP environment variables explicitly
It is sometimes useful to be able to configure the behavior of FVPs
using environment variables, e.g. for licensing or plugins.

Add a new FVP option: FVP_ENV_PASSTHROUGH, which allows the Bitbake
variables to be passed to the environment to be specified explicitly (in
a similar way to BB_ENV_PASSTHROUGH). This ensures that:

 * FVPs launched via runfvp have a reproducable environment
 * FVPs launched via testimage (which run from an isolated Bitbake task)
   can receive environment variables

Change the self-tests to use cwd instead of PATH to find the mock FVPs,
as the PATH environment variable is no longer passed through.

Issue-Id: SCM-4964
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: Idf6ac6d41fda4cd5f950bc383c2fc1fa1acdf4e3
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-13 20:52:57 -04:00
Joe Slater 7c3e597b4c arm/packagegroup-ts-tests: fix parse error
PACKAGE_ARCH must be set before inheriting packagegroup.

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-13 20:52:57 -04:00
Denys Dmytriyenko 261263a670 arm-toolchain/gcc,external-arm-toolchain: resolve conflict with gcc headers
Historically external-arm-toolchain recipe packaged all gcc headers from
${libdir}/gcc/${TARGET_SYS}/${BINV}/include - some would be picked up by
packages like gcc-sanitizers, libssp-dev. libquadmath-dev or libgomp-dev.
The rest would fall into catch-all libgcc-dev package.

Unfortunately, that could result in a conflict with a target gcc, which
also packages some of those files, like unwind.h or stddef.h, among others.

The conflict could be seen with this config:

EXTRA_IMAGE_FEATURES += "dev-pkgs tools-sdk"
TCMODE = "external-arm"
EXTERNAL_TOOLCHAIN = "/OE/toolchains/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu"

And the error message is:

Error: Transaction test error:
  file /usr/lib/gcc/aarch64-poky-linux/11.2.1/include/stddef.h conflicts between attempted installs of libgcc-s-dev-11.2.1-r0.1.cortexa57 and gcc-arm+11.2-r2022.02.1.cortexa57
  file /usr/lib/gcc/aarch64-poky-linux/11.2.1/include/unwind.h conflicts between attempted installs of libgcc-s-dev-11.2.1-r0.1.cortexa57 and gcc-arm+11.2-r2022.02.1.cortexa57

Modify external-arm-toolchain recipe according to how libgcc in OE-Core
handles those header files by removing and not packaging them:

https://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/gcc/libgcc-common.inc#n40

Also need to adjust gcc recipe to pick up unwind.h from EXTERNAL_TOOLCHAIN
location now, since libgcc-dev no longer carries it, and install it into
STAGING_LIBDIR_NATIVE, where OE-Core gcc-target.inc expects it from
gcc-cross:

https://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/gcc/gcc-target.inc#n164

Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-10 12:48:13 -04:00
Mohamed Omar Asaker 23266ea6fb arm-bsp/n1sdp-board-firmware: upgrade to N1SDP-2022.06.22
Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-10 12:48:13 -04:00
Vishnu Banavath 7a13b2e3f9 arm-bsp/external-system:corstone1000: build and install external-system
This change is to enable build and installing external-system firmware
for corstone1000 platform.

Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-09 15:54:01 -04:00
Jon Mason 9ce6539660 arm/optee-spdevkit: add version to file name
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-08 16:00:09 -04:00
Jon Mason 503bfcdc36 arm-bsp/optee: rename corstone1000 files
The corstone1000 optee files have an underbar when it should have a
hyphen in the naming scheme.  Change this to match other files.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-08 16:00:09 -04:00
Jon Mason 9418819358 arm-bsp/optee-os: add 3.10 recipe for corstone1000
A optee-os v3.10 recipe is necessary for corstone100, as it is actually
using 3.10 SHA and then trying to apply patches for 3.14 (which is
causing fuzz errors).  Create this and use it to avoid these issues.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-08 16:00:09 -04:00
Vishnu Banavath c27462f2ae arm-bsp/ffa-debugfs: update git SHA for v2.1.0
git sha on
https://git.gitlab.arm.com/linux-arm/linux-trusted-services/-/tree/v2.1.0
has been changed recently for v2.1.0 tag. This change is to update
ffa-debugfs-mod_2.1.0.bb to fetch correct git SHA.

Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
2022-09-07 09:22:46 +01:00
Rui Miguel Silva c039d1601f arm-bsp: trusted-services: fix openamp build
With the latest gcc, there were some unresolved symbols on
opemamp linkage, add the implementation of that symbol for the
outline of atomics.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-06 13:00:10 -04:00
Ross Burton 1f7e8b6de9 gem5/linux-yocto: upgrade to 5.4.205 and fix buildpaths in binaries
Upgrade to the latest 5.4 release (.205), and backport two patches to
fix buildpath errors:

File /usr/src/debug/linux-yocto/5.4.205+gitAUTOINC+e8c675c7e1_8a59dfded8-r0/lib/oid_registry_data.c in package linux-yocto-src contains reference to TMPDIR
File /usr/src/debug/linux-yocto/5.4.205+gitAUTOINC+e8c675c7e1_8a59dfded8-r0/drivers/tty/vt/consolemap_deftbl.c in package linux-yocto-src contains reference to TMPDIR [buildpaths]

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-06 12:00:08 -04:00
Peter Hoyes 52f07a4b0b arm/oeqa: Make linuxboot test case timeout configurable
In complex stacks, e.g. with many cores or many init scripts, the time
to Linux shell may be more than 10 minutes. Make the boot timeout
configurable using TEST_FVP_LINUX_BOOT_TIMEOUT, leaving the default
value at 10 minutes.

Issue-Id: SCM-4958
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: Ie074acd4b4509d0230d1f77a2a527d497bb295ce
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-01 06:00:07 -04:00
Anton Antonov a19249a385 Define qemuarm64-secureboot-ts CI pipeline and include it into meta-arm
qemuarm64-secureboot-ts pipeline is based on qemuarm64-secureboot machine
and additionaly includes:
- TS Crypto, Storage, ITS, Attestation and SMM-Gateway SPs into optee-os image
- TS demo/test tools
- TS psa-arch-tests

This commit also includes Trusted Services OEQA tests

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 63b960c7c8 Include Trusted Services SPs into optee-os image
Required TS SPs can be included into optee-os image using MACHINE_FEATURES:

ts-its         - Internal Storage SP
ts-storage     - Storage SP
ts-crypto      - Crypto SP
ts-attestetion - Attestation SP
ts-se-proxy    - SE Proxy SP
ts-smm-gateway - SMM Gateway SP

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 3076df522a psa-api-tests for Trusted Services
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 441d6f4c3f Trusted Services test/demo NWd tools
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 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