1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-05-07 04:58:57 +00:00
Commit Graph

1950 Commits

Author SHA1 Message Date
Abdellatif El Khlifi ddae9c4370 arm-bsp/trusted-firmware-a: corstone1000: psci: SMCCC_ARCH_FEATURES discovery through PSCI_FEATURES
add SMCCC_ARCH_FEATURES discovery

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Upstream-Status: Inappropriate [A U-Boot patch will be released to fix an issue in the PSCI driver]
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-21 07:00:31 -04:00
Jon Mason b4d50a273d arm/linux-yocto: move 6.1 patches to a unique bbappend
Move the 3 patches only needed by the 6.1 kernel into a unique bbappend
The defconfig changes cannot be moved into a config fragment because
they only exist in the defconfig file (because the patches that
integrated their functionality into the kernel were not merged).

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-20 11:53:18 -04:00
Jon Mason 8f03838a72 arm-bsp/juno: remove commented out KCONFIG
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-20 11:53:18 -04:00
Jon Mason 4616202e83 arm/optee-os: update/clean-up patches and recipes
The optee-os.inc was including patches which really should've been in
the versioned .bb file.  Move those references there and update the
FILESEXTRAPATHS to be more intelligent.  While there, rebase the files
via devtool and update the file names as necessary.

Also, remove unreferenced patches.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-19 13:00:19 -04:00
Ziad Elhanafy f091a160b8 arm-bsp/documentation: Replace FVP_BASE_R_ARM_EULA_ACCEPT with ARM_FVP_EULA_ACCEPT
1- Replace FVP_BASE_R_ARM_EULA_ACCEPT with ARM_FVP_EULA_ACCEPT
in fvp-baser-aemv8r64.md
2- Add instructions to corstone1000/user-guide.rst to set
ARM_FVP_EULA_ACCEPT to "1".

Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-19 12:00:29 -04:00
Ziad Elhanafy 635989dbbb kas: Add fvp-eula.yml and remove license related settings
1- Add fvp-eula.yml file which introduces ARM_FVP_EULA_ACCEPT
environment variable
2- Remove any license related settings from fvp-baser-aemv8r64-bsp.yml,
corstone500.yml and corstone1000-fvp.yml

Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-19 12:00:29 -04:00
Ziad Elhanafy 4e3cb6cbe4 arm: Set FVP EULA environment variable details message
Set the FVP EULA environment variable details message
to request the user to accept the EULA in case it has
not been accepted.

Signed-off-by: Ziad Elhanafy <Ziad.Elhanafy@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-19 12:00:29 -04:00
Jon Mason e67d9c4dbc ci/clang: add llvm-native from clang README
The following error is seen:
ERROR: Nothing PROVIDES 'llvm-native' (but virtual:native:/builds/jonmason00/meta-arm/work/build/../poky/meta/recipes-graphics/mesa/mesa_23.1.3.bb DEPENDS on or otherwise requires it). Close matches:
  ovmf-native
  rust-llvm-native
  vim-native

