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

695 Commits

Author SHA1 Message Date
Vineeth Raveendran 4338e38b8a arm-bsp: add dunfell support for fvps, juno and gem5
Make following machines compatible with dunfell:
- foundation-armv8
- fvp-base
- juno
- gem5

Major changes include moving kernel version to 5.4 and U-BOOT version
to v2020

Change-Id: Ia59ac874de4e4c4ea02c7a4f976e39a9b6996f75
Issue-Id: SCM-833
Signed-off-by: Vineeth Raveendran <vineeth.raveendran@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-08 10:21:20 -04:00
Diego Sueiro 03139a9324 arm-bsp: trusted-firmware-a-fvp: Fix dependency loop
When building with INITRAMFS_IMAGE_BUNDLE set, there is a dependency
loop between trusted-firmware-a:do_install and virtual/kernel:do_deploy
since the trusted-firmware-a:do_install depends on the kernel dtb to be
passed to the fiptool to generate the fip.bin binary.

The kernel dtb is not mandatory to generate the fip.bin if we compile
the "dtbs" and "fip" targets which will include the in-tree device-tree
used for the --hw-config (HW_CONFIG property) dynamic configuration
during the cold boot.

Change-Id: I7147cc1eeecb7c4b66f198562163438b7b663eba
Issue-Id: SCM-990
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-08 10:19:27 -04:00
Bertrand Marquis 56c245133b arm-bsp: Update gem5 and switch to python3
This patch includes several fixes for gem5-aarch64
- Switch to a new version of gem5 supporting python3 and use python3 to
 build it.
 We use a version in develop branch of gem5 for now and we will have to
 switch to release 20 once it is released mid of may.
- Remove scons python2 recipes which were used before by gem5 as a
 workaround until gem5 was updated to support python3
- make gem5-aarch64-bootloader only compatible with gem5-aarch64
- remove unnecessary FILESEXTRAPATHS_prepend in gem5-aarch64-bootloader

Change-Id: Iad9af4f2e6073ef63a51c2c33a05ed3855dd8f08
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-08 10:19:23 -04:00
Denys Dmytriyenko 0ff012ecb2 external-arm-toolchain: remove unused /usr/share/info/dir
Fixes following QA issue:

WARNING: external-arm-toolchain-2019.12-r0 do_package_qa: QA Issue: The /usr/share/info/dir file is not meant to be shipped in a particular package. [infodir]

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 12:03:43 -04:00
Denys Dmytriyenko 33cc242bbc external-arm-toolchain: remove empty libexecdir
Fixes following QA issue (normally a warning, but Poky and other distros
may treat it as fatal):

ERROR: external-arm-toolchain-2019.12-r0 do_package: QA Issue: external-arm-toolchain: Files/directories were installed but not shipped in any package:
  /usr/libexec
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
external-arm-toolchain: 1 installed and not shipped files. [installed-vs-shipped]
ERROR: external-arm-toolchain-2019.12-r0 do_package: Fatal QA errors found, failing task.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 12:03:43 -04:00
Denys Dmytriyenko c10a9a2d3b gcc-arm: remove extra binary aliases when TCMODE=external-arm
When TCMODE=external-arm, TARGET_SYS!=EAT_TARGET_SYS and gcc installs extra
binary aliases, which could lead to QA errors:

