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

1795 Commits

Author SHA1 Message Date
Anton Antonov f513237500 Temporary use qemu 7.0.0 for TS CI pipelines
Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-26 11:12:38 -04:00
Emekcan 4a190f18de arm-bsp/images: Adding external system test to initramfs image
Adds the external system test application and the relevant
recipe into the corstone1000 initramfs image.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-26 11:12:38 -04:00
Emekcan 037011da64 arm-bsp/test: Adding a test app for external system
Adds a linux userspace test application and a recipe
to build it to test external system in corstone1000
platform.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-26 11:12:38 -04:00
Jon Mason 4c3a7eec7e arm-bsp/tc: remove hafnium clang patch
The newly added clang patch does not apply cleanly to the tc version of
hafnium.  Since there are no plans to use clang on tc, remove it for
this platform.

Also, use devtool to clean-up the clang patch in question.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-25 13:54:21 -04:00
Khem Raj 04b78e80b0 hafnium: Add a fix for clang-15 errors
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-23 00:00:07 -04:00
Khem Raj 75ccc7847d linux-yocto: Add bbappend for 5.19
Enable tee and arm-ffa driver on qemuarm/qemuarm64 by default

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-22 23:39:36 -04:00
Emekcan be8890bb03 arm-bsp/kernel: Add rpmsg_arm_mailbox to corstone1000
Adds out-of-tree rpmsg_arm_mailbox driver patches into linux
kernel to communicate with external system using MHUs in
corstone1000 platform. The host can communicate with external
system using the driver under /dev/rpmsg0_ctrl0.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-22 23:39:36 -04:00
Emekcan b573b29b76 arm-bsp/u-boot: Add external system MHUs to u-boot device tree
The host uses MHUs to send/receive data from the external system
in corstone1000. This commit adds MHU mailbox bindings into the
u-boot device tree to enable data communication between the host
and external system.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-22 23:39:36 -04:00
Jon Mason 9f532a8cbd arm/edk2-firmware: Work around clang issue
A new update to clang is causing warnings (which are errors because edk2
was Werror by default).  The error is:
clang-15: error: '-x c' after last input file has no effect [-Werror,-Wunused-command-line-argument]

Work around it by disabling this specific error.  Also, use devtool to
update the patch.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-22 23:39:36 -04:00
Jon Mason cf5bccb0d6 arm-bsp/n1sdp: update linux-yocto patches
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-22 23:39:36 -04:00
Khem Raj a0658a6682 ffa-debugfs-mod: Exclude from world builds
It installs arm_ffa_user.h and so does arm-ffa-user recipe, lets not
build ffa-debugfs-mod in world builds since it does not appear as much
in other package dependencies as arm-ffa-user

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-22 23:39:36 -04:00
Khem Raj 2c2ed8f727 trusted-services: Pin to use gcc
These recipes are not buildable with clang in its current state

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-21 21:00:10 -04:00
Khem Raj 7d8b252405 optee-os: Extend clang pragma fixes to core_mmu_v7.c for 3.18
3.18 builds are failing since the section stuff is also done in
core_mmu_v7.c therefore extend the patch to include this file as well

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-21 21:00:10 -04:00
Jon Mason c6bf835cef arm/hafnium: update to 2.7
Update the version, update the patches, and drop the ones no longer
necessary.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-21 09:48:56 -04:00
Jon Mason abc8b4fe16 arm/optee-client: move the 3.14 recipe to meta-arm-bsp
Only corstone1000 is using the legacy version of optee-client.  Move it
there to keep corstone1000 working, while removing it from meta-arm to
discourage use of the non-latest version.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-21 09:00:08 -04:00
Jon Mason 606e7d4c4e arm/optee: remove old versions
Remove versions not being used anymore and update patches as necessary

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-21 09:00:08 -04:00
Jon Mason dfd03ca1a3 arm/qemuarm-secureboot: remove optee-os version pin
The CPU issue that pinned qemuarm-secureboot is no longer present.
Remove the logic in the conf file that held it back to the older
version.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-21 09:00:08 -04:00
Jon Mason a3f22f90bb arm/optee-os: add ARMv7 changes to clang patch and update patches
ARMv7 does not have fixes for the clang issues already fixed for ARMv8.
Make the necessary changes in that patch for it to work.  Also, update
the patches (via devtool).

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-21 09:00:08 -04:00
Andrei Gherzan fde0575aea edk2-firmware: Fix configure sed typo
The configure sed operation will not behave as expected because '*'
match misses a preceeding '.'.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-20 10:39:04 -04:00
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