1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-01-11 15:00:39 +00:00
Commit Graph

2757 Commits

Author SHA1 Message Date
Hugues KAMBA MPIANA
0faf5c4d37 arm-bsp/optee-os:corstone1000: Add Cortex-A320 support
Update the OP-TEE OS build logic to detect `MACHINE_FEATURES` and
append the appropriate `arm64-platform-cpuarch` value to
`EXTRA_OEMAKE`, instead of hard-coding `cortex-a35`.

This change ensures that when `MACHINE_FEATURES` includes
`cortexa320`, the OP-TEE build receives the matching `core-arch` flag,
while maintaining `cortex-a35` as the default.

The new Corstone-1000 variant with Cortex-A320 replaces the original
GIC-400 (v2) interrupt controller with a GIC-600, which is
architecturally compliant with GICv3. Since OP-TEE already provides
a generic GICv3 driver, only minimal platform changes are needed
to expose the updated register map and initialize the GICv3 interface.

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-08 09:29:46 -05:00
Hugues KAMBA MPIANA
b6b1a81f5e machine/corstone1000: Add Cortex‑A320 support
Enable the Corstone‑1000 Cortex‑A320 variant by:

- Introduce `machine/include/corstone1000-a320.inc` to configure the
  default Ethos‑U MAC count when `cortexa320` is in MACHINE_FEATURES,
  and allow override via `ETHOSU_NUM_MACS`.
- Add a KAS profile at `kas/corstone1000-a320.yml` for Cortex‑A320
  FVP-based builds.
- Extend corstone1000.inc to detect MACHINE_FEATURES (cortexa320) and
  pull in the matching tune-<core>.inc (default still Cortex-A35).
- Add the `meta-ethos` layer as a dependency of `meta-arm-bsp` for
  Cortex‑A320 builds and define a new KMachine override to pull in
  the Ethos‑U driver recipe.
- In `conf/machine/corstone1000-fvp.conf`, inspect `MACHINE_FEATURES`
  and set `FVP_EXE` to `FVP_Corstone-1000_with_Cortex-A320` when
  `cortexa320` is enabled, otherwise fall back to `FVP_Corstone-1000`.
- In `recipes-devtools/fvp/fvp-corstone1000.bb`, add a
  `SRC_URI:cortexa320` entry (with checksums) for the Cortex‑A320 FVP
  build archive.
- Disable the rootfs CPIO file compression so it is not compressed
  twice when bundled with the kernel

Signed-off-by: Michael Safwat <michael.safwat@arm.com>
Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-08 09:29:46 -05:00
Clement Faure
108053c964 arm/classes: add apply_local_src_patches task
When a recipe uses the externalsrc class, the do_patch task is
skipped entirely as specified in SRCTREECOVEREDTASKS.
Since do_apply_local_src_patches function is registered as a postfuncs,
it would never run in that specific case.

This cause recipes relying on do_apply_local_src_patches to miss the
local source patching when built from external source tree.

To address the issue, schedule a new task after the do_patch and before
the do_configure, ensuring the local patching executes regardless of
whether do_patch was skipped by externalsrc.

Signed-off-by: Clement Faure <clement.faure@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-12-01 04:00:05 -05:00
Ross Burton
aff67cb5d7 arm/trusted-firmware-m: consolidate setting t_cose location
Whilst TF-M 2.1.1 doesn't use this, setting the variable doesn't have
any negative effects and consolidates the external module assignments.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-19 13:00:03 -05:00
Ross Burton
909d68f077 arm-bsp/trusted-firmware-m: use UNPACKDIR instead of S/../
This is slightly clearer.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-19 13:00:03 -05:00
Ross Burton
641c166389 arm/trusted-firmware-m: use UNPACKDIR instead of S/../
This is slightly clearer.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-19 13:00:03 -05:00
Ross Burton
d6a9cfafb8 arm/trusted-firmware-m: remove now obsolete assignments
We now use Ninja to build TF-M[1], so setting CMAKE_VERBOSE_MAKEFILES
doesn't do anything.

We have arm-none-eabi-gcc 13.3[2], so there's no need to remove options
that <13 don't support.

[1] meta-arm 018fd6aecf ("arm/trusted-firmware-m: use Ninja to build")
[2] meta-arm f646ee4507 ("arm-toolchain: update to 13.3")

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-19 13:00:03 -05:00
Hugues KAMBA MPIANA
a1affdc526 kas/corstone1000: Use BitBake and OE Core instead of Poky
As the Poky layer will no longer be updated following
the integration of `bitbake-setup`, developers are advised to
use a combination of the `bitbake` and `openembedded-core`
layers instead of the `poky` layer.