Work around this by using the llvm-native from meta-clang

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-18 15:03:01 -04:00
Jon Mason f12f035093 arm-bsp/machine: work around rootfs name issue
Upstream change 26d97acc71379ab6702fa54a23b6542a3f51779c changed the
IMAGE_LINK_NAME to have IMAGE_NAME_SUFFIX and breaks the automatic
finding of the image by name.  Work around here until upstream fix can
be added.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-18 15:02:41 -04:00
Ziad Elhanafy 0731d371cb arm/classes: Remove IMAGE_NAME_SUFFIX from image path
Remove IMAGE_NAME_SUFFIX from image path in
wic_nopt.bblass

Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-18 09:16:16 -04:00
Ziad Elhanafy 1a0dd17793 arm-bsp/conf: Remove hardcoded .rootfs from image path
Remove hardcoded .rootfs from image path in:
1- fvp-common.inc
2- corstone1000-fvp.conf
3- corstone500.conf
4- fvp-baser-aemv8r64.conf

Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-18 09:16:16 -04:00
Ross Burton e668762031 arm-bsp/linux-yocto: fix Upstream-Status
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-18 09:16:16 -04:00
Ross Burton a64fb4a40d toolchain: remove pointless provides
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-18 09:16:16 -04:00
Ross Burton 41a7a64c66 arm-bsp/u-boot: add temporary 2023.01 recipe
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-18 09:16:16 -04:00
Ross Burton 3c514763c8 CI: track master
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-18 09:16:16 -04:00
Peter Hoyes 0b574210aa arm/oeqa: Introduce the fvp_devices test suite
The fvp_devices test suite can be used to verify the following
functionality at runtime, common to most FVPs:
 * CPU hotplug
 * virtio-net device presence and functionality
 * virtio-rng device presence and functionality
 * PL031 RTC device presence and functionality
 * SP805 watchdog device presence

The list of devices to be tested can be configured by a BSP using the
variable TEST_FVP_DEVICES.

Add this test suite for fvp-base and fvp-baser-aemv8r64.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-17 15:00:40 -04:00
Peter Hoyes 7ed86c025e arm/oeqa: Convert linuxboot test case into fvp_boot
The linuxboot test case is already FVP-specific due to the use of the
OEFVPTarget pexpect interface. Clarify this by renaming to fvp_boot.

So that fvp_boot can be used alongside other OEQA test cases (e.g. those
in OE-core):
 * Call self.target.transition("off") at the start of the test to
   ensure the model starts from reset
 * Call self.target.transition("linux") to reuse the "wait for boot"
   logic in OEFVPTarget.

Additionally, minimally validate the firmware boot by checking for
common error patterns in all console logs. Expose the runfvp config in
OEFVPTarget to support this.

Align the list of test cases executed on both fvp-base and
fvp-baser-aemv8r64 by using TEST_CASES:append = " fvp_boot" for both.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-17 15:00:40 -04:00
Peter Hoyes 67dabb0bee arm/OEFVPTarget: Add support for model state transitions
To better support firmware testing alongside Linux runtime testing,
introduce model state support to OEFVPTarget. The following states are
supported using self.target.transition(state):
 * off
 * on
 * linux

Instead of assuming a specific state in OEFVPTarget.start,
responsibility is delegated to test cases to lazily put the model in
the required state. But to support OE-core test cases, OEFVPTarget.run
automatically puts the model in the "linux" state for running the
command. Firmware and Linux tests can subsequently run alongside each
other without introducing complex test dependencies.

The concept is inspired by Labgrid strategies [1], albeit simplified.

Tweak log file handling so that output is collected across (possibly)
multiple model processes.

[1] https://labgrid.readthedocs.io/en/latest/overview.html#strategies

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-17 15:00:40 -04:00
Peter Hoyes ea762113ce arm/oeqa: Merge all OEFVP*Target classes
The differences between OEFVPTarget, OEFVPSSHTarget and
OEFVPSerialTarget are not obvious and there is a lot of duplication.

Merge all the logic into one OEFVPTarget (again). This has the following
features:
 * Run SSH commands
 * Run serial console assertions
 * Lazily await a Linux login prompt while running test cases (only when
   self.target.run is called).

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-17 15:00:40 -04:00
Peter Hoyes cf0baaee0b runfvp: Add missing conffile include
Using runfvp without explicitly specifying the fvpconf path currently
fails due to a missing fvp.conffile include.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-17 15:00:40 -04:00
Jon Mason 80c6c41741 arm/optee: update to 3.22.0
Update to the latest version of OP-TEE, and move the legacy versions
that are still in use by meta-arm-bsp to that directory

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-17 10:49:36 -04:00
Jon Mason 3eef74e3c3 arm/optee-test: modify to use build openssl
By default, optee-test is using an ancient version of openssl (1.2.0o)
in binary form, located in the optee-test build tree.   musl is already
working around this.  So, use those defaults for everyone.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-17 10:49:36 -04:00
Ross Burton 249b534ce7 arm/scp-firmware: fix intermittent compile failures
scp-firmware passes -I/core/include to the compiler which doesn't exist,
and sometimes gcc emits a fatal error.  It's unclear why this doesn't
happen for everyone, but this workaround appears to be the correct
solution.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-10 10:00:13 -04:00
Ross Burton 6947632e0b arm/scp-firmware: log what platform/firmware/type is being built
This helps understand long build logs.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-10 10:00:13 -04:00
Ross Burton 675dce4d63 arm/scp-firware: update compiler variables
SCP_COMPILER isn't used anymore, so remove it.

