aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2023-10-01README: remove reference to meta-arm-autonomyyocto-4.1.24.1.2langdaleJon Mason
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-05-05CI: dev kernel allow failureJon Mason
The dev kernel can frequently fail, and is not anything that is used in production. Allow failure to prevent CI issues but still notify that there are potential issues. Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-05-05CI: Add BUILD_ENABLE_REGEX option to conditionally enable buildsPeter Hoyes
Mirrors of meta-arm may focus their development on a small subset of MACHINEs so provide the option to restrict the boards that are built on CI using the variable BUILD_ENABLE_REGEX. If set, it conditionally enables builds; if unset there is no change in behavior. This variable could be overridden in a scheduled build, to e.g. build all the MACHINEs weekly. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-26CI: Remove ts-smm-gateway from N1SDPyocto-4.1.14.1.1Adam Johnston
Installing SMM Gateway SP on the N1SDP may stop the platform from booting for on-device testing in CI. In n1sdp.yml, remove `ts-smm-gateway` if it has been added Keep `ts-smm-gateway` in default SP set so it can still be tested with `qemu-secureboot` Signed-off-by: Adam Johnston <adam.johnston@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-25arm-bsp/external-system: fix the gen_module race, againRoss Burton
Apply the patch from scp-firmware to the third copy of the buggy Makefiles which fail randomly under parallel builds. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-28arm-bsp/uefi_capsule: Move UEFI capsule to IMGDEPLOYDIRGowtham Suresh Kumar
The UEFI capsule generated is in the incorrect build directory. This patch copies it to IMGDEPLOYDIR. Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-28arm-bsp/uefi_capsule: Use json file to pass capsule configGowtham Suresh Kumar
This patch uses the json config file for UEFI capsule generation as this is efficient and easily scalable to generate multiple capsules. Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-28arm/edk2-basetools: Convert edk2 basetools recipes to native onlyGowtham Suresh Kumar
The BBCLASSEXTEND configuration can generate native sdk and target recipes as well. The cp command used in do_install will create host contamination issues for these recipes, so this patch makes the recipe native only. Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-28arm-bsp/corstone1000-image: Generate UEFI capsule for corstone1000 platformGowtham Suresh Kumar
Inherits the UEFI capsule generation class and configures the capsule variables for the wic.nopt image Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-28arm-bsp/uefi_capsule: Add UEFI capsule generation classGowtham Suresh Kumar
This class currently supports only a single firmware binary. The required capsule parameters needs to be set, if not the build fails. Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-28arm/edk2-basetools: Add edk2 base tool native recipeGowtham Suresh Kumar
The native recipe installs the UEFI capsule generation tool along with the other base tools to native sysroot. Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-09arm/trusted-firmware-m: Do not use release branchesCORSTONE1000-2022.11.23Emekcan Aras
TFM repos do not use release branches. TFM-test repo does not use master branch and use detached head for the 1.6 release. This commits makes necessary changes to be able to build tfm and tfm-test again for langdale. Signed-off-by: Emekcan Aras <emekcan.aras@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-09CI: pin to kas 3.2 as 3.2.1 failsRoss Burton
For some reason the kas 3.2.1 container fails: No such file or directory: '/builds/engineering/yocto/meta-arm/ci/ci/base.yml' Note the repeated /ci/, which is wrong. Pin the kas container to 3.2 for now until this is resolved. Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-02-04arm-bsp/firmware-image-juno: Fix deployment of compressed ImageDaniel Díaz
A recent commit compressed the kernel image (to Image.gz) and by default enabled an initramfs image. In the case for when such that (initramfs) is not desirable, the deploy step of the Juno firmware will still try to install the Image file, (not Image.gz), so this fails: ERROR: firmware-image-juno-1.0-r0 do_deploy: ExecutionError('/oe/build/tmp-glibc/work/juno-oe-linux/firmware-image-juno/1.0-r0/temp/run.do_deploy.360477', 1, None, None) ERROR: Logfile of failure stored in: /oe/build/tmp-glibc/work/juno-oe-linux/firmware-image-juno/1.0-r0/temp/log.do_deploy.360477 Log data follows: | DEBUG: Executing python function sstate_task_prefunc | DEBUG: Python function sstate_task_prefunc finished | DEBUG: Executing shell function do_deploy | cp: cannot stat '/oe/build/tmp-glibc/deploy/images/juno/Image': No such file or directory | WARNING: /oe/build/tmp-glibc/work/juno-oe-linux/firmware-image-juno/1.0-r0/temp/run.do_deploy.360477:152 exit 1 from 'cp -L -f /oe/build/tmp-glibc/deploy/images/juno/Image /oe/build/tmp-glibc/work/juno-oe-linux/firmware-image-juno/1.0-r0/image/juno-firmware-19.06/SOFTWARE/' | WARNING: Backtrace (BB generated script): | #1: do_deploy, /oe/build/tmp-glibc/work/juno-oe-linux/firmware-image-juno/1.0-r0/temp/run.do_deploy.360477, line 152 | #2: main, /oe/build/tmp-glibc/work/juno-oe-linux/firmware-image-juno/1.0-r0/temp/run.do_deploy.360477, line 163 NOTE: recipe firmware-image-juno-1.0-r0: task do_deploy: Failed ERROR: Task (../meta-arm/meta-arm-bsp/recipes-bsp/images/firmware-image-juno.bb:do_deploy) failed with exit code '1' This updates the else case for when an initramfs image is not in use so that the right kernel image is deployed, by using the KERNEL_IMAGETYPE variable, to use either version of the kernel image. Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-01kas/fvp-baser-aemv8r64: Use langdale as kas default refspecQi Feng
The default refspec for the repos used by kas is now langdale. Signed-off-by: Qi Feng <qi.feng@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-23classes: Set ARMLMD_LICENSE_FILE in the runfvp environmentPeter Hoyes
For models that require a license, ARMLMD_LICENSE_FILE is used to define the location of a license file or server. If the variable is not set in Bitbake it will not be set in the model environment. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-23classes: Prevent passing None to the runfvp environmentPeter Hoyes
FVP_ENV_PASSTHROUGH may contain variables that have not been set. d.getVar returns None in this case. Detect this and skip setting the variable in the model environment. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-23classes: Define FVP_ENV_PASSTHROUGH variable dependenciesPeter Hoyes
Define FVP_ENV_PASSTHROUGH's vardeps to equal itself, so that the fvpconf is regenerated if any of the defined variables change. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-23arm/lib: Add XAUTHORITY to runfvp environmentPeter Hoyes
aa89fe3f ensured environment variables necessary for GUI applications are passed through to the model despite runfvp env var restrictions. Add XAUTHORITY to this list. This is useful when doing X-forwarding with Kas, which creates its own home directory. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-18arm-bsp/juno: Update kernel patches to the latestJon Mason
Pulling in the latest juno kernel patches from https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-18arm-bsp/juno: move to compressed initramfs imageJon Mason
Change u-boot and machine config to default to booting a compressed initramfs. This allows for easier testing. A compressed image is needed as the image is too big for the storage, and the error notifying of such is vague. Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-13arm/trusted-services: Fix 'no such file' when building libtsAdam Johnston
The libts recipe assumes generated cmake file will be suffixed with '-noconfig'. This is only true when building with the default type i.e. "". Check which target cmake file has been generated before trying to patch it. This fixes 'no such file' error when building with an explicit type (Debug, Release, etc). Signed-off-by: Adam Johnston <adam.johnston@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-11arm/scp-firmware: Disable cppcheckPeter Hoyes
The SCP-firmware CMake compile step automatically attempts to execute cppcheck if both: * cppcheck can be located using find_program * DISABLE_CPPCHECK is not defined cppcheck is not readily available in OE-core and is not an essential part of the compilation process for end-users, so explicitly disable the cppcheck step by passing DISABLE_CPPCHECK to CMake. Additionally, because the OE-core CMake toolchain file cannot be used, find_program may locate cppcheck on the host machine, which will cause the build to fail if it is not the recommended version (as it is in recent Linux distros). Issue-Id: SCM-5864 Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Change-Id: Ia87a0cbbb67ac1d6f3b26cfb5747a85b46131f81 Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-11arm/scp-firmware: Ensure CMAKE_BUILD_TYPE is capitalizedPeter Hoyes
If CMAKE_BUILD_TYPE=debug (lowercase), SCP-firmware builds with debug compiler flags but BUILD_MODE_DEBUG is not defined in C code so features that are conditionally enabled/disabled in debug mode are not active. Pass capitalized "Debug" and "Release" strings to CMAKE_BUILD_TYPE to ensure Debug mode is fully enabled when SCP_BUILD_RELEASE = "0". SCP_BUILD_RELEASE = "1" (the default) for all machines in meta-arm-bsp so they are unaffected. Issue-Id: SCM-5864 Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Change-Id: I93220420eedd2e3e6c169679efcaf4642dd5bc51 Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-10arm/classes: Ensure patch files are sorted in apply_local_src_patchesPeter Hoyes
apply_local_src_patches.bbclass was added in a previous patch to handle the application of patch files located inside the fetched source code. find is used to collect the patch files which does not guarantee the order of its output. Pipe the output of find into sort to ensure patch files are applied in the correct order. Issue-Id: SCM-5864 Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Change-Id: I1082fb7a726a7745289a5aa8bb6447bef57a94b0 Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-03CI: fix builds with clangRoss Burton
meta-clang has a langdale branch now, so use that instead of master. linux-yocto needs to use non-clang objcopy, apply the change locally until the commit has been merged into meta-clang's langdale branch. perf needs some patches backported to langdale, until that has been done use gcc to build perf. Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-16arm/fvpboot: Disable timing annotation by defaultPeter Hoyes
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-15CI: define DEFAULT_TAG and CPU_REQUESTJon Mason
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-15CI: use the .setup fragment in machine-coverageRoss Burton
Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-15CI: no need to install telnetRoss Burton
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-15CI: add tags to all jobsRoss Burton
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-15CI: add variables needed for k8s runnersRoss Burton
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-14arm/fvp-base-r-aem: upgrade to version 11.20.15Robbie Cao
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-09ci: add meta-atp to check-layersAdrián Herrera Arcila
Signed-off-by: Adrián Herrera Arcila <adrian.herrera@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-12-09atp: fix machine overrides in recipesAdrián Herrera Arcila
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-09atp: separate recipe for gem5 modelsAdrián Herrera Arcila
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-09gem5: support for EXTRASAdrián Herrera Arcila
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-09atp: move m5readfile to meta-gem5Adrian Herrera
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-09atp: decouple m5readfile from m5opsAdrian Herrera
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-09atp: fix failing test_readmeAdrián Herrera Arcila
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-05arm-bsp/optee: register DRAM1 for N1SDP targetVishnu Banavath
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-01arm/fvp: Backport shlex.join from Python 3.8Peter Hoyes
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-11-28CI: revert a meta-clang change which breaks pixman (thus, xserver)Ross Burton
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-28arm/trusted-firmware-m: Fix local source patches applicationDiego Sueiro
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-28arm/classes: Introduce apply_local_src_patches bbclassDiego Sueiro
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-28kas/corstone500.yml: pin repos to langdaleRui Miguel Silva
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-23runfvp: Fix verbose output when using --consolePeter Hoyes
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-23arm/oeqa: Log the FVP output in OEFVPSSHTargetPeter Hoyes
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-23arm/lib: Decouple console parsing from the FVPRunnerPeter Hoyes
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-23arm/lib: Factor out asyncio in FVPRunnerPeter Hoyes
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>