ERROR: gcc-arm-9.2-r2019.12 do_package: QA Issue: gcc: Files/directories were installed but not shipped in any package:
  /usr/bin/arm-poky-linux-gnueabi-arm-none-linux-gnueabihf-g++
  /usr/bin/arm-poky-linux-gnueabi-arm-none-linux-gnueabihf-gcc
  /usr/bin/arm-poky-linux-gnueabi-arm-none-linux-gnueabihf-gcc-ar
  /usr/bin/arm-poky-linux-gnueabi-arm-none-linux-gnueabihf-gcc-ranlib
  /usr/bin/arm-poky-linux-gnueabi-arm-none-linux-gnueabihf-gcc-nm
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
gcc: 5 installed and not shipped files. [installed-vs-shipped]
ERROR: gcc-arm-9.2-r2019.12 do_package: Fatal QA errors found, failing task.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 12:03:43 -04:00
Denys Dmytriyenko 198f96ed20 gcc-arm: add re-staging of unwind.h from external-arm-toolchain
gcc-target.inc expects unwind.h to come from and be staged by libgcc.
When TCMODE="external-arm" libgcc is provided by external-arm-toolchain.bb
And while it stages the necessary unwind.h file, it ends up in slightly
different location, so re-stage it. More details are in the comments.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 12:03:43 -04:00
Diego Sueiro 13535294f6 Have meta-arm-bsp specific bbappends as BBFILES_DYNAMIC
The boot-wrapper-aarch64_%.bbappend and firmware-image-juno.bbappend
should be only considered when meta-arm-bsp layer is present.

Change-Id: Id66a989820675a281946a26b9afec6d5b3d29bca
Issue-Id: SCM-984
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 11:33:49 -04:00
Diego Sueiro 3fc6b1e702 firmware-image-juno: Remove unnecessary machine override
Since firmware-image-juno main recipe is only compatible with juno
MACHINE, the _juno machine override are not needed.

Change-Id: If1b880ee2b6b854f83087005f7ae89f0d77aef7d
Issue-Id: SCM-889
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 11:33:44 -04:00
Diego Sueiro fc1b6dc835 firmware-image-juno: Fix dependency loop
Kernel binaries copying have to be performed in the do_deploy task to
avoid dependency loop between firmware-image-juno do_install and
virtual/kernel do_deploy when INITRAMFS_IMAGE_BUNDLE is set.

Also, copy the kernel image bundled with initramfs to the firmware
image when INITRAMFS_IMAGE_BUNDLE is set.

Change-Id: I66083d294ab4eb77c643ec33cc1333000373125b
Issue-Id: SCM-987
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 11:33:40 -04:00
Diego Sueiro 119d84b39e xenguest-manager: Wait longer for /dev/xvdaX creation
Implement a wait block of 20s with exit condition for checking
/dev/xvdaX creation.
For example, in cases where the rootfs is mounted via NFS, a longer
time is needed until the xvda device appears in the system.

Change-Id: I44cbcf2a43aeb476eae92d5b6d2cfd683e4bdf21
Issue-Id: SCM-929
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 11:33:35 -04:00
Diego Sueiro 23f2f3d180 documentation: Update arm-autonomy-quickstart.md
Suggest the usage of `bitbake-layers add-layer` command to add all
dependant layers.

Change-Id: I1f40f6218b2edc5267e04723c592c16a434f2e82
Issue-Id: SCM-986
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 11:33:30 -04:00
Diego Sueiro d42632b6b7 optee: Use softer assignment to "invalid" for COMPATIBLE_MACHINE
To keep consistency with trusted-firmware-a recipe we should use
softer assignment to "invalid" for COMPATIBLE_MACHINE.

Change-Id: Ib05afcd62b6b2104188b90bad4d952eb055ae443
Issue-Id: SCM-888
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 11:32:54 -04:00
Denys Dmytriyenko d68e63b965 external-arm-toolchain: drop unnecessary RDEPENDS on bash
The 2 scripts that still have /bin/bash shebang are ldd and tzselect. But
it seems upstream had fixed all bashisms in those scripts in recent years
and OE-Core versions of those scripts use /bin/sh already.

Dropping these unnecessary RDEPENDS on bash actually significantly prunes
dependency tree for simple BSP builds like u-boot, etc.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-01 10:01:11 -04:00
Denys Dmytriyenko efd0773165 external-arm-toolchain: drop unnecessary binutils-cross-${TARGET_ARCH} in PROVIDES
There's no need to directly provide binutils-cross-${TARGET_ARCH}, as the
PROVIDES list already contains virtual/${TARGET_PREFIX}binutils and correct
PREFERRED_PROVIDER is set in the corresponding tcmode-external-arm.inc file:

PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-arm-toolchain"

Similar to the compiler:

PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-arm-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-arm-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-arm-toolchain"