Explicitly set SCP_TOOLCHAIN=GNU for clarity.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-10 10:00:13 -04:00
Ross Burton 64b33efb95 arm-bsp/scp-firmware: remove redundant SCP_PLATFORM
Now that this defaults to MACHINE, explicit SCP_PLATFORM assignments can
be removed.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-10 10:00:13 -04:00
Ross Burton ce78057a71 arm/scp-firmware: set default SCP_PLATFORM to MACHINE
Many platform names are the same as the machine name, so this saves
some typing.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-10 10:00:13 -04:00
Mikko Rapeli c4f30dbd5c optee-os optee-test: switch from SRC_URI:append to SRC_URI +=
It is more difficult to update optee recipes to bleeding edge
3.21 when patches are added to SRC_URI via :append and thus they
need to be explicitly removed with :remove and name of the patch file.
For our boards we know 3.21 will work without patches but we still want
to keep using meta-arm side base recipe and just update the SRC_URI
to remove patches and update SRCREV and PV.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-08 11:23:21 -04:00
Ross Burton 2d9a8f58ca CI: add a tool to fetch a lockfile.yml for a specified build
This tool makes it easy to lock a build to a known good configuration,
for example by locking the SHAs to the last good build of master.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-07 10:00:06 -04:00
Ross Burton 271d848f6b CI: generate and use a Kas lock file
In the update-repos job, generate a Kas lock file to pin the SHAs of the
repositories being build during the build. This ensures that commits to
the repositories _during_ the build doesn't cause differing builds. All
of the kas calls use this lock file to ensure that their builds are
identical.

This lockfile is also added to the artifacts, so that it can be reused
afterwards to replicate the build: either as a known good base or to
replicate failures.

This lock file is only generated if it doesn't exist, so that
development branches can temporarily add a lockfile.yml if for example
master is too unstable to develop on.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-07 10:00:06 -04:00
Abdellatif El Khlifi 559cd0359b kas: set the SHAs for 2023.06 release
set poky and meta-openembedded SHAs

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-06 13:00:08 -04:00
Abdellatif El Khlifi c683ea2897 arm-bsp/documentation: corstone1000: update user guide
Adding extra details to corstone1000 user guide.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Emekcan Aras <Emekcan.Aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-06 11:00:09 -04:00
Abdellatif El Khlifi b9d3c73ce9 arm-bsp/documentation: corstone1000: update the release note
Updates the release note copyright.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Emekcan Aras <Emekcan.Aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-06 11:00:09 -04:00
Ross Burton c2d0905b51 CI: use branch, not refspec
Kas 3.3 uses branch and commit keys instead of a general-purpose
refspec. Change the base to use branch:mickledore and remove the
explicit use of master for meta-virtualization now that a mickledore
branch exists there too now.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-04 06:00:16 -04:00
Ross Burton 77b5e1c72c CI: update to Kas format 14
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-04 06:00:16 -04:00
Ross Burton 95e7e59c1a CI: use Kas 3.3
Kas 3.3 has the following new features:

