Commit Graph
1665 Commits
Author SHA1 Message Date
Peter Hoyes 025124814e arm/fvpboot: Disable timing annotation by default
Timing Annotation is a feature of the model that enables high-level
performance estimations to be made [1]. It is not needed to demonstrate
a functioning software stack so set FASTSIM_DISABLE_TA to 1 in the model
environment to disable this feature. This also improves model
performance.

[1] https://developer.arm.com/documentation/100965/1119/Timing-Annotation

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-16 07:00:12 -05:00
Jon Mason a0e5349c24 CI: define DEFAULT_TAG and CPU_REQUEST
DEFAULT_TAG and CPU_REQUEST are being used to help with internal Gitlab
pipeline setups know which type of machines to run on, but has no value
outside of Arm Corp.  Gitlab CI allows for variables to be overridden
by default.  So, we can give it a default value of NULL/empty and have
everything work internally and externally by default.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-15 17:15:30 +00:00
Ross Burton 7ac3f9f155 CI: use the .setup fragment in machine-coverage
Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-15 13:03:14 +00:00
Ross Burton 1e540d9f49 CI: no need to install telnet
The kas 3.1 container has telnet in. We can also remove python3-subunit
once kas 3.2 is released.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-15 13:03:14 +00:00
Ross Burton 3d68b6a0a9 CI: add tags to all jobs
Tag all jobs with the DEFAULT_TAG variable so each instance can control
what tags the jobs have, whilst still explicitly tagging the jobs which
need specific tags (such as x86_64 for jobs which need to run x86-only
binaries)

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-15 13:03:14 +00:00
Ross Burton 63a2b36141 CI: add variables needed for k8s runners
The Kas container needs to use the entrypoint as that is where the user
changes from root to a normal user.

Also set the KUBERNETES_CPU_REQUEST to the variable CPU_REQUEST as this
needs to be tuned per-deployment.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-15 13:03:14 +00:00
Robbie Cao d7660ca618 arm/fvp-base-r-aem: upgrade to version 11.20.15
Update version in documentation.

Issue-Id: SCM-4874
Signed-off-by: Robbie Cao <robbie.cao@arm.com>
Change-Id: Ic66bdcdc5c6309331f80faab6eaf2e3e936a5da4
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-14 03:00:14 -05:00
Adrián Herrera Arcila 26847ac52f ci: add meta-atp to check-layers
Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-09 13:07:47 -05:00
Adrián Herrera Arcila 5937b4a793 atp: fix machine overrides in recipes
Ensure meta-atp recipes are only performed if a compatible machine is
selected.

Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-09 13:07:47 -05:00
Adrián Herrera Arcila cb55a84894 atp: separate recipe for gem5 models
Previously, meta-atp extended the original gem5 recipe to add the ATP
Engine models; the .bbappend was complex, because it pulled from two
sources, and it was not possible to make machine-based overrides, as it
is a native recipe.

To solve this, we use the recent EXTRAS feature to add the gem5 models
from a different recipe.

Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-09 13:07:47 -05:00
Adrián Herrera Arcila e8334d3309 gem5: support for EXTRAS
External models can be added to gem5 through EXTRAS:
https://www.gem5.org/documentation/general_docs/building/EXTRAS

Added GEM5_EXTRAS to the gem5-native recipe to support it.

Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-09 13:07:47 -05:00
Adrian Herrera fe7c4c6ee0 atp: move m5readfile to meta-gem5
The m5 readfile recipe provides general utility for gem5 users to
run any script on OS boot. We hence move it to the meta-gem5 layer.

Signed-off-by: Adrian Herrera <adrian.herrera@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-09 13:07:47 -05:00
Adrian Herrera 5e00e21286 atp: decouple m5readfile from m5ops
By making m5readfile into its own recipe, we avoid modifications to the
m5ops recipe when using the meta-atp layer, which break the Yocto
compatibility of the layer.

Signed-off-by: Adrian Herrera <adrian.herrera@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-09 13:07:47 -05:00
Adrián Herrera Arcila ee80cc19e4 atp: fix failing test_readme
Test failed because there was no reference to maintainers in the
meta-atp README.