And similar to glibc:

PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-arm-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "external-arm-toolchain"

There shouldn't be any direct dependency on binutils-cross-${TARGET_ARCH}. And
if there is, it needs to be fixed to depend on virtual/${TARGET_PREFIX}binutils

During 8.x upgrade there was an attempt to clean it up:

https://git.linaro.org/openembedded/meta-linaro.git/commit/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb?id=a8ce3dc47f3be9f98abc6ac98a849f918386cf9f

But unfortunately, it got re-added back w/o reasoning:

https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=bb04bc8c67fd032fe04c47b2163ea5fa6b2ffa86

Also, while at it, fix indentation for glibc-mtrace in PROVIDES list.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-01 10:00:08 -04:00
Denys Dmytriyenko 8aaba503d3 tcmode-external-arm: drop unnecessary CPPFLAGS and LDFLAGS adjustments
These were there from the very beginning and they were used as crutches to
prop up the build by pointing directly to the external toolchain location,
in case early versions of external-arm-toolchain missed staging/packaging
something from there.

First of all, it is unnecessary to adjust CPPFLAGS and LDFLAGS in this way,
as external-arm-toolchain is supposed to stage everything needed from the
toolchain in internal sysroot.

And second, these settings can be harmful and conflict with component's own
CPPFLAGS/LDFLAGS. For example, OpenCV 4.1 fails to link internal libraries
because of incorrect -Wl,-rpath-link passed down the build.

After dropping these, I was able to verify that everything still builds,
including BSP, Wayland/Weston, Qt5, gstreamer, OpenCV, etc for Aarch64 and
Armv7a platforms.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-01 09:59:25 -04:00
Diego Sueiro d9fbf9da4e meta-arm-bsp: Remove fvp-base and foundation-armv8 simulation tools
Since the Fixed Virtual Platforms simulation tools are not publicly
available, remove them from meta-arm-bsp layer.

Change-Id: Ifece50bfd494241499540030b6ac5968abd8ad1f
Issue-Id: SCM-951
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-01 09:34:23 -04:00
Bertrand Marquis 987cb439ea arm-autonomy: Fix xenguest volume check on boot
Fix xenguest-manager to only check the device configured to be used for
LVM volumes for guests when a guest is created which needs it.

This prevent the manager doing errors during boot when the volume does
not exist even if it is not used by any guest.

Change-Id: Ibc285887836ea40595634412dcfa7ee9039dc220
Issue-Id: SCM-956
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-23 14:38:36 -04:00
Bertrand Marquis 9b9ed8bbbb arm-autonomy: Fix circle dependency in xen-dtb
Solve circle dependency in xen-devicetree when initramfs is activated as
compile depends on kernel:do_deploy and xen-devicetree is needed to
create the arm-autonomy-host-image-minimal.
Move all actions in do_deploy so that only do_deploy depends on the
kernel do_deploy.

Change-Id: I011df8f225550afa71b18a88e0ebe01debca0bed
Issue-Id: SCM-949
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-23 14:38:24 -04:00
Diego Sueiro e921026326 arm-autonomy: Append firmware-image-juno recipe to collect Xen binaries
For juno, the Xen binary and dtb are now collected by the
firmware-image-juno recipe instead of the trusted-firmware-a.

Change-Id: Iaf4e4821e80c09910771c57ba3dbd481626187d5
Issue-Id: SCM-754
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-By: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-23 14:29:24 -04:00
Diego Sueiro d7b179b934 meta-arm-bsp: Introduce firmware-image-juno recipe
Add the firmware-image-juno recipe to produce the Firmware Image for
Juno to be copied to the Configuration microSD card instead of the
trusted-firmware-a recipe.

Include the firmware-image-juno recipe in the EXTRA_IMAGEDEPENDS
only for juno MACHINE.

Change-Id: I316c70f22d57a3d85cc40386f1961ecd23edc865
Issue-Id: SCM-754 SCM-888
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-By: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-23 14:29:19 -04:00
Diego Sueiro 4b84b124cc meta-arm-bsp: Introduce the scp-firmware-juno recipe
The scp-firmware-juno recipe is used to fetch the System Control
Processor (SCP) firmware in binary form for Juno.