- kas: Introduce commit and branch as alternative to refspec key
- kas: Warn if a repo uses legacy refspec
- kas: add support for lock files via dump plugin
- kas: track root repo dir config files of menu plugin
- kas: add support for --log-level argument
- kas: add GIT_CREDENTIAL_USEHTTPPATH environment variable
- kas: improve error reporting
- kas: drop support for Python 3.5
- kas-container: fix invocations with --isar for some layers
- kas-container: Purge tmp* on clean
- kas-container: enable colored logging

4.0 is basically the same but the Kas container uses Debian 12, which is
not yet supported as a tested platform. Until Debian 12 is tested we
should continue to use 3.3.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-04 06:00:16 -04:00
Khem Raj fa02cad2da gn: Disable warning as error but not disable completely
This will still emit the diagnostic but it wont break the build,
additionally pass it to CXXFLAGS since thats the right subset to
disable it for.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-03 01:00:09 -04:00
Rouven Czerwinski 0dfd5d1f3c optee-test: add TA elfs to deploydir
Same as for OP-TEE client, this eases debugging and is required to use
the OP-TEE symbolize.py script.

Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-02 05:58:13 -04:00
Rouven Czerwinski 4d7d11cf24 optee-os: deploy ta elf files
The TA builds always create ELF files, add them to the deploy dir to
ease debugging via the OP-TEE symbolize.py script.

Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-02 05:58:13 -04:00
Rouven Czerwinski 2b15d78915 optee-os: add optional optee-os-ta package
The optee-os compilation provides not only the core files, TAs are also
usually build. Create a separate package which contains them, so they
can be installed.

Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-02 05:58:13 -04:00
Abdellatif El Khlifi 6d7e6a799b arm-bsp/doc: corstone1000: Update the software architecture document
Align the document with the current design.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
2023-06-27 09:28:02 +01:00
Abdellatif El Khlifi ccee755ff9 arm-bsp/documentation: corstone1000: Update change log
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
2023-06-27 09:28:02 +01:00
Tomás González e16007e948 arm-bsp/documentation: corstone1000: Update the release notes
Update the release notes with Known Issues and Limitations.

Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
2023-06-27 09:28:02 +01:00
Tomás González 1dc25f19fc arm-bsp/documentation: corstone1000: Update the user guide
Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
2023-06-27 09:28:02 +01:00
Emekcan Aras d6fac49541 arm-bsp/trusted-firmware-a: corstone1000: Fix Trusted-Firmware-A version for corstone1000
TF-A version 2.8.6 hangs on boot for corstone1000 non-deterministically.
This sets TF-A version to v2.8.0 which is a tested working version for
corstone1000.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-22 09:32:23 -04:00
Emekcan Aras 7714ad8f55 arm-bsp/trusted-services: corstone1000: Fix Capsule Update
Adds missing update service definitions for using stateless platform
services and initializes the capsule udpate provider in se-proxy-sp
for corstone1000.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-22 09:32:23 -04:00
Emekcan Aras 6b1bf55b94 arm-bsp/trusted-services: corstone1000: Fix PSA_RAW_KEY agreement test
Adds missing compilation option to fix psa_raw_key_aggrement test for
corstone1000.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-22 09:32:23 -04:00
Emekcan Aras 8cd16aabdb arm-bsp/u-boot: corstone1000: Fix u-boot compilation warnings
From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>

Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-22 09:32:23 -04:00
Emekcan Aras c99ed29ba6 arm-bsp/optee-os:corstone1000: Drop SPMC non secure interrupt patches
From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>

These 2 patches causes the secure world to enter into an infinite loop
when the PSA arch tests are triggered. This is a temporary fix and the
issue needs to be investigated before the patches can be enabled.

Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-22 09:32:23 -04:00
Emekcan Aras fa6e20d33b arm-bsp/trusted-services: corstone1000: GetNextVariableName Fix
This patch is required to handle one of the corner cases of the
GetNextVariableName EFI service as specified in the UEFI spec.

Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-22 09:32:23 -04:00