Following the common structure of other layers in the meta-arm
repository, the README in meta-atp now refers to the top-level README,
and a documentation directory contains the guidance that was present in
the original meta-atp README.

Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-09 13:07:47 -05:00
Vishnu Banavath ca4b469ac5 arm-bsp/optee: register DRAM1 for N1SDP target
N1SDP has 2 DRAM's. This change is to register 2nd DRAM which starts at
0x8080000000. Linux uses 1KB of this memory to share data with optee-os.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-05 15:00:08 -05:00
Peter Hoyes e89020b5e4 arm/fvp: Backport shlex.join from Python 3.8
721bec25 "arm/fvp: Join cli arguments in verbose logging" changed the
verbose output of FVPRunner to print the generated arguments using
shlex.join instead of as a list. However, this function is only
available in Python >= 3.8, whereas OE-core currently supports Python
3.6.

To fix this, backport its one-line implementation to a local function
shlex_join and update the call site.

Issue-Id: SCM-5314
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I56cab9dddcd0a91272464be15742a6ee726dad41
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-01 11:03:40 -05:00
Ross Burton 4f1e45b6bd CI: revert a meta-clang change which breaks pixman (thus, xserver)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-28 15:47:19 -05:00
Diego Sueiro 5a2018ae99 arm/trusted-firmware-m: Fix local source patches application
As TF-M ships patches that it needs applied to mbedcrypto, we apply them as
part of do_patch by using a postfunc. There is an issue when do_patch is
executed after do_deploy_source_date_epoch_setscene and apply_local_patches
tries to apply the patches already applied.

To fix this, make usage of the apply_local_src_patches bbclass.

Change-Id: Ia115b540b37ad3a2cce30e1e0461abd1f5a6ccc1
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-28 11:43:30 -05:00
Diego Sueiro 0f10564eaf arm/classes: Introduce apply_local_src_patches bbclass
This class is to be inherited by recipes where there are patches located inside
the fetched source code which need to be applied.

The following variables need to be set:
LOCAL_SRC_PATCHES_INPUT_DIR is the directory from where the patches are located
LOCAL_SRC_PATCHES_DEST_DIR is the directory where the patches will be applied

Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I8f9c16a5fbc9d5569cba60136560f1951408bd60
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-28 11:43:30 -05:00
Rui Miguel Silva df7ac03ac8 kas/corstone500.yml: pin repos to langdale
Pin repos by default to langdale release branches.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-28 08:00:17 -05:00
Peter Hoyes 17828e6e8b runfvp: Fix verbose output when using --console
Start a new thread to simultaneously log the output of FVP and the
telnet output if the --verbose flag is passed to runfvp. So that
ConsolePortParser can read the same stream, use itertools.tee to
temporarily duplicate the stream.

Use a custom log format string with an escape character to ensure that
log output always starts at the beginning of a line when interleaved
with console output.

Issue-Id: SCM-5314
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I3e815d9d899425e0d2af619524f09f2eda87562c
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-23 11:20:03 -05:00
Peter Hoyes 33dbc4f690 arm/oeqa: Log the FVP output in OEFVPSSHTarget
It is often useful to inspect the FVP output after running the tests.

Refactor OEFVPSerialTarget._create_logfile into
OEFVPSSHTarget._create_log_filename, so that all FVP test controllers
are able to create secondary log files.

Pass a filehandle to the stdout argument of run_fvp so that the FVP
output is asynchronously logged to a file. Change the port parsing logic
to read back from the same log file instead of reading the stdout
directly.

Issue-Id: SCM-5314
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I2ddb423fa0d896c13d3e96884858c680c4d34555
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-23 11:20:03 -05:00
Peter Hoyes 8eba0eecec arm/lib: Decouple console parsing from the FVPRunner
To simplify the FVPRunner class, create a separate ConsolePortParser
class to handle reading an iterator of lines and parsing port numbers
for FVP consoles. Use this in runfvp and the test targets.

This refactor also allows the stream being monitored to be changed more
easily, e.g. to a log file.

Issue-Id: SCM-5314
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: Iade3a4c803fb355b04af7afa298d0a41fe707d94
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-23 11:20:03 -05:00
Peter Hoyes c6418d6d59 arm/lib: Factor out asyncio in FVPRunner
FVPRunner relies heavily on asyncio, despite there being very little
concurrent work happening. Additionally, while the runfvp entry point
starts an asyncio runner, it is not practical to have a single asyncio
runtime during testimage, which is fully synchronous.