Note that the `poky` layer is a combination of these two
layers glued into a single repository for convenience.

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-19 10:00:05 -05:00
Ross Burton
0cbed483f2 arm/hafnium: build just the root target, not the tests
We don't run or package the tests, so there's no point to building them.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-17 08:39:24 -05:00
Ross Burton
62b9a84c4d arm/hafnium: ensure prebuilt binaries can't be used
We depend on native tools to provide these binaries, so we can delete
them to ensure that our tools are always used and never the prebuilt.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-17 08:39:24 -05:00
Ross Burton
a48f0afe7f arm/hafnium: split configure/compile and call ninja directly
Split configure/compile and invoke ninja directly so that we can
control parallelisation.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-17 08:39:24 -05:00
Harsimran Singh Tungal
548a5a8c36 arm-bsp/trusted-firmware-a: corstone1000: Add patch for removing dependency of GICC frame for GICv3
GICC registers are not defined for GICv3. Trusted-Firmware-A throws error when
GICC register address is not defined even for GICv3. Adding patch
to handle this in Trusted-Firmware-A.

Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-17 08:38:54 -05:00
Ross Burton
2e54d47d10 arm/trusted-firmware-*: use correct mbedtls git URL
ARMmbed/mbedtls is the old name and redirects to Mbed-TLS/mbedtls, use
the correct name to avoid the redirection.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-17 08:38:11 -05:00
Clement Faure
5c8c508bb4 arm/hafnium: upgrade to v2.13.0
Upgrade hafnium from v2.12.0 to v2.13.0

Signed-off-by: Clement Faure <clement.faure@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-10 09:00:07 -05:00
Michael Safwat
df5a6f9c3f arm-bsp/corstone1000: Extract External System FVP options
- Introduce new file `corstone1000-extsys.inc` to define variables related
  to the external system.
- Ensure this file is included only when MACHINE_FEATURES do contain
  corstone1000-extsys.

This change makes external system configuration modular and only applied
when explicitly enabled through machine features.

Signed-off-by: Michael Safwat <michael.safwat@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-07 07:00:05 -05:00
Hugues KAMBA MPIANA
68c5015832 arm-bsp/corstone1000: sysvinit: Make module autoload work at boot
The image wasn’t autoloading kernel modules even though
`KERNEL_MODULE_AUTOLOAD` populated `/etc/modules-load.d/`. In this
configuration `/etc/init.d/rcS` only executes runlevel scripts from
`/etc/rcS.d` (and `/etc/rc5.d`), and `modutils.sh` was also missing.

This change:

* Includes the loader by adding `modutils-initscripts` to
  `CORE_IMAGE_EXTRA_INSTALL`.
* Enables SysV init by appending `sysvinit` to `DISTRO_FEATURES`,
  ensuring the `S*` start links in `/etc/rcS.d` (and `/etc/rc5.d`)
  call `/etc/init.d/modutils.sh start` during boot.

**Result:** entries in `/etc/modules-load.d/*.conf` now load
automatically at boot.

**Verification**

* Before: `lsmod` empty after boot; manual `modprobe` needed.
* After: `lsmod` shows target modules; `dmesg` contains module init logs.

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-07 07:00:05 -05:00
Harsimran Singh Tungal
5fe80d2845 arm-bsp/u-boot:corstone1000: Use 32-bit cells for reserved-memory node
Switch the *reserved-memory* node from two-cell (64-bit) encoding to
one-cell (32-bit) encoding and adjust the `reg` property accordingly
to make reserved-memory node format compatible with rest of the dts.

Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-07 07:00:05 -05:00
Ross Burton
598e91a5aa arm-systemready/arm-systemready-linux-distros-fedora: update ISO URL
The Fedora 39 artifacts have been moved to an /archive/ directory, so
update the SRC_URI to match.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-06 10:00:11 -05:00
Ross Burton
8e0a2f59ed arm/trusted-firmware-m: update HOMEPAGE
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-06 10:00:04 -05:00
Ross Burton
53d7e26f6a arm-bsp/trusted-firmware-a: change documentation links to point at rendered docs
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-06 10:00:04 -05:00
Ross Burton
83e2f22c8d arm/trusted-firmware-a: unify git repository URL
git.trustedfirmware.org is an alias for review.trustedfirmware.org. We
moved the  main recipe to use review.trustedfirmware.org last year[1]
but not all other recipes that fetch the source followed, which means
that we have to fetch TF-A multiple times.

This commit ensures that all the recipes are using the same SRC_URI, so
we just fetch TF-A once.