Also update the trusted-firmware-a for juno to make usage of
the the SCP firmware binary from scp-firmware-juno recipe.

Change-Id: I2a7e517e06c3bbac6b0ffa3f28e0848d8f30589f
Issue-Id: SCM-754 SCM-888
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-By: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-23 14:29:14 -04:00
Diego Sueiro bd65efd542 trusted-firmware-a: Deliver binaries artefacts to sysroot/firmware
Make usage of the do_install task to deliver binaries artefacts to
the `sysroot/firmware` path, making it easier for other recipes that
depends on it to make usage of those binaries instead of copying them
from the DEPLOY_DIR_IMAGE.

This recipe still deploys its artefacts to DEPLOY_DIR_IMAGE.

Change-Id: I97b97f90b23746557e981f8de10159c5f475becd
Issue-Id: SCM-888
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-By: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-23 14:29:08 -04:00
Diego Sueiro 5368b21fea meta-arm-bsp:trusted-firmware-a: Remove custom do_clean task
The custom do_clean task is not necessary and is misbehaving by not
removing the output files from other tasks.

Change-Id: I5ff837dece88030f24a0dd20c75a738b7b277d61
Issue-Id: SCM-888
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-By: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-23 14:28:19 -04:00
Denys Dmytriyenko 74b76e3281 external-arm-toolchain: split and strip packages normally
In the past, some Linaro toolchain versions were shipped with already stripped
libraries, causing QA issues, hence splitting and stripping was disabled.

This is no longer the case and it is better to split and strip binaries and
libraries normally, generating smaller images, while retaining debug symbols
in corresponding -dbg packages.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-13 17:27:18 -04:00
Denys Dmytriyenko b1f540ffe2 optee-os: unbreak parsing when arch is not armv7a nor aarch64
When meta-arm is in the layer stack, parsing will break for unsupported archs,
like armv5, armv6, etc. Unbreak parsing by defining null default OPTEE_ARCH.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-13 17:27:18 -04:00
Khem Raj 327cd94f49 optee-os: Mark recipes dormant by default
All arm SOCs may not support optee and there are non-arm machines too
this makes this recipe fit into mutli-BSP environments, platforms which
support optee should be specifically called out via COMPATIBLE_MACHINE,
for general case it remains 'null'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-13 17:27:18 -04:00
Denys Dmytriyenko c5643e7cff layer.conf: meta-arm-toolchain should depend on core layer
While core layer may be implied, it's still nice to depend on it explicitly
for building gcc and other toolchain components in this layer.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-13 17:27:18 -04:00
Sumit Garg ea741c16cf meta-arm-toolchain: use GCC 9.2 source tar ball insted of svn
GCC 9.2 source fetch from svn is quite slow as compared to source tar
ball. So switch to fetch GCC 9.2 source tar ball instead.