Refactor to use subprocess.Popen and related functionality. The process
object has a similar interface to its async equivalent.

Cascade the API changes to runfvp and the test target classes.

Issue-Id: SCM-5314
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I3e7517e8bcbb3b93c41405d43dbd8bd24a9e7eb8
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-23 11:20:03 -05:00
Peter Hoyes f3fc634bbf arm/fvp: Join cli arguments in verbose logging
It is sometimes helpful to copy and paste the cli arguments from the
verbose runfvp output (e.g. to test with a development FVP build), but
currently the arguments are printed as a Python list.  Use
shlex.join(cli) to safely join the arguments together in form that can
be reused directly in a shell.

Issue-Id: SCM-5314
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: Ibb5c5ed45d02e241cb3858f68740fb9d4e89357a
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-23 11:20:03 -05:00
Emekcan Aras f2997ee1a7 kas/corstone1000-base.yml: set refspec for Corstone1000 release
Sets refspec for meta-openembedded and poky for upcoming
Corstone1000 release. These SHAs are tested.

Signed-off-by: Emekcan Aras <Emekcan.Aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-23 09:00:19 -05:00
Emekcan Aras 1549624dbf arm-bsp/documentation: corstone1000: update the user guide
Aligning the user guide with the latest Corstone1000 SW updates.

Signed-off-by: Emekcan Aras <Emekcan.Aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-23 09:00:16 -05:00
Emekcan fb43632e7c arm/fvp: Upgrade Corstone1000 FVP
Upgrades the Corstone1000 FVP to the latest release
version.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-23 09:00:16 -05:00
Vishnu Banavath ff9b6f29bf arm-bsp/documentation: corstone1000: 2022.11.10 RC: update the change log
Aligning the change log with the latest Corstone1000 SW updates.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
CORSTONE1000-2022.11.10
2022-11-10 11:07:20 -05:00
Vishnu Banavath 00ceaafc72 arm-bsp/documentation: corstone1000: 2022.11.10 RC: update the release notes
Aligning the release notes with the latest Corstone1000 SW updates.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-10 11:07:20 -05:00
Abdellatif El Khlifi 8185ca9c20 arm-bsp/documentation: corstone1000: 2022.11.10 RC: update the user guide
Aligning the user guide with the latest Corstone1000 SW updates.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-10 11:07:20 -05:00
Luca Fancellu 387f32242e arm,arm-bsp/recipes-kernel: don't use PN in arm-ffa-transport.inc
There are some cases where PN is not expanded into linux-yocto in the
arm-ffa-transport.inc file required from linux-yocto_%.bbappend,
because of the := usage, in those cases PN gets "defaultpkgname".

To fix the issue, rename "linux-yocto" folder into "files" and adjust
ARMFILESPATHS to point to that in linux-yocto_%.bbappend, prepend
ARMFILESPATHS to FILESEXTRAPATHS in arm-ffa-transport.inc.

Remove ARMFILESPATHS prepend from FILESEXTRAPATHS for corstone1000 in
meta-arm-bsp, because the platform has always the "arm-ffa" in
MACHINE_FEATURES, which causes ARMFILESPATHS to be prepended.

While there, remove the FILESEXTRAPATHS prepend of ARMFILESPATHS for
the n1sdp that will be added by arm-ffa-transport.inc only when
needed.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-08 08:18:55 -05:00
Ross Burton dd5a968d3d arm/linux-arm64-ack: fix buildpaths in the perf Python module
Use --prefix instead of --root when installing the Python modules to
ensure that build paths are not embedded in the compiled .pyc files.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-07 14:05:39 -05:00
Anton Antonov 99e1bf8229 arm-bsp/fvp-base: Enable virtio-rng support and unset preferred 5.15 kernel
Without virtio-rng enabled kernel 5.19 takes ages to finish
random number generator initialisation which causes
issues with ssh and other crypto related services.

Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-07 11:00:12 -05:00
Emekcan a41572a032 arm-bsp/trusted-services: Fix GetNextVariable max_name_len in smm gateway
GetNextVariableName() should return EFI_BUFFER_TOO_SMALL
when NameSize is smaller than the actual NameSize. It
currently returns EFI_BUFFER_OUT_OF_RESOURCES due to setting
max_name_len incorrectly. This fixes max_name_len error by
replacing it with actual NameSize request by u-boot.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-07 07:45:38 -05:00
Emekcan 5fd87e47f6 arm-bsp/trusted-services: add checks for null attributes in smm gateway
As in EDK-2 and EDK-2 test code, setVariable() with 0
attributes means a delete variable requiest. Currently,
smm gateway doesn't handle this scenario. This commit
adds that support

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-07 07:45:38 -05:00
Rui Miguel Silva 8d35c5b539 arm-bsp/trusted-firmware-m: adjust ps assets for corstone1000
Enabling ESRT in trusted services increased the need for more
assets at protected storage level, since we now save FMP data
, capsule update, like Image Info as non volatile EFI
variables.