[1] a6a4952e ("arm/trusted-firmware-a: use correct git URL")

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-06 10:00:04 -05:00
Ross Burton
a037dd8e71 arm/trusted-firmware-a: set HOMEPAGE
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-06 10:00:04 -05:00
David Hu
afd6f76b09 arm/classes/tfm_sign_image: Support security counter
tfm_sign_image.bbclass hard codes the image security counter, which is
generated from the image version x.y.z.
The generated image security counter value is huge if x or y > 0.
Platform security counter store may not support such a huge counter
value.

Introduce a variable RE_WRAPPER_SECURITY_COUNTER to enable platforms to
specify the actual image security counter.

Signed-off-by: David Hu <david.hu2@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-05 06:00:03 -05:00
Ross Burton
82d64955f1 CI: only run pending-updates on master
This job takes a few minutes and isn't useful unless it's being ran for
master, or is being actively worked on.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-11-03 12:00:14 -05:00
Jon Mason
3bf5bc2a3c CI: reduce coverage for time improvement
Reduce the number of tests being run in CI to reduce the amount of time
it takes to complete, while providing the same code coverage.  Internal
CI runs went from 2.5h to 1.5h.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-31 11:00:07 -04:00
Ross Burton
6fd10047a1 arm/trusted-services: use SHA, not tag name
It turns out that the base SRCREV for trusted-services is a tag name,
which meant it was hitting the network on every build. Use the SHA
instead.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-31 11:00:05 -04:00
Ross Burton
35e853f657 arm-systemready/arm-systemready-linux-distros-debian: update for license rename
The SMAIL_GPL license in oe-core was renamed SMAIL-GPL to match SPDX.
Update the recipe to match this.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-29 10:00:03 -04:00
Ross Burton
b50b4f31e6 arm-bsp/arm-systemready-acs: fix order confusing in FILESEXTRAPATHS
This bbappend was _appending_ to FILESEXTRAPATHS but putting the colon
separator _after_, so it actually constructed an invalid path.

Change the assignment to be prepend, so the separator is in the right
place.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-27 12:00:03 -04:00
Jon Mason
0c85f0f72c arm/sgi575: force gcc for tf-a
trusted-firmware a has a compile error when building with clang.  Since
this platform is EOL'ed and we're not currently building this platform
with clang in CI, the best option is to force GCC for it.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-20 12:00:05 -04:00
Jon Mason
b9cfa74e66 arm/edk2-firmware: move the gcc toolchain force to the versioned recipe
Hopefully this issue can be fixed in a newer release.  Move the
toolchain forcing to the versioned so that it can be tracked easier.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-20 12:00:05 -04:00
Jon Mason
9a613e84f3 arm/optee-ftpm: enable clang compilation
Remove the forcing of GCC in the recipe, and make the changes necessary
to get clang working.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-20 12:00:05 -04:00
Jon Mason
982c986a30 arm/trusted-firmware-a: remove forcing of gcc for qemuarm-secureboot
clang is now working for qemuarm-secureboot.  Remove the forcing of gcc
and clean-up a white space issue.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-20 12:00:05 -04:00
Jon Mason
609c54d364 CI: remove meta-clang
Now that clang is in core, we don't need to use meta-clang anymore.
Also, use PREFERRED_TOOLCHAIN_TARGET to specify the toolchain to use.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-20 12:00:05 -04:00
Vyacheslav Yurkov
81733efdf5 arm/optee: Simplify examples recipe
Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-16 15:13:31 -04:00
Ross Burton
40a5aac50c arm-bsp/u-boot: update CS1K append to use the _config functions
The u-boot recipe now uses unique build directories per config that is
being built, to ensure that there is no cross-contamination.

Handle this by moving the do_configure and do_install appends to
uboot_configure_config and uboot_install_config so that we can simply
use $builddir.

[1] oe-core 22e96b32b0b ("u-boot: Make sure the build dir is unique for each UBOOT_CONFIG")

Signed-off-by: Ross Burton <ross.burton@arm.com>
2025-10-15 11:21:12 +01:00
Frazer Carsley
3a89a2c844 arm-bsp/corstone1000:psa-tests: Removes RSA tests
Since TF-M v2.2.1, the new crypto driver used does not support RSA
algorithms, so these tests are no longer valid.

Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2025-10-14 11:39:42 +01:00
Frazer Carsley
ddf6d8327c arm-bsp/corstone1000:trusted-services: Fix psa-crypto-api-tests
Re-adds a patch aligning the Trusted Services PSA Crypto
structure with its equivalent definition in TF-M v2.1.1.
The patch was previously removed during the upgrade to
Trusted Services v1.2, as it was believed to be included in that
version. However, the alignment is still required to maintain
consistency with TF-M v2.1.1.