Reported-by: Riku Voipio <riku.voipio@linaro.org>
Suggested-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-10 10:21:29 -04:00
Diego Sueiro 7857cb4b12 arm-autonomy:init-ifupdown: Fix interfaces.d sub-dir scan
Add a missing line breake ("\") to do_install_append to effectually
append the "/etc/network/interfaces.d/" line into
"/etc/network/interfaces" file.

Change-Id: I1cf4e134639d1f63ada7d068cc2822d1ac4218ea
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-08 09:57:15 -04:00
Diego Sueiro 132db950a0 arm-autonomy: Add Xen specifics from meta-arm-bsp
Variables, settings and operations specific to Xen should be located
at meta-arm-autonomy.

Change-Id: Ida86119e9d196ce8a498b53890b16fefaa3d8d8b
Issue-Id: SCM-769
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-08 09:55:21 -04:00
Diego Sueiro 85eeeea87a meta-arm-bsp: Remove Xen specifics
Remove all variables, settings and operations specific to Xen from
meta-arm-bsp.

These implementations will be added later in another separate layer.

Change-Id: I971a6898f985f5ec7264da5ad5e4b6436067e3dd
Issue-Id: SCM-769
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-08 09:55:14 -04:00
Denys Dmytriyenko ed0e683ee5 optee-examples: cleanup
* Rename with _git suffix to match other optee recipes
* Set PV
* Add DESCRIPTION
* Depend on Python3 version of PyCryptodomex instead of Python2 version of PyCrypto

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-08 09:32:44 -04:00
Denys Dmytriyenko ae6533336f optee-test: upgrade 3.7.0 -> 3.8.0, cleanup
* Drop previously backported patch for Python3 support
* Add DESCRIPTION
* Use common HOMEPAGE
* Depend on PyCryptodomex instead of old PyCrypto

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-08 09:32:38 -04:00
Denys Dmytriyenko 6d0eefa084 optee-client: upgrade 3.7.0 -> 3.8.0, cleanup
* Rename with _git suffix to match other optee recipes
* Add DESCRIPTION
* Use common HOMEPAGE
* Use install command for header files instead of cp -a

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-08 09:32:32 -04:00
Denys Dmytriyenko 43bc224685 optee-os: upgrade 3.7.0 -> 3.8.0, cleanup
* Cleanup the recipe - add HOMEPAGE, update DESCRIPTION, indentation
* Depend on PyCryptodomex, but old PyCrypto is still required
* Ensure full support for arm32 platforms - build corresponding core and TA

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-08 09:32:26 -04:00
Denys Dmytriyenko 4f2443469f layer.conf: add meta-python to LAYERDEPENDS for optee components
optee components use pycrypto, pycryptodomex and pyelftools from meta-python layer

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-08 09:32:08 -04:00
Denys Dmytriyenko b1393356c0 layer.conf: update LAYERSERIES_COMPAT for dunfell
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-08 09:32:05 -04:00
Bertrand Marquis ad6a675817 arm-autonomy: Update quick start guide
Add more documentation to the quick start guide:
- to include guests images in host image
- to boot the host image
- to adapt the layer to new boards

Change-Id: I07ff13190daf404476d28803f43f330fc190cddc
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Vineeth Raveendran <vineeth.raveendran@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis b3e13f492a arm-autonomy: Add external guests to host image
Add ARM_AUTONOMY_HOST_IMAGE_EXTERN_GUESTS variable to let user specifiy
a list of guests to be included directly in the host image.
The variable can be set to a space separated list of full path to
xenguest image files or SRC_URI compatible urls. Each entry can also
have a ';guestname=NAME' argument to set the destination name of the
guest added.

Change-Id: I4fc5e53df979b792ad930066a068ad1d4512c991
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis df189a806b arm-autonomy: Create xenguest network bridge
Add a xenguest-network-bridge script to create a network bridge with the
host interfaces.
Add a xenguest init script to create a xen network interface connected
to the bridge
Add a network interfaces configuration file to have dhcp configuration
on the network bridge
Add xenguest-network-bridge to the default host image
Add XENGUEST_IMAGE_NETWORK_BRIDGE parameter to xenguest-image to let
user setup if a guest should be or not connected to the bridge

Change-Id: Id15fde234386376e89c2562e1ffa935c51affa5b
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis 16e4f7450e arm-autonomy: Add subdirectory config to ifupdown
Modify default interfaces file for network to scan sub-directory
interfaces.d to let other recipes contribute to the network
configuration file

Change-Id: I72cf7fd8ccb51e3cdfdafc368adb4574393fdc08
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis 56196afc91 arm-autonomy: Create xenguest-nodisk-image recipe
Create a xenguest-nodisk-image recipe to be used when wanting to create
a xenguest image without packing in it a root filesystem generated by
Yocto.
This recipe can be used to use aio root filesystem from an external tar
file and just compile and take the linux kernel coming from Yocto.

To achieve this, the variable XENGUEST_IMAGE_SRC_URI_DISK_FILES should
be set to a SRC_URI compatible URL to the tar file and then call bitbake
xenguest-nodisk-image.

Change-Id: I1a8d80b89930f3bb6bcce40a55b4dfce9b5331ef
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis 77c6d12f59 arm-autonomy: Create xenguest-image-extra class
Add class xenguest-image-extra to be used by recipes which wants to add
elements to the generated xenguest image.
The recipes using this call must inherit the deploy class and declare a
deploy task that will be extended by the class. The variables
XENGUEST_EXTRA_* documented in the class can be used to define what
should be used to extend the xenguest image.

Change-Id: I8a7682a7a7ca57b424ea815145408ccb8e4348ca
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis 926ce4ffcd arm-autonomy: Create xenguest image type
Create an image type xenguest to create a xenguest image as part of a
Yocto image (add FSTYPE xenguest).

The image type is using xenguest-base-image as a producer for the
xenguest image directory, adds kernel defined by
XENGUEST_IMAGE_KERNEL to it, adds rootfs if listed in
XENGUEST_IMAGE_DISK_PARTITIONS and pack the final image with file
extension .xenguest with other types of images.

If initramfs is configured, a xenguest image containing the kernel with
initramfs is produced.

The xenguest image type is added to IMAGE_FSTYPES and IMAGE_CLASSES if
arm-autonomy-guest is set in DISTRO_FEATURES.

Change-Id: Ibae8a50d41375839492e43a2e28d9472dc71b4a1
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis 5cd294263b arm-autonomy: Create xenguest-base-image recipe
Add xenguest-base-image recipe to create an initial xenguest image
directory in deploy.
This is using the xenguest-image class.
The recipe is also introducing several parameters named
XENGUEST_IMAGE_SRC_URI_* to allow the user to specify files or elements
to be added to the xenguest image.
Those parameters are documented inside the recipe.

Change-Id: I806a2fa07fb9593c366d88e2f4ee8b649cbcf8ea
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis 4c76616c9c arm-autonomy: Create xenguest-image class
Create xenguest-image class to be used by recipes and other classes to
manipulate xenguest images.
The recipe is defining some variables to configure default parameters of
xenguest image (memory size, number of vcpus, command line, etc.). Those
parameters all have the prefix XENGUEST_IMAGE_ and are documented at the
beginning of the class.

The class also provide some helper functions:
- xenguest_image_create to create a xenguest image (using global
parameters) in deploy as xenguest image directory
- xenguest_image_clone to clone current xenguest image from deploy to be
able to extend it and pack it in a xenguest image file
- xenguest_image_rootfs_file function to allow other recipes to detect
if the rootfs should or not be embedded in the xenguest image

Change-Id: I4ba54aa2c41e72964c152f673b71fe32f30b4aca
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis 3ebc163110 arm-autonomy: Create xenguest-manager
Add xenguest-manager to handle xenguest image based guests:
- create guest (use LVM to create disks for guests)
- start/stop guests
- provide init script to have guest auto started on boot
- add documentation

Change-Id: I5319ecb77f3aa9f8c1aff4891c05973288156f11
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis 37505ea4fc arm-autonomy: Create xenguest-mkimage
Create a xenguest-mkimage tool to create Xen guest images.
Add documentation to explain what is a xenguest-image and how to use
xenguest-mkimage.

Change-Id: Id87240a4dfac2723f1dcceb8bfe969a7633ef261
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00
Bertrand Marquis bca1918461 arm-autonomy: Create xen-devicetree recipe
Create a xen-devicetree recipe to add entries required to boot Xen and a
Dom0 inside a DTB.
The recipe is introducing XEN_DEVICETREE_* parameters to define the xen
command line, the dom0 command line, the dom0 memory size, the dom0
kernel load address and size.
The recipe can also be extended using bbappend to adapt the device tree
and the parameters.
Adaptation are provided to support Juno, fvp-base and foundation-armv8
boards from meta-arm-bsp.
Add xen-devicetree as EXTRA_IMAGEDEPENDS to
arm-autonomy-host-image-minimal

Change-Id: Ibcfbd02c2377a9abcbd20caa47ea833b5308fbac
Issue-Id: SCM-767
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-07 23:32:32 -04:00