So, just change the default configuration for the corstone1000
to handle this.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-07 07:45:34 -05:00
Rui Miguel Silva 9e2de7dacc arm-bsp/trusted-services: psa test setup corstone1000
Reorder patch list headers, move psa api test patch that
should be applied to all psa api test from a crypto specific
directory to a more generic "psa-apitest" directory.

Create a inc file for the psa api test to make sure all out of
tree patches from trusted services are applied to all test
source directories, and move mm communicator buffer details to
each SP, and finally set it up differently as it
should/is expected to be at libts.

With this setup all psa-api test for crypto and attestation
passed.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-07 07:45:34 -05:00
Rui Miguel Silva 3651527f57 arm/trusted-services: check before applying patches
At the apply ts patch stage, first check if they are patches
to be applied. Because if not, this would break the apply
patch stage with an error.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-07 07:45:34 -05:00
Ross Burton 4ee457693e CI: track meta-openembedded's langdale branch
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-28 12:00:11 -04:00
Abdellatif El Khlifi 46e8092b6b kas: corstone1000: set branches to langdale
point poky/meta-openembedded to langdale

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-28 12:00:08 -04:00
Mohamed Omar Asaker f312adf47b arm-bsp/corstone1000: add msd configs for fvp
Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-27 07:00:09 -04:00
Jon Mason d3541b1e29 CI: Remove host bitbake variables
Bitbake variables were being set in KAS for the unique Gitlab CI
configuration being used internally.  While this should not have been
significantly detrimental for other setups, this shouldn't be necessary
with proper runner setup.  Removing them here to all for a more generic
CI experience.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-24 13:33:55 -04:00
Satish Kumar 952dee0de9 arm-bsp/trusted-service: corstone1000: esrt support
Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-24 13:33:55 -04:00
Mohamed Omar Asaker 9e17830b84 arm-bsp/trusted-firmware-m: corstone1000 support FMP image info
Apply tfm patches to support FMP image info

Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-24 13:33:55 -04:00
Mohamed Omar Asaker bb02720fd7 Revert "arm-bsp/trusted-firmware-m: corstone1000: bump tfm SHA"
This reverts commit 81181ed898.

Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-24 13:33:55 -04:00
Mohamed Omar Asaker b4dfea8e28 Revert "arm-bsp/trusted-firmware-m: corstone1000: secure debug code checkout from yocto"
This reverts commit 37ba0b162a.

Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-24 13:33:55 -04:00
Rui Miguel Silva e4a5809373 arm-bsp/corstone1000: apply ts patch to psa crypto api test
Apply shared patch to trusted services that is used to compile
psa crypto api tests to include change in packed-c request
message in the eaed update structure to be in sync with the
serialize/deserialize in TS side.

As at it, move the other corstone1000 specific patch file to
meta-arm-bsp where it should be.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-24 13:33:55 -04:00
Ross Burton 72f0580f70 CI: add documentation job
This job builds all of the Sphinx documentation it can find with fatal
warnings enabled.

Signed-off-by: Ross Burton <ross.burton@arm.com>
4.1 yocto-4.1
2022-10-24 12:02:01 -04:00
Vishnu Banavath 950372e99d meta-arm-bsp/doc: add readthedocs for corstone1000
These changes are to add support for readthedocs for
corstone1000 platform. readthedocs server traces
any changes to to corstone1000 documents and will trigger
a build which will generate html file which can will be
rendered by corstone1000.docs.arm.com server

Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-24 12:02:01 -04:00