Signed-off-by: Frazer Carsley <frazer.carsley@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2025-10-14 11:39:42 +01:00
Ross Burton
cd29fc3e83 arm/trusted-firmware-m: remove 2.2.0
We have 2.2.1, so there's no need for 2.2.0.  This removal was accidentally
omitted from the 2.2.1 upgrade.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2025-10-12 11:51:29 +01:00
Ross Burton
f5f07d93e6 arm/trusted-firmware-m: add missing trusted-firmware-m-scripts-native 2.2.1
This was accidentally missed in the TF-M upgrade to 2.2.1.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2025-10-12 11:51:29 +01:00
Ross Burton
7206f9c9f9 arm/oeqa/fvp: update for new ignore_ssh_fails argument to run()
The OESSHTarget object now has a ignore_ssh_fails keyword argument[1],
so update this subclass to match.

As the implementation of run() here simply forwards the arguments, we
can use *args, **kwargs so that future changes don't cause problems.

[1] oe-core afe118d4f2d ("oeqa: target: ssh: Fail on SSH error even when errors are ignored")

Signed-off-by: Ross Burton <ross.burton@arm.com>
2025-10-12 11:48:51 +01:00
Ross Burton
2b44924959 CI: use bitbake+oe-core instead of poky
Moving forwards, it's expected that the poky repository will no longer be
updated as the integration of bitbake-setup means that users are
encouraged to use bitbake+oe-core separately instead.

We also need to fetch meta-yocto as our CI is currently explicitly based
on the poky distribution.

This is effectively a no-op change, as poky is simply these component
repositories glued into a single repository for convenience.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-09 15:05:45 -04:00
Ross Burton
cd7387d5bf arm-bsp/edk2-firmware: backport a patch to fix builds with host gcc15
Backport a patch from upstream to fix the build of antlr with GCC 15 on
the host.

The build still fails with clang, so update the message with the current
error message.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-08 10:37:55 -04:00
Khem Raj
08542e22a3 gn: Delete
Recipe moved to OE-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-02 15:00:05 -04:00
Michael Safwat
18cc301460 arm/trusted-firmware-a: Re-enable BL31 console by default
Backport Trusted Firmware-A patch to re-enable the BL31
console during early boot.

Signed-off-by: Michael Safwat <michael.safwat@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-10-02 10:00:38 -04:00
Ross Burton
1c86990f95 arm/optee: clean up OPTEE_COMPILER assignment
Now that clang is part of oe-core we can't use meta-clang being present
as an indicator of clang being available.

This does mean we can clean up the logic and just use TOOLCHAIN, as that
is always set now.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-09-29 15:53:45 -04:00
Ross Burton
d85711c049 arm/optee: remove redundant libgcc flags
Upstream appear to have resolved the libgcc linkage issues as these
variables are not used in upstream nor our patches.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-09-29 15:53:45 -04:00
Jon Mason
c3b9bc549f arm-bsp/juno: remove BT_LEDS config warning
Kernel builds are logging the following issue:
WARNING: linux-yocto-6.16.8+git-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration:
    [NOTE]: 'CONFIG_BT_LEDS' last val (y) and .config val (n) do not match

This could be enabled by setting:
CONFIG_LEDS_CLASS=y
CONFIG_NEW_LEDS=y
CONFIG_SND_SOC_HDA=y

But this isn't really useful on the juno platform.  So, better to
disable the BT LEDs.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-09-26 09:00:03 -04:00
Hugues KAMBA MPIANA
497e455db1 arm-bsp/ts:corstone1000: Rename patches
Rename the Corstone-1000 Trusted Services patches so that their
numbering matches the application order, and the remainder of
each patch name matches its corresponding commit message subject.

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-09-16 12:00:06 -04:00
Hugues KAMBA MPIANA
fbd2a1a2ac arm-bsp/ts:corstone1000: Remove obsolete patches
The Corstone-1000 Trusted Services patches removed in this change are no
longer required following the upgrade to Trusted Services v1.2.0.

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-09-16 12:00:06 -04:00
Hugues KAMBA MPIANA
79fafe2c9c arm/trusted-services: Upgrade Trusted Services to v1.2.0
* Update Trusted Services from v1.1.0 to v1.2.0
* De-list obsolete Corstone-1000 TS patches
* Rework remaining Corstone-1000 TS patches for correct application
* Mark remaining Corstone-1000 TS patches as Backport in upstream status
* Reorder Corstone-1000 TS patches to match upstream application order

Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com>
Signed‑off‑by: Bence Balogh <bence.balogh@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2025-09-16 12:00:06 -04:00