1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-07-18 04:27:08 +00:00

Compare commits

..

234 Commits

Author SHA1 Message Date
Abdellatif El Khlifi 2e2dbc2587 arm/trusted-firmware-m: setting the toolchain file path in PACKAGECONFIG
Toolchain files toolchain_GNUARM.cmake and toolchain_ARMCLANG.cmake are
located at trusted-firmware-m source directory.

This commit sets that.

Change-Id: If9c26f65b0c8111a6ff1f1a7d56610563efd501b
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:18 -04:00
Abdellatif El Khlifi ab574b084e arm/trusted-firmware-m: enabling PACKAGECONFIG when using CMake
In case of CMake, PACKAGECONFIG configs take effect when passing
PACKAGECONFIG_CONFARGS to the configure task.

Change-Id: I126ba089c9a5db8e895b8a9545e96ef9fa98ce0d
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:18 -04:00
Ross Burton b4f52f2642 arm/lib/oeqa: fix module lookup
As multiple paths can and do provide modules under oeqa.controllers, all
of these paths need to call pkgutil.extend_path() so the lookup works
correctly.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:18 -04:00
Ross Burton 2d22a1f7ae CI: enable testimage for fvp-base
Inherit fvpboot so that the FVP binary is fetched and configuration
generated.

Configure the FVP to forward host port 8022 to port 22 locally, and
tell testimage to SSH to localhost:8022. This has the limitation that
only one testimage can run per machine, but this will be removed shortly.

Disable the parselogs test case, as there are some harmless warnings in
the dmesg which cause it to fail.  Currently meta-arm can't extend the
whitelist of ignorable warnings.

The FVP binaries are x86-64 only, so tag the job appropriately.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:11 -04:00
Ross Burton ba86aeb31f CI: install telnet into the images
runfvp currently needs telnet to communicate with the guest, so install
telnet into the image.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:11 -04:00
Ross Burton 48524c32d5 arm-bsp/fvp-common: set TEST_TARGET to OEFVPTarget
Set TEST_TARGET so that all FVP machines use the new FVP target out of
the box, instead of attempting to use qemu.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:11 -04:00
Ross Burton 4b1a0c7484 arm-bsp/fvp: enable virtio drivers
All FVPs can use virtio networking devices, so enable virtio in all of
the FVP kernels.

Remove our fvp/fvp-virtio.cfg as there's cfg/virtio.scc we can use.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:11 -04:00
Ross Burton 2824f6a58b arm/oeqa: add FVP testimage controller target
Add a new oeqa.core.target.OETarget subclass for testimage which starts
a FVP using runfvp. This uses --console to connect to the console so
telnet is needed on the host.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:11 -04:00
Ross Burton 0a64644bc9 runfvp: reset the process group on startup
So that it is easy to kill runfvp and everything it starts (such as
telnet or the FVP itself), reset the process group on startup.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:11 -04:00
Ross Burton 491cac17fe gem5/gem5-native: add missing m4-native DEPENDS
Latest oe-core has less implicit DEPENDS, so gem5 fails to configure:

Error: Can't find version of M4 macro processor.  Please install M4 and try again.

Explicitly add m4-native to DEPENDS.

Change-Id: I2e107ea6448eec399619e0d1922fd29930a95fd8
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-20 14:07:11 -04:00
Ross Burton 328d95e27d CI: use http: to access sstate mirror
The sstate mirrors are not available over HTTPS currently due to a
certificate problem, so use plain HTTP instead.

Change-Id: I5b974d67bc13f7c7234927c6bc62a8c733e454c3
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-10-19 16:39:48 +01:00
Hugo L'Hostis 99b9ee4470 kas/fvp-baser-aemv8r64: use honister as default branch
Issue-Id: SCM-3532
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: I05b529da0f5bbdcee038476d07c42f1b6ac0526f
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-15 10:16:14 -04:00
Ross Burton b4bcb3d986 runfvp: use asyncio instead of selector
Using asyncio makes the code easier to understand.  Also start to expose
a callback for when consoles are opened.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-15 10:16:01 -04:00
Ross Burton 3293644cd6 layer: add telnet for testimage/runfvp
Change-Id: Ic31a3bf8ad981c7380339499a377e3f9d676cb15
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-15 10:16:01 -04:00
Hugo L'Hostis 69a36958f0 arm-bsp/fvp-baser-aemv8r64.conf: Use virtio_net User Networking by default
This patch adds config parameters to support virtio_net user networking by
default fvp-baser-aemv8r64 and updates the documentation to remove the old
instructions about setting up tap networking.

Issue-Id: SCM-3536
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: I4f3b74c5ba8b8e0b4205fca643a35affbe50a18c
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-15 08:07:13 -04:00
Hugo L'Hostis e487392975 arm-autonomy/docs: Update docs instructions to use honister
Issue-Id: SCM-3549
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: Ie8537e6574f81f90af254b19d1b38f80ef9aa6fd
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-14 19:15:03 -04:00
Ross Burton 3e39f58630 CI: build against Honister until release
oe-core has branched Honister off and master is taking breaking changes.
As we're still stabilising for release, we should pin to the honister
branches where possible.

Change-Id: Icb05bee45dcc88ca9cbac72b7c18cbaeb89a7491
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-12 12:54:14 -04:00
Khem Raj 363672c8a4 gn: Disable for riscv32
Architecture not supported yet

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-10 13:34:40 -04:00
Jon Mason 98193f3b61 CI: Add zephyr testimage
Add the ability to run testimage against zephyr machines.
Unfortunately, this exposes a bug in meta-zephyr with TESTIMAGE_AUTO not
working correctly.  So, work around this until it can be fixed upstream.
Also, qemu-cortex-a53 does not successfully pass any of the tests it
successfully builds.  So, don't run testimage until that can be
addressed.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-08 12:34:13 -04:00
Jon Mason 335104d6cb ci: use YP sstate mirror
To speed up build times, use the global Yocto Project sstate mirror.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-08 12:34:13 -04:00
Ross Burton 19d4ec05af arm/gn: don't statically link libstdc++
As we're building whole systems and not binaries that are expected to
be copied around, we can dynamically link to libstdc++.

Change-Id: I1e54ca519b069388226f40c489c9194b870a6d3c
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-06 11:51:36 -04:00
Ross Burton 5f90cc4fb1 arm/gn: map the platform identifiers
GN uses its own platform identifiers, so map from our GNU-style names to
the names it expects.

Change-Id: I361536c43f2a9cc5c6dc0a9ad4138433399781d2
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-06 11:51:36 -04:00
Ross Burton 8edc8361b6 arm/gn: remove nativesdk
Building GN in a SDK environment isn't as trivial, as it needs to know
the target configuration it should inherit cross-canadian. Also, building
for mingw32 hosts breaks the build.

For now there's no immediate need for GN in nativesdk, so remove it.

Change-Id: I3b969639fa8ad7780c53ae2bc8a3f166773ee4b9
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-06 11:51:36 -04:00
Ross Burton 8df8b5fab3 arm/gn: don't build with clang
It appears that GN doesn't like to be built with Clang, so disable that
for now.

Change-Id: I01d1d2bf0d646d0841c5f291f07de80837a9a998
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-06 11:51:36 -04:00
Jon Mason 13445dc9b5 arm-toolchain: use better variable name
GCC_VERSION is too similar to existing variable GCCVERSION.  Replace it
with ARM_GCC_VERSION.

Suggested-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-06 11:50:50 -04:00
Ross Burton c2817745c9 CI: reformat .gitlab-ci.yml
Change-Id: Ia4ad65a32a4d09bae05a8f2ab18adc6cf3f820bd
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-10-06 16:30:39 +01:00
Hugo L'Hostis 8f8de6f808 arm-bsp/fvp-baser-aemv8r64: Update to linux-yocto 5.14
Updating the linux kernel version to 5.14 for fvp-baser-aemv8r64.

Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: Iad76939460a32d8e34212e86a45905ffd51deb60
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-05 09:47:29 -04:00
Hugo L'Hostis f3763c5c20 kas/fvp-baser-aemv8r64: Use the HEAD of master for meta-arm and poky
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: I0db7d208146f22020ca56b5618b4c29cd19089a3
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-05 09:47:29 -04:00
Hugo L'Hostis 59809b8111 arm-bsp/fvp-baser-aemv8r64/docs: Add instructions to build previous versions
This patch adds instructions to fetch and build previous versions of the
software stack for fvp-baser-aemv8r64 instead of the ongoing
development.

Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: I430196c0ca80c7f1e4b9f8349cdc957c86f384ee
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-05 09:47:29 -04:00
Ross Burton b3e29e60e7 CI: build a proper TC0 image on x86-64
Change-Id: Id3da3b6efd620c2052ef59dc731e4b159830e805
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-04 18:26:23 -04:00
Ross Burton 3d935719c8 arm/hafnium: use our gn/ninja/dtc
Instead of relying on the prebuilt GN/Ninja/dtc binaries that come with
Hafnium via the hafnium-prebuilts repository, use the recipes that we
build.

We still need to use the prebuilt compilers, but that is being worked
on upstream.

Change-Id: Ife4172d74f7877eaee3c4c414d7afda61332f220
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-04 18:26:23 -04:00
Ross Burton b277050bc9 arm: add recipe for gn
This is a Google build tool used by Hafnium. It will end up in meta-oe
eventually, but until then it can live here.

Change-Id: I7a3df84624664117a6a72e2d93e86036cb483c39
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-04 18:26:23 -04:00
Ross Burton 55e845b3e7 arm/hafnium: package the ELF in hafnium-dbg
The .elf is only useful for debugging, so put it in the dbg package.

Change-Id: If2802e4cf8303e7e8258e81b580a43bdecfa3a0a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-04 18:26:23 -04:00
Ross Burton dc1a435f00 arm/hafnium: clean up install
Hafnium hard-codes a lot of this logic, so do_install can be simplified.

Change-Id: If4f941dff392a6e8d0b7ee9fff68a9836a7fd806
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-04 18:26:23 -04:00
Ross Burton 3f48159b3b arm/hafnium: do out-of-tree builds
Set OUT_DIR to do out-of-tree builds in a directory we control, so we
can wipe it on rebuilds.

Change-Id: I5b96427b6e9d510997de5f2b1947505ad31199dc
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-04 18:26:23 -04:00
Ross Burton f225404c69 arm/hafnium: remove python symlink workaround
Hafnium drops a python symlink into HOSTTOOLS_DIR, which is visible to
all recipes, so building hafnium changes the build environment.

Hafnium, since 6c63a26 (2.4 onwards), uses python3 in its own hashbangs.
The prebuilt clang currently uses python hangbangs but this is fixed in
git, and can be temporarily worked around with a patch instead.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-04 18:26:23 -04:00
Ross Burton 7c3b428f17 arm/hafnium: add missing pkg-config dependency
pkg-config-native is used, so we best depend on it.

Change-Id: Iad57fa306a813828136d2afeefb16c5101512f5b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-10-04 18:26:23 -04:00
Jon Mason 6bdc3553c4 arm-toolchain: use variables
Use variables to make it easier to upgrade when the time comes.

Change-Id: I9f2575279fe79bc0d895d47fdaffd2d5edd4aa59
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-27 09:38:53 -04:00
Ross Burton 2ead4e6caa runfvp: exit cleanly if tinfoil cannot be imported
If bb.tinfoil cannot be imported, display a nice error instead of a
backtrace.

Change-Id: I20dab9dfdbd57c8e90c8321072bab4f70b8ace47
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-27 09:38:53 -04:00
Ross Burton cdc91df4fc runfvp: ensure the default terminal is usable
Pick a default terminal which will actually work, instead of defaulting
to xterm even if xterm isn't installed.

Also show the default in the --help output.

Change-Id: Ib3e7c32917725f404a171248549b6f9c0afe8158
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-27 09:38:53 -04:00
Ross Burton 7cb1866728 runfvp: refactor argument parsing
No behavioural changes, just cleanup.

Change-Id: I04d82512493a2f90e810198e520f672284cd3eb2
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-27 09:38:53 -04:00
Ross Burton c5465209c1 runfvp: handle control-c cleanly
If the script receives control-c, don't display the stack trace.

Change-Id: Id0ebf9476ecd685302723fde6a36c2e899d0f3eb
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-27 09:38:53 -04:00
Ross Burton 7819d6bed8 arm/fvpboot: clean up fvpboot_vars
Change-Id: I43a04cd1b977fbf7d0050b2ab9e7509c0439dca5
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-27 09:38:53 -04:00
Ross Burton 67000ba030 arm-bsp/fvp-base: enable user-mode networking in runfvp
Enable user-mode networking with virtio out of the box.  This way port
forwarding can be configured easily without needing to setup host tap
ports.

Moving forward this may be controlled more by runfvp with the machine
configuration simply saying what configuration parameter to use (in this
case, bp.virtio_net), but this is a good starting point to iterate from.

Change-Id: I0b610df87c7dd2c8e3e213daaa967618babbdc7c
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-27 09:38:53 -04:00
Ross Burton 3fd69019e5 arm-bsp/fvp-base: tell FVP to exit on shutdown
Pass bp.ve_sysregs.exit_on_shutdown=1 so that the FVP exits if the
emulated machine shutsdown, which is typically the desired behaviour.

Change-Id: Id2f92df4af67ca5cadc645948eccf9c93af3f8f9
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-27 09:38:53 -04:00
Ross Burton 9fa908a67a arm: add back linux-yocto defconfig changes
linux-yocto has moved to 5.14, which still needs defconfig tweaks to
build without warnings.

Change-Id: Ia14c02562cf0ccb5fb8fd8544901530a0cfb487b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-27 09:38:53 -04:00
Hugo L'Hostis c1755d99af arm-bsp/n1sdp: remove debug and verbose kernel cmd line parameters from grub cfg
By removing the verbose and debug kernel command line parameters from the grub
menu entries we prevent the console printing unnecessary messages and slowing
down the boot process.

Issue-Id: SCM-3027
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: Ieb68c606b7ed5b20191f6989aea84963b8cda778
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-21 09:13:05 -04:00
Ross Burton 898aa08df6 CI: add a job to build the FVP packages
This doesn't execute anything but simply checks that the publically
available FVPs can be downloaded and packaged.

Change-Id: I13895faa6fe6b19363854c33275a3febf61b7132
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton 35acf44b39 CI: add FVP-EULA to the license whitelist
So that we can build and use FVP packages in the CI, agree to the FVP
EULA.

Change-Id: Iaff2398000c30782f48f70714846d3f1028b34bb
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton 730fcd5bbf arm/fvp: add Total Compute FVP
Change-Id: Iaeff2027ac055519d30d160c97b905974b85567b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton 41485dbea4 arm/fvp: add corstone700 FVP
Change-Id: Ia3a80cf34aeb2e4473bc6b6317852e152a5cbcff
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton 0a1e13dbd5 arm/fvp: add corstone500 FVP
Change-Id: I70e745a2bb7328c8abcb950340d99e9fc39d754a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton 7347a47af4 arm/fvp: add upstream version checking
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton 5bfe52b5cf arm/fvp-ecosystem: use all-dots versions
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton 91717b4871 arm/fvp-base-*-aem: use all-dots versions
Change-Id: Ie1a5f2de6dcdd1331914798f072ce752e4de1532
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton f8ec2709a1 arm/fvp-common: store the mangled PV as PV_URL
FVP versions in the download URLs are expressed as 11.12_13, but ideally
we'll use a rationalised 11.12.13 form as it's more consistant.

Add a function to transform from a all-dots form to use underscore for
the final portion, and expose this version as PV_URL.

Change-Id: I632b33913baba0f0847440595ef0699d0a769166
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton 9a09fadc11 arm/fvp-base-a-aem: use public SRC_URI
This FVP is now freely available without a login, so we can download it
directly.

Change-Id: I8ba041c44233cfbba5e3c223f07acc531a2e5f5c
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton c9eaf80eeb arm/fvp-base-*: factor out commonality to fvp-envelope.inc
The fvp-base-a-aem and fvp-base-r-aem recipes have a lot in common, so
extract that into a fvp-envelope.inc file.

Change-Id: I9390f05e98bec0c1a236bc3c5d55b7144da1e1fd
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton dd0c457ce2 arm/fvp: don't inhibit default dependencies
The FVPs are precompiled binaries so we can theoretically avoid the
default dependencies (gcc and friends), but this means that packaging
doesn't succeed for non-native builds as objcopy (from binutils-cross)
is needed during do_package.

Until oe-core is fixed to depend on binutils-cross, don't disable the
default dependencies.

Change-Id: I9ec292d21c4f9db4e02587b7f58f46852cbc2c3d
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 15:56:32 -04:00
Ross Burton 9c15d29a63 CI: don't build the binary toolchains in bootstrap
This job just exercises the binary toolchain packages, so there's no
need to do it in the bootstrap stage.

Change-Id: I9d1697791a1e427d594bd8d99c5cad45961f4c5b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 11:28:07 -04:00
Ross Burton 6d5c14a64a arm-toolchain/gcc-aarch64-none-elf: upgrade to 10.3-2021.07
Change-Id: Ie58f448511ef4f1d23cfd4a9d1dc275f7a216a50
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 11:28:07 -04:00
Jon Mason 88343979fd README: Add root directories
Add ci, kas, and scripts to the README to document their intended uses.
Also, alphabetize the layer entries.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 11:01:24 -04:00
Kamil Dziezyk 71df1d2f82 arm-autonomy/n1sdp: Fix xen build after tunes files update
After update f9cd6797d2 xen build ends with:
| cc1: error: switch '-mcpu=generic' conflicts with '-march=armv8.2-a+crypto' switch [-Werror]
| cc1: all warnings being treated as errors

This patch removes '-march=*' build flag for xen build.

Issue-Id: SCM-2987
Signed-off-by: Kamil Dziezyk <kamil.dziezyk@arm.com>
Change-Id: I526c412a0174cdf715b87fcac077b314bf368b8a
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 11:01:24 -04:00
Kamil Dziezyk 344a5edab2 arm-bsp/n1sdp: Pin linux-yocto-rt to 5.10
This pins the rt kernel to the same version as the standard kernel.
Poky has recently upgraded to 5.13, which has not yet been validated
on the n1sdp.

Issue-Id: SCM-2987
Signed-off-by: Kamil Dziezyk <kamil.dziezyk@arm.com>
Change-Id: Ie53c27e46f529f5e5dc5a6a6b32d2c021ca22651
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 11:01:24 -04:00
Kamil Dziezyk d857095f79 arm-autonomy: Add missing new override syntax
Issue-Id: SCM-2987
Signed-off-by: Kamil Dziezyk <kamil.dziezyk@arm.com>
Change-Id: I8d200f1594005f0f9288683d4f1a5f31c2f29b44
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-20 11:01:24 -04:00
Jon Mason e7d2c8eea4 arm: drop linux-yocto defconfig patch
defconfig patch was upstreamed and is no longer necessary here.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-15 10:55:57 -04:00
Hugo L'Hostis 7a7ab05e57 arm/fvp-base-r-aem: Remove unused FVP_BASE_R_ARM_EULA_ACCEPT variable
The FVP_BASE_R_ARM_EULA_ACCEPT variable is set by kas and doesn't need
to be initialised in the bb recipe.

Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: Idbaa8b9fb7753e3c1f77e88710109324322aaf05
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-15 09:00:10 -04:00
Jon Mason eba91cc15b ci: update binary gcc version to 10.3
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-14 11:47:44 -04:00
Jon Mason bf5ec4f203 ci: make get-binary-toolchain run per build
In a distributed, non-homogeneous CI setup, the binary-toolchain setup
script might not run on the machine that needs the toolchains.  Make
this per-build and it will always be there, at the expense of running on
builds that might not need it (though it still should be fast).

Also, there is an issue with the directory where the binary toolchain is
located being global, and racing against other systems using, setting up,
and tearing down.  Link this to a local directory to avoid any races.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-14 11:47:44 -04:00
Jon Mason 6566abf9d7 arm: move linux-yocto bbappend to be generic
Remove anything that fixes the kernel version to being 5.10 and let it
float.  Currently, qemuarm64-sbsa was not using the 5.10 kernel, which
means the defconfig patch wasn't even being applied.  Remove patches
that don't apply to 5.13.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-13 13:46:08 -04:00
Anders Dellien e3943b4c50 arm-bsp/tc0: Update kernel configuration to support Android S
Android has deprecated ION and moved to dmabuf instead.
Update the kernel configuration accordingly.

Also, enable "CONFIG_DEVFREQ_THERMAL" as this is required by
the GPU libraries

Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Change-Id: I7ee3659792984f71cf818ef175d7e5ecc25c6d93
2021-09-10 07:41:11 -04:00
Peter Hoyes da848fd7ef arm-bsp/fvp-baser-aemv8r64: Pin linux-yocto-rt to 5.10
This pins the rt kernel to the same version as the standard kernel.
Poky has recently upgraded to 5.13, which has not yet been validated
on the fvp-baser-aemv8r64.

Issue-Id: SCM-2987
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: Id7cd02bb9610d82adbe590777517649596d32172
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-07 21:26:19 -04:00
Usama Arif 46e8fc6a67 arm-bsp: Update TC0 components
This makes them common with TC1 and also adds support for FFA v1.1.

Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-01 13:11:29 -04:00
Peter Hoyes ba55d78916 arm-bsp/docs: fvp-baser-aemv8r64 change log fixes
* change Changelog to Change Log.
 * change armv8r64 to Armv8-R64.
 * ensure all log entries have a period.
 * change the order of the entires to highlight key release features.

Issue-Id: SCM-2987
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: Id77ec01c455ac8954a965af8659421cc485e4778
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-01 10:59:49 -04:00
Ross Burton a6ff8238d9 Revert "CI: use the kas:next image"
The kas:latest image now has the updated build dependencies, so use that
again instead of the potentially unstable next image.

This reverts commit 6b1d8abb3b.

Change-Id: I28409bb176df91b7e8ebb558814b3d65dec78724
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-09-01 10:59:49 -04:00
Sumit Garg 13972eed3c arm-toolchain: Uprev 10.2 -> 10.3
Update Arm GCC toolchain recipe and patches accordingly.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>

Changes in v2:
- Drop support for 10.2 release.
- Update CI to use 10.3 release instead.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-25 19:16:04 -04:00
Peter Hoyes 9a2078a107 arm-bsp/docs: fvp-baser-aemv8r64 readme updates
* Add missing net-tools to apt-get install list
 * Use export to set FVP_BASE_R_AEM_TARBALL_URI and
   FVP_BASE_R_AEM_EULA_ACCEPT and make kas build its own command.
 * Change bp.hostbridge.interfaceName=tap0 to
   bp.virtio_net.hostbridge.interfaceName=ta0 for runfvp, so that the
   FVP can access the external network.

Issue-Id: SCM-2987
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: If9052400d2ae199861bc00ce119d28069f476f7e
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-23 18:06:10 -04:00
Peter Hoyes 65c935141d arm-bsp/docs: Reword fvp-baser-aemv8r64 known issues
The wording implied they were limitations of the architecture, so
rewrite to make clear they are software restrictions.

Issue-Id: SCM-2987
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I79ca1ac7cdce709015de1c539a6ec7fe1650d384
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-23 18:06:10 -04:00
Peter Hoyes 4865a2ceee arm-bsp/docs: Add fvp-baser-aemv8r64 changelog
Issue-Id: SCM-2987
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I1caeb64ab50d54869a9629ac74fcc1399279c41d
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-23 18:06:10 -04:00
Jon Mason 9e2829a30c gem5: re-add Xen support to 5.4 kernel
The meta-virtualization support for the 5.4 kernel was removed in favor
of the 5.10 kernel.  This file was only a versioned include of a generic
file, which can be readded in the kernel bbappend.

Change-Id: I922e847a89e9f29fc69c1f537f9da088685b3de4
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-21 17:25:03 -04:00
Jon Mason d6d1edd9c1 arm-bsp: remove tunes that are now upstream
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-21 16:55:58 -04:00
Ross Burton 203ee49cc4 arm-bsp/scp-firmware: unify TC versions
The base version is 2.8.0, so these should be 2.8.0+git.

Change-Id: Ief7c3176e46f6ec8b4549375f9be776a7ffbd4d7
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-21 10:55:36 -04:00
Ross Burton 6b1d8abb3b CI: use the kas:next image
OpenEmbedded Core master now depends on a few more build tools, so use the
kas:next image until these have been merged into kas:latest.

Change-Id: Ib4c36037d74ec6febca120346bd5bcb08acfccf6
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-20 09:29:10 -04:00
Jon Mason 912901ba53 arm/qemuarm64-secureboot: use 5.10 kernel
qemuarm64-secureboot is failing to boot with the 5.13 kernel.  Use the
5.10 kernel until this can be addressed.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-19 12:17:02 -04:00
Jon Mason 729c01ad2e arm-bsp/linux-yocto: Add 5.4 kernel
Temporary hack to allow for things to continue to work, while waiting
for the platforms to migrate to a newer kernel.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-18 13:10:22 -04:00
Jon Mason 54f5f1c074 arm/machine: update to new tunes locations
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-18 13:10:22 -04:00
Jon Mason d6538126ff arm-bsp/linux-yocto: migrate corstone700 to the common file
The Linux kernel entries for corstone700 are not much more than any
other BSP.  Migrate them to the common file for easier development and
debugging.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-18 13:10:16 -04:00
Jon Mason 5f73b570bb arm-bsp/linux-yocto: Alphabetize platform inc file
This file was mostly alphabetized from previous attempts.  Restore them
to being alphabetized again.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-18 11:55:10 -04:00
Ross Burton b7d161b23f arm-bsp/linux-yocto: drop upstreamed N1SDP patch
This patch was upstreamed in 5.10.54.

Change-Id: Iacf6345c4d4ffa8e512e2f812876fdd50a057f96
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-18 11:10:25 -04:00
Diego Sueiro 60e0b0a9c9 kas/fvp-baser-aemv8r64: Pin meta-arm to a stable build revision
Issue-Id: SCM-2989
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: Id3e1362a6a727102ca5986e5e781280442348cf7
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-18 09:53:47 -04:00
Jon Mason a23f2da8ab qemu-cortex-r5: add support
Mostly for testing out cortex-r tunes...mostly

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-16 17:35:49 -04:00
Jon Mason f0685a0c38 arm-bsp: cortex-r tunes
Add support for all of the Cortex-R CPUs currently supported in GCC.
Having to get creative here to properly use the GCC extensions.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-16 17:35:49 -04:00
Jon Mason 33328d26c5 arm-bsp: remove upstreamed cortex-m tunes
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-16 17:35:49 -04:00
Diego Sueiro ce6c4936e5 arm-bsp/fvp-baser-aemv8r64: Update documentation
Add information about PSCI support as well as known issues and limitations.

Also, update the fvp-baser-aemv8r64 kas config file to fetch the layers under
the layers directory and pin poky to a stable build revision.

Issue-Id: SCM-2989
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: I8e2b30ba708f6ff7fdf43f29eede0e65aa3685ca
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-16 11:16:05 -04:00
Usama Arif e8c1001068 arm-bsp/tc1: Add support for new TC1 platform
The same patches are used by tc0 and tc1. Hence rename the folders
that contain the Total Compute patches to be called "tc". The
artifacts image is used by both tc0 and tc1, hence renamed to
tc-artifacts-image.

Signed-off-by: Usama Arif <usama.arif@arm.com>
Change-Id: Ib0b4fbca9a009c432c1e6696c5437a7d24a25d1f
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-16 11:16:05 -04:00
Denys Dmytriyenko 45642fca29 arm-toolchain: grub: fix do_configure() breakage with external-arm toolchain
grub and grub-efi break in do_configure() when using external-arm toolchain:

| checking for aarch64-poky-linux-objcopy... no
| checking for objcopy... objcopy
| checking for aarch64-poky-linux-strip... no
| checking for strip... strip
| checking for aarch64-poky-linux-nm... no
| checking for nm... nm
| checking for aarch64-poky-linux-ranlib... no
| checking for ranlib... ranlib
...
| checking whether objcopy works for absolute addresses... configure: error: objcopy cannot create binary files

That is due to external-arm toolchain's target triplet aarch64-none-linux-gnu
being different from OE triplet like aarch64-poky-linux and configure script
trying to use it to find binutils binaries like objcopy, falling back to host
ones.

Help configure script to find correct objcopy and other binaries by passing
the correct target triplet with --target parameter set to EAT_TARGET_SYS,
overriding the default OE one.

Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-14 20:52:38 -04:00
Jon Mason c561f356ed ci: move meta-virtualization back to master branch
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-13 11:11:43 -04:00
Ross Burton b1d667c396 scripts: add machine summary report tool
machine-summary.py is a tool to generate a report of what recipes and
versions are used for what machines, and what the latest upstream release
is.

Change-Id: Iecf21a14057df0fd1cb05be9b54c621dfbaddd94
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-12 09:49:19 -04:00
Ross Burton 8f204c28da ci/check-machine-coverage: use listmachines.py
Change-Id: I5a7e706ae29b76a39aed8acfc0cd825e942b1cfe
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-12 09:49:19 -04:00
Ross Burton abe47cb981 ci/listmachines: add helper to list machines in a layer
Instead of duplicating this logic, put it in a little helper module.

Change-Id: I2ca881c8de7e6ec6d4a940255d9ba97226e78d87
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-12 09:49:19 -04:00
Diego Sueiro 1bd54eee7d arm-autonomy/arm64-autonomy-guest: Add tar.bz2 by appending to IMAGE_FSTYPES
This wil prevent default values assignment (?=) to be ignored depending on the
config files parsing order.

Issue-Id: SCM-3027
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: I0629b52ad100c10eaac9f7004bcdfc778de678f0
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-11 14:26:04 -04:00
Kamil Dziezyk 209c46bd5b arm-autonomy/xenguest-network: add missing new override syntax
Issue-Id: SCM-3027
Signed-off-by: Kamil Dziezyk <kamil.dziezyk@arm.com>
Change-Id: Idf757266faf655527179b0d23a0ff8bafc90ff2f
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-11 14:26:04 -04:00
Jon Mason e564544a68 arm-bsp: tune file clean-up
Remove tune files that are already in oe-core, and move ARMv8 ones to
their theoretical location.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-11 14:26:04 -04:00
Jon Mason 181abb1737 CI: Remove qemuarmv5 parselog workaround
qemuarmv5 parselog fix is now upstream.  Remove the workaround.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-10 09:18:28 -04:00
Jon Mason c3e3a2fd96 arm: remove support for hardknott and older
No testing is being done against older branches.  Only have the
compatibility set to honister to prevent any issues.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-10 09:18:28 -04:00
Jon Mason f9cd6797d2 n1sdp: use upstream tunes file
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-10 09:18:28 -04:00
Jon Mason 99f40454ad sgi575: remove redundant entry
sgi575 already has the defconfig entry in the include file.  Remove the
redundant entry from the machine config file.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-10 09:18:28 -04:00
Jon Mason c72389f633 arm-bsp: update 5.6 Linux kernel recipe to 5.6.19
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-10 09:18:28 -04:00
Jon Mason ae7ed6c9db arm-bsp: Update kernel recipes to match upstream format
Using recipes-kernel/linux/linux-yocto_5.4.bb as a guide, format the
kernel recipes to match.  This enables easier diffing and updating.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-10 09:18:28 -04:00
Jon Mason c0bc7e9e8f CI: move xen specific changes out of gem5-arm64-xen.yml
Move the xen specific changes out of gem5-arm64-xen.yml.  This allows
for other xen machines in the CI.  Adding Xen machines for qemuarm and
qemuarm64 allows for more testing, which should be expanded when the Xen
Test Framework in meta-virtualization is expanded to work on arm
machines.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-06 12:47:35 -04:00
Jon Mason e62567a386 CI: rename meta-python to meta-openembedded
Rename the meta-python.yml file to be meta-openembedded.  This allows
for more usage of the layers present there (as meta-python is housed
under meta-openembedded).

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-06 12:47:19 -04:00
Jon Mason 8f259bf092 corestone500: clean-up kernel entries
Correct an override syntax issue with the kernel and move the relevant
kernel entries from the machine config to the kernel include file to
match the other machines in meta-arm-bsp

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-06 12:46:51 -04:00
Jon Mason cc42e5499d juno: temporarily pin 5.4 kernel version
Recent changes in the 5.4 kernel are preventing the juno patches from
applying.  Temporarily pin the kernel to the version prior to this until
the patches can be rebased.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-05 19:12:41 -04:00
Jon Mason cff87446d2 CI: use meta-virtualization master-next branch
Use master-next for meta-virt while waiting for the syntax change
patches to make it into master

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-05 19:12:41 -04:00
Jon Mason 6df2c5c882 CI: fix check-layers
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-05 19:12:41 -04:00
Jon Mason 6c7d6b80f2 gem5: Fix xen override syntax bug
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-05 19:12:36 -04:00
Jon Mason 8dfdacd75c meta-arm: Convert to new override syntax
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-04 12:29:51 -04:00
Jon Mason 3899adac99 CI: increase CONF_VERSION
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-04 12:29:51 -04:00
Jon Mason 239e939340 meta-arm: Add honister layer compatibility
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-08-04 12:29:21 -04:00
Hugo L'Hostis 1b7c5b2010 arm-bsp/fvp-baser-aemv8r64: add support for virtio-9p
This patch adds a device tree entry and kernel configs to enable file
sharing between the host and the FVP using the virtio P9 device
component.

Issue-Id: SCM-2299
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: Icd757e3c6281e5e84985a3caac72e860a4aeee7f
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-31 22:38:03 -04:00
Anders Dellien 4371f0daee arm-bsp/tc0: use config fragment for kernel command line
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Change-Id: Iabd84ff5a07b78503e45203542aafac738c9c324
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-29 16:10:47 -04:00
Ross Burton 8e511f1acf arm/linux-yocto: re-generate defconfig.patch for qemuarm64-sbsa and generic-arm64
This patch was getting confusings, so regenerate the minimal form and
explain what each change is for.

Change-Id: I313249d46d55399626151cb22a9bc11bec9fb253
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 14:36:21 -04:00
Ross Burton 6dc5a85dba arm/linux-yocto: remove SRCREV pin
This SRCREV pin isn't needed anymore, so remove it.

Change-Id: I39a02617840cfccb006b2e1e77cd2ce4f4e942e4
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 14:36:21 -04:00
Ross Burton 5ca4159db6 arm/generic-arm64: recommend kernel modules and firmware
The generic-arm64 machine is meant to be generic, so pull in all the
kernel modules and firmware we have to increase the chances of hardware
working out of the box.

Change-Id: I51f500f6a6f821fa8df5bee062a52077dcf8e564
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 14:36:21 -04:00
Ross Burton 59d574a1e4 arm/linux-yocto: enable USB Type-C Port Controller Interface in generic-arm64
This is needed for hardware with USB Type C ports to work properly, so
enable it in generic-arm64 kernels.

Change-Id: I61e8dafde8ccdbacf35f58da8aef07d35a70193c
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 14:36:21 -04:00
Jon Mason 9bdfd40ffd CI: add ssh tests
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 13:56:38 -04:00
Hugo L'Hostis 23a1149304 arm-bsp/fvp-baser-aemv8r64: Add support for runfvp
This patch adds support for runfvp to fvp-base-r:
- Add necessary parameter to the fvp-baser-aemv8r64.conf
- Add fvp-base-r-aem bb file
- Add kas support

Issue-Id: SCM-2953
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: I252b445297f2d61a90e3cd8f0ec1816890cf733b
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 09:49:56 -04:00
Hugo L'Hostis 4cfddc2b26 arm-bsp/fvp-baser-aemv8r64: Use master as kas default refspec
the default refspec for the repos used by kas is now master.

Issue-Id: SCM-2953
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: I9a68ca36f107e0b72c97b7a402829fec850d8acc
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 09:49:56 -04:00
Jon Mason ba3c2eead6 CI: add qemuarm clang testimage
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 08:07:51 -04:00
Jon Mason e74bfb3977 CI: Add bootstrap for clang
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 08:07:51 -04:00
Jon Mason 109d594b84 CI: merge testimage into the build stage
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-28 08:07:51 -04:00
Ross Burton 2e4114a869 arm/hafnium: use sysroot libcrypto
Hafnium's build of the kernel needs libssl-dev to be installed on the host.

Instead, DEPEND on openssl-native and patch the lookup to use pkg-config-native.

Change-Id: Id184865183cde487cacd73740a916166c2900a66
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-27 14:23:42 -04:00
Arunachalam Ganapathy 3f9d822025 arm-bsp/tc0: add managed exit patch for optee
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: I2a8db6024af35bf95e94963b58011daebb3c666b
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-27 09:43:01 -04:00
Arunachalam Ganapathy e5f3ae665d arm-bsp/trusted-firmware-a: update SHA for tc0
This SHA contains fix for SVE and AMU extension

Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: Iefa3e8f9bee41098ea49304d88dc04df74ddcb9c
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-27 09:43:01 -04:00
Arunachalam Ganapathy 44ba4315dd arm-bsp/scp-firmware: update SHA for tc0
This SHA contains fix for IRQn type conversion issues

Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: I10cc4729df3e12c549413f40d390c24f318c4577
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-27 09:39:21 -04:00
Arunachalam Ganapathy c17dfab3aa arm-bsp/tc0: update Hafnium to 2.5
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: I2da38cff515cb543a31c7d8e2c50b51ff94ca8d3
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-27 09:39:21 -04:00
Arunachalam Ganapathy 001668e2ac arm/hafnium: update to version 2.5
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: I1405bd4df424e70af1286ccc675001bd79726b48
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-27 09:39:21 -04:00
Arunachalam Ganapathy 640600304b arm-bsp/tc0: Update optee to 3.14.0
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: Ic70bcab5a3e0b7ccf6deb9a0dc3efe21112995fa
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-27 09:39:21 -04:00
Arunachalam Ganapathy 9a20a5cc10 arm-bsp/linux: add ffa driver to TC0
This includes the initial version of ffa driver and optee driver
support for FF-A to ACK 5.10

Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: I8a2c6d0e26422bd2183f3c1f370b0c08eeba7c1e
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-27 09:39:21 -04:00
Anders Dellien 7612faf780 arm: update Android common kernel
Update ACK to 5.10 and remove the 5.4 recipe

Change-Id: I7a0cc0bc95d02bed965530d36aedaf544045fee4
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-27 09:39:21 -04:00
Sumit Garg 2f5216c45f arm/optee: version uplift 3.11.0 -> 3.14.0
Brief description of changes:
- Version uplift 3.11.0 -> 3.14.0.
- Removed OP-TEE patches that has already been accepted upstream.
- Added support for tee-supplicant plugin framework testing.

Tested on qemuarm64_secureboot:
$ xtest -l 15
$ optee-examples_*

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-27 09:38:30 -04:00
Qi Feng a37655b523 arm-bsp/linux: Add PMU support to fvp-baser-aemv8r64
Set Shared Peripheral Interrupts (SPIs) for PMUIRQ so that profiling
tools (such as perf) can use PMU events.

Issue-Id: SCM-3164
Signed-off-by: Qi Feng <qi.feng@arm.com>
Change-Id: Idcfee3f33d9f9e15578405dd39be4f434f3faa06
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-26 10:04:22 -04:00
Hugo L'Hostis be58ae8134 arm-autonomy/fvp-base: Add support for runfvp for arm-autonomy-host
Expand the FVP_DATA variable used by the fvpboot.bbclass to load both Xen
and its device tree when building arm-autonomy-host image for fvp-base.

Issue-Id: SCM-2718
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: Ia6e2f6a13e84c8e762d297ac34ccbe5417a7793b
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-26 10:04:00 -04:00
Ross Burton 3615b2f671 CI: set interruptible on all jobs
The previous attempt at setting interruptible didn't work as it needs to
happen on all tasks, as once a single uninterruptible job has executed
the pipeline cannot be cancelled.  Unfortunately the setup jobs were
not interruptible, so the pipeline could never be cancelled.

Change-Id: I5416bc3f9a883ace24c12607b2ebc24bc428b50b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-21 09:46:31 -04:00
Ross Burton 6e260464be arm/generic-arm64: set machine features
Set a slew of generic machine features that other parts of oe-core will
respect.

Change-Id: I47ea187128c7e3a9f8b711b74467b20b9cb4fcee
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-20 10:43:22 -04:00
Ross Burton 001be1911e arm/generic-arm64: use a custom EFI wic file
Instead of using the pre-canned Wic kickstart file, provide our own.
This lets us specify that UUIDs should be used in the fstab, meaning
that the image is agnostic to the device type.

Change-Id: If9c0083c16f8bd2ad7d573a0d356383553aa8936
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-20 10:43:22 -04:00
Ross Burton 7a2933483e arm/generic-arm64: don't set SERIAL_CONSOLES
This machine expects something approximating SystemReady, which means
the firmware should be capable of telling the kernel where the console
is.

Remove SERIAL_CONSOLES so the kernel does what the firmware is told, and
doesn't try to use serial consoles that don't exist.

Change-Id: Ib0b008fececf4c046112bdede9d0d3ebf9dc332b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-20 10:43:22 -04:00
Ross Burton 9efa3b5683 arm-bsp/fvp-baser: use common fvp-base.wks file
fvp-baser-aemv8r64.wks is identical to fvp-base.wks, so just reuse it.

Change-Id: Ib7db425b35cfd68494beb167fe167c46cdd32b3d
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-07-15 15:24:52 +01:00
Ross Burton 3277f66980 arm-bsp/fvp-base: use the mainline linux devicetree
When the FVP Base machine was first added the mainline kernel didn't
have a usable Devicetree.  This is no longer the case, so use the
fvp-base-revc devicetree in the kernel.

Change-Id: Ib1c4dc332776b393869c6fb3f11be1811a6544f5
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-07-15 12:05:26 +01:00
Ross Burton 8ec7d455a6 arm-toolchain/armcompiler: add EULA comment
Change-Id: I9a46986f0ce23d60acc60a35a8b43d55cf6a512e
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-07-14 12:05:38 +01:00
Anders Dellien 6bf368c4db arm-bsp/tc0: move to u-boot 2021.07
Also add necessary patches.

Change-Id: I7ef31832e3bd0521c03a3945e8b70596d2ef0f73
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
2021-07-13 18:24:10 -04:00
Jon Mason 709b5de7e0 arm-bsp/fvp-base*: update to u-boot 2021.07
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-13 08:10:47 -04:00
Huifeng Zhang a84f37cb8d arm-bsp/boot-wrapper-aarch64: Enable SMP support for fvp-baser-aemv8r64
Downstream patch "Allow --enable-psci to choose between smc and hvc"
from boot-wrapper-aarch64. With this patch, kernel can bring up
secondary core successfully through hvc call.

Issue-Id: SCM-2949
Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
Change-Id: Iecc99d925317ab7981284671cb8cc4ef1894e6d6
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-08 15:39:45 -04:00
Damodar Santhapuri b05378f479 arm/scp-firmware: Fix secondary cpus boot issue
The below assertion is observed in linux kernel booting secondary cpus.
fix is available in scp-firmware's master.

ASSERT: drivers/arm/css/scmi/scmi_pwr_dmn_proto.c:48
BACKTRACE: START: assert
0: EL3: 0x400557c
1: EL3: 0x40031b8
2: EL3: 0x400abec
3: EL3: 0x4006898
4: EL3: 0x4008c70
5: EL3: 0x4008a48
6: EL3: 0x4009d60
7: EL3: 0x400af74
8: EL3: 0x40053e8
BACKTRACE: END: assert

Change-Id: I79ec7007aadbe9947368cb471da159cbb965e04c
Signed-off-by: Damodar Santhapuri <damodar.santhapuri@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-07 09:27:56 -04:00
Diego Sueiro 1cb359f767 arm-autonomy: Bump Xen to 4.15
Also remove disabling CONFIG_ARM64_SVE in the kernel since it is now supported
in xen 4.15+

Issue-Id: SCM-3027
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: I8fa09a10d16e892ea24e6abc77678d2fb1947e43
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-07 09:27:56 -04:00
Ross Burton c3761f6a24 CI: add packaging test for the binary Arm compilers
Add a trivial job that verifies the binary Arm compiler packages all
fetch and package correctly for both x86-64 and arm64.

Change-Id: I1e29cc175d66d418630505dcac1a87cdf5c0024a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-07 09:27:47 -04:00
Ross Burton 339420ae77 arm-toolchain/armcompiler: fix checksums and installation on arm64
The tarball has been regenerated with new license texts, so the
checksums are different.

Also, patch out the host architecture test in the installer: we might
want to package the armcompiler for a x86 target on a arm64 machine.

Change-Id: Iedf0113c53b6567e3e4e716e2a0db98776d1da6d
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-07 09:22:51 -04:00
Ben Horgan 40e3391fa5 arm-toolchain/gcc-aarch64-none-elf: Fix license checksums
Signed-off-by: Ben Horgan <ben.horgan@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-07 09:20:06 -04:00
Ross Burton a915532234 ci/check-warnings: ignore warnings that we're using the mirror
SourceForge in particular doesn't like multiple connections from the
same IP, but when a source mirror is being populated for the first time
this will happen. Our fetch falls back to the Yocto mirror so it doesn't
cause a failure, but there is a warning logged which our CI then fails
because of.

As we don't care about these warnings, filter them out of the log before
checking if there were any errors.

Change-Id: I36c97c5d9923f1c4d14c4588f3780211cccb57b2
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-07 09:20:06 -04:00
Ross Burton 427c728915 README: update
Change-Id: Ia28bbbbe07108cd8442a93b50cee8b647c03643b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-07 09:20:06 -04:00
Peter Hoyes 079f34ce9f arm-bsp/arch-armv8r64: Introduce armv8r64 compiler flags
Introduce the proper compiler flags for armv8r64, and also
disable -march=armv8-r for boot-wrapper-aarch64

Issue-Id: SCM-2342
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I3d2fac232139b057a5d1a3a8c6f5b825f95d709a
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-07-02 13:54:49 -04:00
Diego Sueiro 7f30fad6ef ci: Add meta-arm-autonomy to check-layers job
Issue-Id: SCM-2625
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: If6ea3b3ed2915d540eb30632e33bb29882a36b67
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-30 16:54:40 -04:00
Diego Sueiro 1d7d30f98d arm-autonomy: fixes for yocto-check-layer
Add fixes for yocto-check-layer with no new functionality introduced.

Issue-Id: SCM-2625
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: I4f7dc30e7ca27f88dfe140ac84ff2b73fe99b728
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-30 16:54:40 -04:00
Timothy Mertz af10576f9f external-arm-sdk-toolchain: Fix parsing error with INCOMPATIBLE_LICENSE
This change fixes parsing error that occurs when INCOMPATIBLE_LICENSE =
"GPLv3" by defining EAT_BFD_LICENSE, EAT_GDB_LICENSE and EAT_RLE_LICENSE
in license.inc and requiring it in external-arm-sdk-toolchain.bb

Definitions in external-arm-toolchain-versions.inc are made redundant so
they are removed.

Signed-off-by: Timothy Mertz <timothy.mertz@garmin.com>
Signed-off-by: Joshua Watt <Joshua.Watt@garmin.com>
Reviewed-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-30 10:58:15 -04:00
Khem Raj 453f4094e1 gator-daemon: Do not specify header files in GATORD_CXX_SRC_FILES
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-29 09:14:41 -04:00
Jon Mason 2928fafcbb CI: add testing and testimage
Add a testing task to the gitlab CI and run testimage in that job.
Currently, it only runs against some of the qemu based machines.
Using slirp, there is no need for a privileged container or tun/tap
devices.

Change-Id: Ia85a3d0089f7d4dc7595c3a45d328c79d8e675f1
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-25 13:37:28 -04:00
Clément Péron df36289f44 arm/gator-daemon: Add new package
To communicate with the target device, Streamline requires the
gator daemon, gatord, to be running on the device.

Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-25 13:36:59 -04:00
Anastasios Kavoukis 70320d9dfc CI: enable debug-tweaks IMAGE_FEATURE
This makes the images suitable for development and test,
debug-tweaks includes settings like empty root password.

All CI image builds inheriting from base.yml will
have this include this setting.

Signed-off-by: Anastasios Kavoukis <anastasios.kavoukis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-21 14:52:38 -04:00
Ross Burton 3168767bb4 arm/opencsd: upgrade to 1.1.0
Change-Id: I0f8004b3f75eb45fa45ac3d1355fbb12b297808b
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-18 20:09:00 -04:00
Ross Burton 14b2b0b7cd arm/edk2-firmware: apply VLA fix to all edk2 builds
sbsa-acs was fixed to solve the VLA compiler error with GCC 11, but the
problem is in EDK2 and not specific to sbsa-acs.

Apply the patch in edk2-firmware.inc so that all recipes get the fix.

Change-Id: I56b07fa0610d47bd89c1ce37cfac1205a90a4083
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-06-18 11:42:33 +01:00
Ross Burton 223323bc0c arm/sbsa-acs: move alongside edk2-firmware
As sbsa-acs is just a EDK2 application, it makes things easier in the
recipes if they're in the same directory.

Change-Id: I4b6d715213681bb2d942589ad85bbc399721df97
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-06-18 11:42:33 +01:00
Ross Burton eb50c4b785 ci: add yocto-check-layers step
Add a job to run yocto-check-layers to validate a selection of layers
are Yocto Project Compatible.

Right now we validate:
- meta-arm
- meta-arm-bsp
- meta-arm-toolchain
- meta-gem5

meta-atp and meta-arm-autonomy are currently skipped: meta-atp fails and
meta-arm-autonomy has a larger set of dependant layers and will be added
later.

Change-Id: Ia0c8c16e4228eeb461bd213b30703e950ede656f
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-06-17 13:47:34 +01:00
Ross Burton e3753bdade arm/trusted-firmware-a: disable -Werror
-Werror is typically a bad idea in distribution builds, as changes to
the compiler or other libraries can cause new warnings to appear.

For example, when building the N1SDP platform:

  error: "GIC-600 Multichip driver is currently experimental and the API
          may change in future." [-Werror,-W#warnings]

Set E=0 so that -Werror is not used in the build.

Change-Id: I8905fc9d4e95edb42970fe3839b9ab6b5384a123
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-16 11:04:02 -04:00
Ross Burton a717375630 arm/trusted-firmware-a: update TC0 to 2.5
TC0 has been using an intermediate SHA post-2.4 as it needed some commits
that were only in the integration branch.

We now have 2.5 which includes these commits, so move to that release.

Change-Id: Ic56c3daa9a408e837219c4f81d22081bbcc5c56d
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-16 11:04:02 -04:00
Ross Burton 7edf8de381 arm/trusted-firmware-a: drop clang tweaks
These Clang patches don't appear to be needed anymore.  TF-A doesn't
build for various platforms but the unusual errors these patches work
around are not the cause.

Change-Id: I41dffc4f19d298d5861bb0274e6ffef6c24f4ca3
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-16 11:04:02 -04:00
Ross Burton f5e82358d0 arm-bsp/boot-firmware: fix build race
As boot-firmware is heavily based on SCP-firmware it has the same build
race.  Luckily, the patch in SCP-firmware[1] applies cleanly to
boot-firmware.

[1] https://github.com/ARM-software/SCP-firmware/commit/34e1c04534607f5605255f39fb46e26261fc9c4e
Signed-off-by: Ross Burton <ross.burton@arm.com>

Change-Id: Iaa2f1bb71fce66589db530ea378d4ce995a6bed9
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-14 14:40:00 -04:00
Hugo L'Hostis 6b653b1747 arm-autonomy/xenguest-network: add "none" network type to xenguests
This patch adds a new "none" network type that can be set for xenguests
using XENGUEST_IMAGE_NETWORK_TYPE in their configuration.

Issue-Id: SCM-2338
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: If4f6de282b0048e5c68d293a3db5b56cd5adce66
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-06-14 10:27:42 +01:00
Khem Raj e969101aac sbsa-acs,edk2-firmware: Adjust target tuple for clang
Current settings assume glibc tuples and hence when building with musl C
library clang can not find correct cross tools and system headers and
libraries, really we should be using exact tuple that is in play so
using HOST_SYS is right replacement for OE

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Jon Mason <jon.mason@arm.com>
Cc: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-13 14:17:55 -04:00
Hugo L'Hostis a3700f8850 arm-autonomy/n1sdp: add kernel modules to mount FAT filesystem
This patch adds kernel modules necessary for n1sdp to mount the FAT filesystem
codepage 437 and NLS ISO 8859-1.

Issue-Id: SCM-2682
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: I2d4fede311544917050326564b2b0a7d0123cb21
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-13 14:17:55 -04:00
Ross Burton 31458a1046 runfvp: drop --parameter, users can use -- --parameter
Now that arbitrary parameters can be passed to the FVP binary, runfvp
doesn't need to handle --parameter itself.

Anyone using runfvp --parameter should simply use runfvp -- --parameter.

Change-Id: I8a79200fe927c253308731e7e0cb228e53cd989a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-13 14:17:55 -04:00
Ross Burton 56b0a992e1 runfvp: pass arbitrary options after -- to the FVP binary
To allow passing arbitrary options to the FVP binary, split the passed
options on --.  Anything before the separator is handled by runfvp,
anything afterwards is passed as-is to the FVP binary.

Change-Id: I686b2fb79d217e26988753be7bd067c638d69eac
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-13 14:17:55 -04:00
Ross Burton be0e4ca455 runfvp: exit with the return code of the FVP binary
Change-Id: If79e31e61110161c9a13dd512b0146d1d515d77a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-13 14:17:55 -04:00
Ross Burton 6c3d62c776 arm/trusted-firmware-a: disable branch protection on SGI575
oe-core master's gcc is built with branch protection on by default. However,
this results in slightly larger binaries which mean the SGI575 build is now
too large.

Until this is investigated properly, we can just disable branch protection
for the SGI575 build.

Change-Id: I9a8b0a8e569b944c274199ce306a3864c94c8c5c
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-06-09 15:04:12 +01:00
Ross Burton 6aeef23f3d gem5/gem5: upgrade to 20.1.0.5
This is the latest point release in the 20.1 series, and also fixes the build with
scons 4.1 (which is now in master).

Change-Id: I31b8aabc8af47cc64af68f2fd0ee2b9b9b656e89
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-06-09 15:04:12 +01:00
Jon Mason 40611d12f5 ci: clean regularly to reduce size
The Gitlab CI executors do not clean-up after each run, which will
result in a ballooning size over time. Remove all files in the work
tree, removing the problem.  SSTATE should prevent this from causing
any performance by not having the files there.

Change-Id: I57df3cf470c519286fe194739a0a7722794f3b25
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-08 11:29:11 -04:00
Hugo L'Hostis 95b66f048e arm-autonomy/xenguest-manager: fix xenguest initscript stop sequence
This patch fixes an issue where xenguest initscript stop sequence was not
properly identifying the running guests.

Issue-Id: SCM-2772
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: I3ad88e00f48fab07f99936a10c0d1deb7459e83b
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-07 09:41:54 -04:00
Khem Raj 30143c26fb sbsa-acs: Fix build on hosts with gcc11
Backport a brotli patch which fixes a VLA warning seen with gcc 11

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-03 11:13:30 -04:00
Hugo L'Hostis 6c857d39a6 arm-bsp/docs: documentation improvements for fvp-baser-aemv8r64
This patch updates the documentation for fvp-baser-aemv8r64 :

- Update link to the yocto documentation.
- Add details about what Host OS version are supported. Add Ubuntu
20.04 specific instructions.
- Warn user about disk space.

Issue-Id: SCM-2665
Signed-off-by: Hugo L'Hostis <hugo.lhostis@arm.com>
Change-Id: Ie93a42c2a1ec595707fa7496edbf024650f7eb85
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-01 11:01:19 -04:00
Diego Sueiro 1a46824760 arm-bsp/u-boot/fvp-base: Make usage of config fragments to set CONFIG_BOOTARGS
Since u-boot recipe supports using config fragments let's use it instead of
patching the vexpress_aemv8a_semi_defconfig file.

Issue-Id: SCM-2329
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: I7feba5d23a6eab501cade38c188cb8414d0b86bd
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-01 10:59:16 -04:00
luca fancellu 46dcae5cbf arm-autonomy: fix building for xen-tools >=4.15
The 0001-vif-nat-fix-hostname.patch is merged in xen-tools
4.15, so fix the layer to apply the patch only for 4.14.

Issue-Id: SCM-2608
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Change-Id: I1306955ab0b1ee435a8da42e953e142270c4b2d3
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-06-01 10:59:16 -04:00
Ross Burton a3c4201aeb arm-bsp/fvp-base: set FVP_ variables
So that a fvp-base image can be tested easily, set the relevant FVP_*
variables.

After setting IMAGE_CLASSES += "fvpboot" in local.conf, this will show
the firmware start and Linux boot:

$ MACHINE=fvp-base bitbake core-image-base
$ runfvp fvp-base --console

Change-Id: Id1bd6cea57958117103e53ab9f78a58ce92b6a2e
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-28 17:15:01 +01:00
Ross Burton 0da1865ac8 scripts: add runfvp
runfvp is a script that reads existing .fvpconf files (as written by
fvpboot.bbclass) and executes the FVP binary appropriately.

By default the behaviour is the same as running a FVP by hand, but by
passing --console the first serial port is connected to stdin/stdout.

Change-Id: Ibd26867c09e8692be4c02a7ea13571dcfe36db9b
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-28 17:15:01 +01:00
Ross Burton 5c3f891151 arm/fvpboot: add class to write FVP boot configuration
The fvpboot class is used to write a machine-readable file that describes
how to boot a given machine image inside a FVP, similar to how qemuboot
writes files for runqemu.

BSPs should set the FVP_* variables as appropriate in their machine
configuration, but let the user opt-in to adding fvpboot to IMAGE_CLASSES.

Change-Id: I2d1cd86ec4affc1d688a293987890d6a89124d94
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-28 17:15:01 +01:00
Ross Burton 68c3c72702 arm/fvp-library: add recipe for the FVP Library
Add a recipe for the FVP Library:

https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms

This is free to download but is behind a login-wall, and the FVPs are
license managed.

Change-Id: Ia0e7b1bfac54e06faf9d517d5b769acf9670724a
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-27 11:41:45 +01:00
Ross Burton b1f7bd8356 arm/fvp-base-a-aem: add Architecture Envelope Model FVP for Arm v8-A
Add a recipe for the general purpose Armv-A Base RevC AEM FVP.

This FVP is behind a login-wall so the user has to download it themselves,
but the FVP is free to use.

Change-Id: I14d7b965a05ff9f405a2a12d4da2afd3dd2ecb87
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-27 11:41:45 +01:00
Ross Burton b07c008e41 arm/fvp: add recipes for Ecosystem FVPs
Add recipes for the SGI-575 and N1-Edge reference designs from the
Ecosystem FVP collection:

https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps

These FVPs are free to download and use.

Change-Id: Ia645e4a7264f73ec42ee61ab2907a9bfdbe7c25d
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-27 11:41:45 +01:00
Diego Sueiro a21d9a360a arm-autonomy: Move fvp-base u-boot bbappend to dynamic layers
Issue-Id: SCM-2329
Signed-off-by: Richard Neill <richard.neill@arm.com>
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: Ifaa06c88bb032bd3296fca13adb66fdf6b91632a
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-27 11:36:23 +01:00
Ross Burton 62bb67b1e7 arm/trusted-firmware-a: fix incorrect license checksum
TF-A 2.5 has a tweaked license.rst file but the checksum wasn't updated.
The CI didn't catch this because of an attempt at making warnings fatal,
which has the side effect of masking some warnings.

Update the checksum for that file, and add MIT explicitly to the license
list as all of the embedded projects are used under the MIT.

Change-Id: Id39b4c49c0efae30c6452e77b1cdf56e43b792d4
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-25 10:35:05 +01:00
Ross Burton 12a96ea774 ci/base: don't try to make warnings fatal
The generated local.conf has ERROR_QA=${WARN_QA} in an attempt to make
warnings fatal, but this appears to be just disabling some warnings and
error instead.

As we already have warning detection in the GitLab CI script, this is
redundant and can be removed.

Change-Id: I393874edbae148ee338a7069bbf800603c028242
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-25 10:35:05 +01:00
Jon Mason f7cc8f22dc arm/trusted-firmare-a: update to version 2.5
Update to TF-A v2.5 and MBED TLS 2.26, and all machines using 2.4 to the
newer version.  Also, n1sdp was using an intermediary SHA, but is now
updated to the latest (which includes that intermediary SHA).

Change-Id: Ia5ec3cecf9090fd5f5da28efff4c1d6cce1efc19
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-24 16:51:04 -04:00
Anders Dellien 5832d2738d arm-bsp/fvp-base*: move to u-boot 2021.04
Remove fvp-base patch that has been merged upstream and rebase
fvp-base-arm32 patch

Change-Id: Iac16598933b94c1db13d3e40f1d5b3a137c8bd4c
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-24 16:48:09 -04:00
Jon Mason 2b887e62f3 arm/linux-yocto: additional workaround for qemuarm64-secureboot ZONE_DMA
Reverting additional ZONE_DMA patch 2281df0b0226610e235f49ed75bf6ad57cb04762
which was added in v5.10.37

Change-Id: I3700b95247a4224f4b56a403bc3dc10dde7dd5b5
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-20 11:04:28 -04:00
Sumit Garg b7e0263eed arm/qemuarm64-secureboot: Enable kernel TEE drivers
Add a config fragment to enable kernel TEE drivers.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-19 11:49:32 -04:00
Jon Mason c2fb4c1179 arm-bsp/u-boot: free float the u-boot bbappend
Since the u-boot recipe will be updated in the near future, decouple the
bbappend from the current version to allow for it to work on both
versions (and keep backward compatible with hardknott).

Change-Id: Ia2447a80868f2e5011bf53fafb939b6a4566b662
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-18 18:07:03 -04:00
Filipe Rinaldi dcc245ef29 arm-bsp/docs: Updated documentation fvp-baser-aemv8r64 MACHINE
This update has mainly format related changes (no functional changes) to
improve readability when reading the non-rendered version of it.
- Use underlined style for headers level 1 and 2
- Use indentation to create blocks
- Use double space at the end of each section
- Add indentation to the FVP parameters
- Add pip command to install the kas tool

Signed-off-by: Filipe Rinaldi <filipe.rinaldi@arm.com>
Change-Id: I9d4b4dbcef6dc13638b62563ebdf90b6b9d5b686
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-17 10:17:11 -04:00
Ross Burton 14313a5b11 arm/scp-firmware: install .elf into scp-firmware-dbg
Alongside the .bin files, also install the .elf files for debugging and
package them into scp-firmware-dbg.

The architecture QA test needs to be skipped as the SCP can be 32-bit
Arm when the main processor is 64-bit.

Change-Id: I82a57d6cc80f7d7e20028cced83481322803fc13
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-12 11:49:14 -04:00
Ross Burton a517677e90 arm/trusted-firmware-a: put .elf output into trusted-firmware-a-dbg
The .elf output files are for debugging purposes, so put them into the
-dbg package to make this clear.

Change-Id: I5d70b2421b06eed0483f8ef508cf535ec70abc63
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-12 11:49:14 -04:00
Ross Burton 932c6ee8cc CI: build against master branches again
Change-Id: Iecd620883ced9c02fb085d38735764028604bc46
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-12 08:43:57 -04:00
Jon Mason 3f40757bb0 arm/trusted-firmware-m: upgrade to 1.3.0
Update TF-M to version 1.3.0, mbed TLS to 2.26, TF-M tests to 1.3.0
(previously untagged), and MCU Boot now has a new git repo location and
updated to 1.7.2.

Change-Id: I7ff2756cacff02abd31bb54048f8846b6a58cd01
Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-11 16:32:26 +01:00
Ross Burton 3db7302e64 arm/linux-yocto: add missing LINUX_VERSION to qemuarm64-sbsa
As the SRCREV is pinned to a specific SHA we should also set LINUX_VERSION, as future kernel
upgrades in oe-core master will change both SRCREV and LINUX_VERSION.

Change-Id: Iafababe83ff54625112d2fae859d8a3938001cd5
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-11 15:56:48 +01:00
Ross Burton 48718393ad CI: mark build jobs as interruptible
Mark the build jobs as interruptible, as they don't write to shared
resources (unlike update-repos or get-binary-toolchains). This means
that if the same branch is pushed again GitLab is likely to be able to
abort the obsolete pipeline to start the new build sooner.

Change-Id: I9284273e9b3118b616d3cb062cb957d98fc5e37e
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-11 15:56:01 +01:00
Ross Burton c310e591d6 autonomy/u-boot: fix malformed Upstream-Status tag
Change-Id: I5728d9f268db9ce0e18ada9982310431c0c99e89
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-11 15:55:57 +01:00
Ross Burton 07d28bbaea arm-toolchain/armcompiler: remove pointless PROVIDES
There is only one provider for the armcompiler, so remove the virtual
provider.

Change-Id: I3492c49f5cf6eb6f3d3156adb3d87e315ed8183d
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-11 15:30:21 +01:00
Ross Burton 427912d75a arm-toolchain/armcompiler: add upstream release checking
Change-Id: I2eb94f99a0c828a4d5f2f68756e83ebc1f6499c2
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-11 15:30:21 +01:00
Ross Burton 8af7923c94 arm-toolchain/external-arm-toolchain: inhibit build dependencies
These recipes don't build anything, so there's no need to depend on a
toolchain.

Change-Id: I49b641fb54839c30255a11a7c9d5798c8e4afd2a
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-11 15:30:21 +01:00
Richard Neill 4c3c2fda93 arm-bsp/linux: Add preempt-rt support for fvp-baser-aemv8r64
Add kernel configuration necessary to build an image with preempt-rt support
for fvp-baser-aemv8r64, together with a build configuration file to build it via
kas.

Update BSP documentation for RT linux support on the machine.

Issue-Id: SCM-2343
Signed-off-by: Richard Neill <richard.neill@arm.com>
Change-Id: I11e3ba3ad7da00db1810c70fa4f98bfffd4b8254
Signed-off-by: Ross Burton <ross.burton@arm.com>
2021-05-10 19:07:22 +01:00
Diego Sueiro 18e2967aab arm-autonomy/sysvinit-inittab: Fix console login for host and guest
In meta-virtualization master branch the sysvinit-inittab_virtualization.inc
was introduced to handle the installation of the getty-wrapper for spawing the
console login for /dev/hvc0.

Since we don't make usage of the virtualization DISTRO_FEATURES we have to
manually include the mentioned file when building with arm-autonomy-host and
arm-autonomy-guest DISTRO_FEATURES.

Also, since arm-autonomy-guest doesn't include the xen DISTRO_FEATURES we have
to manually include sysvinit-inittab_xen.inc to append the getty-wrapper entry
to /etc/inittab.

Issue-Id: SCM-2329
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Change-Id: I0f92565de8a9053c0541928c30b8f979757bfbca
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-07 00:33:03 -04:00
Diego Sueiro b2031ed7ca arm-autonomy/fvp-base: Make usage of wic images
In meta-arm-bsp fvp-base switched to wic images. Hence, make the appropriate
changes to also use wic images in meta-arm-autonomy.

Change-Id: I34d68fee11ea339fb52a97d7593e373aa69faa1c
Issue-Id: SCM-2329
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-07 00:33:03 -04:00
Jon Mason f619eb87f5 arm-toolchain/external-arm-toolchains: Update to the latest
Change-Id: Ifb5933b08acf13663c7a6231582ee21032b92327
Signed-off-by: Jon Mason <jon.mason@arm.com>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
2021-05-07 00:08:56 -04:00
Anders Dellien f614d579dc arm-bsp/fvp-base*: Introduce WIC support for fvp-base* machines
Add wks script, modify documentation and kernel command line.
Remove 'image_types_disk_img.bbclass' as it is no longer used.

Change-Id: I2a95349adc038e8484d7b9f578ad3ce698b1f528
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-05 22:50:39 -04:00
Jon Mason b8860852dd arm/scp-firmware: Add SCP v2.8.0
Add new recipe for SCP version 2.8.0 and remove the old 2.7.0 recipe.
Change TC0 and N1SDP to use the latest tag, and not their previous
intermediate SHA (which are in the 2.8.0 release).

Change-Id: Id3f0af549790969ce6fd3b315f94177726f24d73
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-04 10:56:00 -04:00
Jon Mason d750206a1d arm/kernel: fix previous patch
The previous patch broke for qemuarm64-sbsa, ebcause they share the same
defconfig patch but now the upstream kernel SHAs are different.  Change
them to have the same SHAs.

Also, the previous patch lost the patch header.  So re-add that.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-02 11:08:36 -04:00
Jon Mason 03507b9cd9 arm/kernel: fix broken defconfig patch
Upstream kernel is now being patched, which prevents the patch being
fixed here from applying cleanly.  Rebase it on top of the existing one
to resolve the issue.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-01 18:35:58 -04:00
Jon Mason 10b900d742 CI: enable non-arm64 builders
Abstract away all of the things preventing the current setup from
working on only internal, arm64 build hardware.

Change-Id: Ib8d0e8e76602d4553e044520a91349015b1aa19b
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-01 07:50:12 -04:00
Jon Mason 558f57b3a5 CI: use public KAS image
Use the KAS docker image provided by the KAs project for Gitlab CI.
This allows for the external (non-Arm Corp) users/developers to run
Gitlab CI.

Change-Id: I9fee9a0d571e3fd60862d4ccd36176f9e583fc91
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-01 07:50:12 -04:00
Jon Mason 7deff39751 CI: Reorder manual tasks to be alphabetical
Change-Id: I2e5bfdf5794c99da530bc2645fb56a5444444be3
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-01 07:50:12 -04:00
Ross Burton 01a60a10db scripts: add tool to generate a layer overview
Change-Id: Icb4e29d80f1db9791ce801910563695c9fdc76b3
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-05-01 07:50:12 -04:00
Ross Burton 58ea81b718 CI: report disk usage before/after pruning sstate
Change-Id: I66853ce1bf5e33c37094cc8fff04cbd4daaadf91
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-28 10:30:58 -04:00
Ross Burton 3b62a60926 arm/linux: guard FILESEXTRAPATHS changes in overrides
Because of how the kernel class searches for files any changes to
FILESEXTRAPATHS should be done in an override so it doesn't potentially
impact unrelated builds.

Issue spotted by running yocto-check-layer.

Change-Id: I3e915a0cafc850d4b2594b655a849977d389465a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-28 10:30:58 -04:00
Ross Burton a4f9f60579 arm-bsp/linux: guard FILESEXTRAPATHS changes in overrides
Because of how the kernel class searches for files any changes to
FILESEXTRAPATHS should be done in an override so it doesn't potentially
impact unrelated builds.

Issue spotted by running yocto-check-layer.

Change-Id: Id3b741d184a024d0cc6d2d5031e150a8f0ae4b0d
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-28 10:30:58 -04:00
Jon Mason 24c5cfbe80 arm: combine linux-yocto bbappend files
Combining linux-yocto bbappend into a single file.

Change-Id: Ica4fc2d0edc9939451c572e5eb65f34e4002c26f
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-27 18:46:49 -04:00
Ross Burton 2569535de7 arm-bsp/tc0-artifacts-image: restrict to TC0
This recipe is for TC0, so set COMPATIBLE_MACHINE appropriately.

This is both logically correct, and fixes a Yocto Compatible test failure
where tc0-artifacts-image isn't buildable for arbitrary machines.

Change-Id: I6381fc08076d4ddea254f7efc84f90c4a7f65d26
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-27 18:45:34 -04:00
Peter Hoyes 17f08ff365 arm-autonomy/linux-arm-autonomy: Remove Xen irq lock patch
The following patch has been backported to kernel 5.10.30:
    0001-xen-evtchn-Change-irq_info-lock-to-raw_spinlock_t.patch

Issue-Id: SCM-2307
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I9cef017b60891780176dff944e3eca5986746d8a
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-26 09:37:43 -04:00
Khasim Mohammed 2d8a7cbd16 arm-bsp/n1sdp/scp-firmware: Enabling coresight debug non-secure access
This patch enables coresight to work with n1sdp c2c profile.

Change-Id: Id3a5f92cc1f99cd907111ea858aad4efe561179e
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2021-04-23 09:31:41 -04:00
424 changed files with 10759 additions and 13552 deletions
+1
View File
@@ -0,0 +1 @@
__pycache__
+72 -18
View File
@@ -1,6 +1,6 @@
image: ghcr.io/siemens/kas/kas:latest-release
image: ghcr.io/siemens/kas/kas
# First do a common bootstrap, and then build all the targets
# First do a common bootstrap, and then build all the targets
stages:
- prep
- bootstrap
@@ -27,6 +27,7 @@ stages:
- mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
# Must do this here, as it's the only way to make sure the toolchain is installed on the same builder
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
- sudo apt update && sudo apt install telnet -y
# Generalised fragment to do a Kas build
.build:
@@ -37,6 +38,17 @@ stages:
- kas build $KASFILES
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
# Workaround for Zephyr not currectly handling TESTIMAGE_AUTO
.build_and_test:
extends: .setup
script:
- KASFILES=$(./ci/jobs-to-kas $CI_JOB_NAME)
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
- kas build $KASFILES
- kas build $KASFILES -c testimage
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
#
# Prep stage, update repositories once
#
@@ -44,7 +56,7 @@ update-repos:
extends: .setup
stage: prep
script:
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
#
# Bootstrap stage, bootstrap and machine coverage
@@ -56,15 +68,18 @@ n1sdp/bootstrap:
extends: .build
stage: bootstrap
n1sdp/clang/clang-bootstrap:
extends: .build
stage: bootstrap
# What percentage of machines in the layer do we build
machine-coverage:
stage: bootstrap
interruptible: true
script:
- ./ci/check-machine-coverage
- ./ci/check-machine-coverage
coverage: '/Coverage: \d+/'
#
# Build stage, the actual build jobs
#
@@ -74,8 +89,16 @@ check-layers:
extends: .setup
coverage: '/Coverage: \d+/'
script:
- kas shell --update --force-checkout ci/base.yml:ci/meta-python.yml --command \
"$CI_PROJECT_DIR/ci/check-layers.py $CI_PROJECT_DIR/ci/check-layers.yml $CI_PROJECT_DIR $KAS_WORK_DIR"
- kas shell --update --force-checkout ci/base.yml:ci/meta-arm-autonomy.yml:ci/meta-openembedded.yml --command \
"$CI_PROJECT_DIR/ci/check-layers.py $CI_PROJECT_DIR/ci/check-layers.yml $CI_PROJECT_DIR $KAS_WORK_DIR"
pending-updates:
extends: .setup
artifacts:
paths:
- update-report.html
script:
- kas shell ci/qemuarm64.yml:ci/meta-openembedded.yml -c "$CI_PROJECT_DIR/scripts/machine-summary.py -t updates.html -o $CI_PROJECT_DIR/update-report.html $($CI_PROJECT_DIR/ci/listmachines.py meta-arm meta-arm-bsp)"
corstone500:
extends: .build
@@ -86,8 +109,10 @@ corstone700-fvp:
corstone700-mps3:
extends: .build
fvp-base:
fvp-base/testimage:
extends: .build
tags:
- x86_64
fvp-base-arm32:
extends: .build
@@ -98,10 +123,13 @@ fvp-base-arm32/external-gccarm:
fvp-baser-aemv8r64:
extends: .build
fvps:
extends: .build
gem5-arm64:
extends: .build
gem5-arm64-xen:
gem5-arm64/xen:
extends: .build
gem5-atp-arm64:
@@ -116,8 +144,8 @@ juno:
juno/clang:
extends: .build
microbit-v1:
extends: .build
microbit-v1/testimage-zephyr:
extends: .build_and_test
musca-b1:
extends: .build
@@ -134,7 +162,10 @@ n1sdp/armgcc:
qemu-cortex-a53:
extends: .build
qemuarm/testimage:
qemu-cortex-m3/testimage-zephyr:
extends: .build_and_test
qemu-cortex-r5:
extends: .build
qemuarm64-sbsa:
@@ -152,6 +183,18 @@ qemuarm64-secureboot/clang/musl/testimage:
qemuarm64-secureboot/musl/testimage:
extends: .build
qemuarm64/xen:
extends: .build
qemuarm/clang/testimage:
extends: .build
qemuarm/testimage:
extends: .build
qemuarm/xen:
extends: .build
qemuarmv5/testimage:
extends: .build
@@ -160,7 +203,16 @@ sgi575:
tc0:
extends: .build
tags:
- x86_64
tc1:
extends: .build
tags:
- x86_64
toolchains:
extends: .build
#
# Utility tasks, not executed automatically
@@ -171,14 +223,14 @@ delete-dl-dir:
stage: prep
when: manual
script:
- rm -rf $DL_DIR/*
- rm -rf $DL_DIR/*
delete-repo-dir:
extends: .setup
stage: prep
when: manual
script:
- rm -rf $KAS_REPO_REF_DIR/*
- rm -rf $KAS_REPO_REF_DIR/*
# Delete all sstate
delete-sstate:
@@ -186,14 +238,14 @@ delete-sstate:
stage: prep
when: manual
script:
- rm -rf $SSTATE_DIR/*
- rm -rf $SSTATE_DIR/*
delete-toolchains:
extends: .setup
stage: prep
when: manual
script:
- rm -rf $TOOLCHAIN_DIR/*
- rm -rf $TOOLCHAIN_DIR/*
# Wipe out old sstate
prune-sstate:
@@ -201,7 +253,9 @@ prune-sstate:
stage: prep
when: manual
script:
- find $SSTATE_DIR -type f -atime +30 -delete
- du -h -s $SSTATE_DIR
- find $SSTATE_DIR -type f -atime +30 -delete
- du -h -s $SSTATE_DIR
# Report on disk usage
usage:
@@ -209,4 +263,4 @@ usage:
stage: prep
when: manual
script:
- du -h -s $DL_DIR $SSTATE_DIR $KAS_REPO_REF_DIR $TOOLCHAIN_DIR
- du -h -s $DL_DIR $SSTATE_DIR $KAS_REPO_REF_DIR $TOOLCHAIN_DIR
+36 -13
View File
@@ -1,23 +1,46 @@
Introduction
------------
This repository contains Arm layers for OpenEmbedded
This repository contains the Arm layers for OpenEmbedded.
meta-arm:
This layer provides support for general recipes for the Arm
architecture. Anything that's not needed explicitly for BSPs, the IOTA
distribution, or destined to be upstreamed belongs here.
* meta-arm
meta-arm-bsp:
This layer provides support for Arm reference platforms
This layer contains general recipes for the Arm architecture, such as firmware, FVPs, and Arm-specific integration.
meta-arm-iota:
This layer provides support for Arm's IOTA Linux Distribution
* meta-arm-autonomy
meta-arm-toolchain:
This layer provides support for Arm's GNU-A toolset releases
This layer is the distribution for a reference stack for autonomous systems.
meta-arm-autonomy:
This layer provides a reference stack for autonomous systems.
* meta-arm-bsp
This layer contains machines for Arm reference platforms, for example FVP Base, N1SDP, and Juno.
* meta-arm-toolchain
This layer contains recipes for Arm's binary toolchains (GCC and Clang for -A and -M), and a recipe to build Arm's GCC.
* meta-atp
This layer contains recipes for the Adaptive Traffic Generation integration into meta-gem5.
* meta-gem5
This layer contains recipes and machines for gem5, a system-level and processor simulator.
Other Directories
-----------------
* ci
This directory contains gitlab continuous integration configuration files (KAS yaml files) as well as scripts needed for this
* kas
This directory contains KAS yaml files to describe builds for systems not used in CI
* scripts
This directory contains scripts used in running the CI tests
Contributing
------------
+1 -1
View File
@@ -3,4 +3,4 @@ header:
local_conf_header:
cc: |
GCCVERSION = "arm-10.2"
GCCVERSION = "arm-10.3"
+12 -7
View File
@@ -5,7 +5,7 @@ distro: poky
defaults:
repos:
refspec: hardknott
refspec: honister
repos:
meta-arm:
@@ -26,17 +26,22 @@ env:
local_conf_header:
base: |
CONF_VERSION = "1"
CONF_VERSION = "2"
PACKAGE_CLASSES = "package_ipk"
LICENSE_FLAGS_WHITELIST += "armcompiler"
PACKAGECONFIG_remove_pn-qemu-system-native = "gtk+ sdl"
EXTRA_IMAGE_FEATURES_append = " debug-tweaks"
LICENSE_FLAGS_WHITELIST += "armcompiler Arm-FVP-EULA"
PACKAGECONFIG:remove:pn-qemu-system-native = "gtk+ sdl"
EXTRA_IMAGE_FEATURES:append = " debug-tweaks"
BB_NUMBER_THREADS = "16"
PARALLEL_MAKE = "-j16"
INHERIT += "rm_work"
PACKAGECONFIG_append_pn-perf = " coresight"
PACKAGECONFIG:append:pn-perf = " coresight"
noptest: |
DISTRO_FEATURES_remove = "ptest"
DISTRO_FEATURES:remove = "ptest"
sstate_mirror: |
BB_HASHSERVE_UPSTREAM = "typhoon.yocto.io:8687"
BB_HASHSERVE = "auto"
BB_SIGNATURE_HANDLER = "OEEquivHash"
SSTATE_MIRRORS = "file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH"
machine: unset
+1
View File
@@ -28,6 +28,7 @@ if __name__ == "__main__":
cli.extend([args.metaarm / layer for layer in layers])
cli.append("--dependency")
cli.extend([args.others / layer for layer in dependencies])
cli.append("--no-auto-dependency")
passed = 0
process = subprocess.Popen(cli, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True)
+6
View File
@@ -3,5 +3,11 @@ layers:
- meta-arm-bsp
- meta-arm-toolchain
- meta-gem5
- meta-arm-autonomy
dependencies:
- meta-openembedded/meta-oe
- meta-openembedded/meta-networking
- meta-openembedded/meta-python
- meta-openembedded/meta-filesystems
- poky/meta-poky
- meta-virtualization
+4 -2
View File
@@ -2,6 +2,7 @@
from pathlib import Path
import sys
from listmachines import list_machines
metaarm = Path.cwd()
@@ -9,9 +10,10 @@ if metaarm.name != "meta-arm":
print("Not running inside meta-arm")
sys.exit(1)
# Find all layers
layers = (p.name for p in metaarm.glob("meta-*") if p.is_dir())
# All machine configurations
machines = metaarm.glob("meta-*/conf/machine/*.conf")
machines = set(p.stem for p in machines)
machines = list_machines(layers)
# All kas files
kas = metaarm.glob("ci/*.yml")
+10
View File
@@ -0,0 +1,10 @@
header:
version: 9
target:
- binutils-cross-aarch64
- clang-cross-aarch64
- clang-native
- python3-native
- opkg-native
- rpm-native
+1
View File
@@ -4,6 +4,7 @@ header:
repos:
meta-clang:
url: https://github.com/kraj/meta-clang
refspec: master
local_conf_header:
clang: |
+9
View File
@@ -5,3 +5,12 @@ header:
machine: fvp-base
local_conf_header:
testimagefvp: |
INHERIT = "fvpboot"
# This fails but we can't add to the ignorelist from meta-arm yet
# https://bugzilla.yoctoproject.org/show_bug.cgi?id=14604
TEST_SUITES:remove = "parselogs"
# Tell testimage to connect to localhost:8022, and forward that to SSH in the FVP.
TEST_TARGET_IP = "localhost:8022"
FVP_CONFIG[bp.virtio_net.hostbridge.userNetPorts] ?= "8022=22"
+20
View File
@@ -0,0 +1,20 @@
# Simple target to build the FVPs that are publically available
header:
version: 9
includes:
- base.yml
machine: qemuarm64
local_conf_header:
sdk: |
SDKMACHINE = "x86_64"
target:
- nativesdk-fvp-base-a-aem
- nativesdk-fvp-n1-edge
- nativesdk-fvp-sgi575
- nativesdk-fvp-corstone500
- nativesdk-fvp-corstone700
- nativesdk-fvp-tc0
-28
View File
@@ -1,28 +0,0 @@
header:
version: 9
includes:
- base.yml
- meta-python.yml
repos:
meta-arm:
layers:
meta-gem5:
meta-openembedded:
url: https://git.openembedded.org/meta-openembedded
layers:
meta-oe:
meta-filesystems:
meta-networking:
meta-virtualization:
url: git://git.yoctoproject.org/meta-virtualization
machine: gem5-arm64
local_conf_header:
meta-virt:
DISTRO_FEATURES_append = " virtualization xen"
target:
- xen-image-minimal
+1 -5
View File
@@ -2,17 +2,13 @@ header:
version: 9
includes:
- base.yml
- meta-openembedded.yml
repos:
meta-arm:
layers:
meta-gem5:
meta-openembedded:
url: https://git.openembedded.org/meta-openembedded
layers:
meta-oe:
machine: gem5-arm64
target:
+1 -1
View File
@@ -2,7 +2,7 @@
set -u
HOST_ARCH=$(uname -m)
VER="10.2-2020.11"
VER="10.3-2021.07"
DOWNLOAD_DIR=$1
TOOLCHAIN_DIR=$2
+29
View File
@@ -0,0 +1,29 @@
#! /usr/bin/env python3
import pathlib
import typing
import sys
"""
List all of the machines available under the listed sub-layers of meta-arm.
"""
def list_machines(layers: typing.Sequence[str]) -> typing.Set[str]:
machines = set()
# We know we're in meta-arm/scripts, so find the top-level directory
metaarm = pathlib.Path(__file__).resolve().parent.parent
if metaarm.name != "meta-arm":
raise Exception("Not running inside meta-arm")
for layer in layers:
machines |= set(p.stem for p in (metaarm / layer / "conf" / "machine").glob("*.conf"))
return machines
if __name__ == "__main__":
if len(sys.argv) > 1:
machines = list_machines(sys.argv[1:])
print(" ".join(sorted(machines)))
sys.exit(0)
else:
print("Usage:\n$ %s [layer name ...] " % sys.argv[0])
sys.exit(1)
+10
View File
@@ -0,0 +1,10 @@
header:
version: 9
includes:
- meta-openembedded.yml
- meta-virtualization.yml
repos:
meta-arm:
layers:
meta-arm-autonomy:
@@ -5,5 +5,7 @@ repos:
meta-openembedded:
url: https://git.openembedded.org/meta-openembedded
layers:
meta-filesystems:
meta-networking:
meta-oe:
meta-python:
+8
View File
@@ -0,0 +1,8 @@
header:
version: 9
includes:
- meta-openembedded.yml
repos:
meta-virtualization:
url: git://git.yoctoproject.org/meta-virtualization
+2 -1
View File
@@ -1,8 +1,9 @@
header:
version: 9
includes:
- meta-python.yml
- meta-openembedded.yml
repos:
meta-zephyr:
url: https://git.yoctoproject.org/git/meta-zephyr
refspec: master
+7 -1
View File
@@ -4,7 +4,13 @@ header:
- base.yml
- meta-zephyr.yml
local_conf_header:
nonbuilding_tests: |
ZEPHYRTESTS:remove = "common"
failing_tests: |
ZEPHYRTESTS:remove = "context early_sleep sleep"
machine: microbit-v1
target:
- zephyr-philosophers
- zephyr-kernel-test-all
+1 -1
View File
@@ -2,7 +2,7 @@ header:
version: 9
includes:
- base.yml
- meta-python.yml
- meta-openembedded.yml
machine: musca-s1
+5 -1
View File
@@ -4,7 +4,11 @@ header:
- base.yml
- meta-zephyr.yml
local_conf_header:
nonbuilding_tests: |
ZEPHYRTESTS:remove += "common device poll queue sleep"
machine: qemu-cortex-a53
target:
- zephyr-philosophers
- zephyr-kernel-test-all
+16
View File
@@ -0,0 +1,16 @@
header:
version: 9
includes:
- base.yml
- meta-zephyr.yml
local_conf_header:
tclibc: |
TCLIBC = "newlib"
nonbuilding_tests: |
ZEPHYRTESTS:remove = "common context pending poll sleep"
machine: qemu-cortex-m3
target:
- zephyr-kernel-test-all
+10
View File
@@ -0,0 +1,10 @@
header:
version: 9
includes:
- base.yml
- meta-zephyr.yml
machine: qemu-cortex-r5
target:
- zephyr-philosophers
+6
View File
@@ -0,0 +1,6 @@
header:
version: 9
includes:
- base.yml
machine: qemuarm64
-5
View File
@@ -4,8 +4,3 @@ header:
- base.yml
machine: qemuarmv5
local_conf_header:
bugs: |
# Remove parselogs until errors can be resolved
TEST_SUITES_remove = "parselogs"
+4
View File
@@ -4,3 +4,7 @@ header:
- base.yml
machine: tc0
target:
- tc-artifacts-image
- perf
+10
View File
@@ -0,0 +1,10 @@
header:
version: 9
includes:
- base.yml
machine: tc1
target:
- tc-artifacts-image
- perf
+8
View File
@@ -0,0 +1,8 @@
header:
version: 9
local_conf_header:
testimage: |
IMAGE_CLASSES += "testimage"
TEST_TARGET = "QemuTargetZephyr"
TEST_SUITES = "zephyr"
+1 -1
View File
@@ -10,7 +10,7 @@ local_conf_header:
TEST_SERVER_IP = "127.0.0.1"
QEMU_USE_SLIRP = "1"
packages: |
IMAGE_FEATURES_append = " ssh-server-dropbear"
IMAGE_FEATURES:append = " ssh-server-dropbear"
# Multiple targets are available, put it down to just one
target:
+20
View File
@@ -0,0 +1,20 @@
header:
version: 9
includes:
- base.yml
# Target is arm64 and SDK is x86-64 to ensure that we exercise both
# architectures
machine: qemuarm64
local_conf_header:
toolchains: |
SDKMACHINE = "x86_64"
# No target armcompiler as currently there is no arm64 build
target:
- nativesdk-armcompiler
- gcc-aarch64-none-elf
- nativesdk-gcc-aarch64-none-elf
- gcc-arm-none-eabi
- nativesdk-gcc-arm-none-eabi
+11
View File
@@ -0,0 +1,11 @@
header:
version: 9
includes:
- meta-virtualization.yml
local_conf_header:
meta-virt: |
DISTRO_FEATURES:append = " virtualization xen"
target:
- xen-image-minimal
+13 -4
View File
@@ -6,10 +6,12 @@ machine: fvp-baser-aemv8r64
defaults:
repos:
refspec: hardknott
refspec: honister
repos:
meta-arm:
url: https://git.yoctoproject.org/git/meta-arm
path: layers/meta-arm
layers:
meta-arm:
meta-arm-bsp:
@@ -17,16 +19,23 @@ repos:
poky:
url: https://git.yoctoproject.org/git/poky
path: layers/poky
layers:
meta:
meta-poky:
env:
FVP_BASE_R_AEM_TARBALL_URI: ""
FVP_BASE_R_ARM_EULA_ACCEPT: "False"
local_conf_header:
base: |
CONF_VERSION = "1"
CONF_VERSION = "2"
PACKAGE_CLASSES = "package_ipk"
PACKAGECONFIG_remove_pn-qemu-system-native = "gtk+ sdl"
EXTRA_IMAGE_FEATURES_append = " debug-tweaks"
PACKAGECONFIG:remove:pn-qemu-system-native = "gtk+ sdl"
EXTRA_IMAGE_FEATURES:append = " debug-tweaks"
IMAGE_CLASSES:append = " ${@oe.utils.ifelse(d.getVar('FVP_BASE_R_AEM_TARBALL_URI'), 'fvpboot', '')}"
LICENSE_FLAGS_WHITELIST:append = " ${@oe.utils.vartrue('FVP_BASE_R_ARM_EULA_ACCEPT', 'Arm-FVP-EULA', '', d)}"
target:
- core-image-minimal
+8
View File
@@ -0,0 +1,8 @@
header:
version: 9
includes:
- fvp-baser-aemv8r64-bsp.yml
local_conf_header:
base-rt: |
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"
@@ -2,7 +2,7 @@
# an alternate kernel (set via PREFERRED_PROVIDER_alternate/kernel).
#
# It is mandatory to also set the KERNEL_PACKAGE_NAME for the alternate kernel
# recipe via KERNEL_PACKAGE_NAME_pn-${PREFERRED_PROVIDER_alternate/kernel} and
# recipe via KERNEL_PACKAGE_NAME:pn-${PREFERRED_PROVIDER_alternate/kernel} and
# its value needs to be different from "kernel" since this is the default set
# for PREFERRED_PROVIDER_virtual/kernel.
#
@@ -16,11 +16,11 @@ PREFERRED_PROVIDER_alternate/kernel ??= ""
python () {
alternate_kernel = d.getVar('PREFERRED_PROVIDER_alternate/kernel')
if alternate_kernel:
alternate_kernel_pkg_name = d.getVar('KERNEL_PACKAGE_NAME_pn-%s' % alternate_kernel)
alternate_kernel_pkg_name = d.getVar('KERNEL_PACKAGE_NAME:pn-%s' % alternate_kernel)
if alternate_kernel_pkg_name:
d.appendVar('EXTRA_IMAGEDEPENDS', ' ' + alternate_kernel)
d.appendVar('IMAGE_INSTALL', ' kernel-modules')
d.appendVar('IMAGE_INSTALL', ' ' + alternate_kernel_pkg_name + '-modules')
else:
raise bb.parse.SkipRecipe("No KERNEL_PACKAGE_NAME_pn-%s set" % alternate_kernel )
raise bb.parse.SkipRecipe("No KERNEL_PACKAGE_NAME:pn-%s set" % alternate_kernel )
}
@@ -71,7 +71,7 @@ inherit features_check
REQUIRED_DISTRO_FEATURES = "docker"
RDEPENDS_${PN} = "packagegroup-docker-runtime-minimal"
RDEPENDS:${PN} = "packagegroup-docker-runtime-minimal"
CONTAINER_IMAGE_FILES ??= ""
CONTAINERS_INSTALL_DIR ??= "${datadir}/docker/images"
@@ -112,4 +112,4 @@ do_install() {
do_install[vardeps] += "CONTAINER_IMAGE_FILES"
FILES_${PN} += "${CONTAINERS_INSTALL_DIR}"
FILES:${PN} += "${CONTAINERS_INSTALL_DIR}"
@@ -22,7 +22,7 @@ xenguest_image_add_kernel() {
# Add rootfs file to the image
xenguest_image_add_rootfs() {
call_xenguest_mkimage partial \
--disk-add-file=${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${IMAGE_TYPEDEP_xenguest}:rootfs.${IMAGE_TYPEDEP_xenguest}
--disk-add-file=${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${IMAGE_TYPEDEP:xenguest}:rootfs.${IMAGE_TYPEDEP:xenguest}
}
# Pack xenguest image
@@ -57,7 +57,7 @@ do_bootimg_xenguest[depends] += "xenguest-base-image:do_deploy"
do_bootimg_xenguest[depends] += "${PN}:do_rootfs"
# This set in python anonymous after, just set a default value here
IMAGE_TYPEDEP_xenguest ?= "tar"
IMAGE_TYPEDEP:xenguest ?= "tar"
# We must not be built at rootfs build time because we need the kernel
IMAGE_TYPES_MASKED += "xenguest"
@@ -158,7 +158,7 @@ python __anonymous() {
# do_bootimg_xenguest will need the tar file
d.appendVarFlag('do_bootimg_xenguest', 'depends', ' %s:do_image_tar' % (d.getVar('PN')))
# set our TYPEDEP to the proper compression
d.setVar('IMAGE_TYPEDEP_xenguest', 'tar' + (rootfs_file.split('.tar', 1)[1] or ''))
d.setVar('IMAGE_TYPEDEP:xenguest', 'tar' + (rootfs_file.split('.tar', 1)[1] or ''))
if kernel_needed:
# Tell do_bootimg_xenguest to call xenguest_image_add_kernel
@@ -29,7 +29,7 @@ do_assemble_xenguest_initramfs() {
}
do_assemble_xenguest_initramfs[depends] += "${INITRAMFS_IMAGE}:do_merge_xenguestenv"
kernel_do_deploy_append() {
kernel_do_deploy:append() {
if [ -f "${B}/${KERNEL_OUTPUT_DIR}/Image-initramfs.xenguest" ]; then
install -m 0644 ${B}/${KERNEL_OUTPUT_DIR}/Image-initramfs.xenguest "$deployDir/Image-${INITRAMFS_NAME}.xenguest"
ln -snf Image-${INITRAMFS_NAME}.xenguest $deployDir/Image-${INITRAMFS_LINK_NAME}.xenguest
@@ -48,7 +48,7 @@ XENGUEST_IMAGE_VARS_EXTRA += "\
XENGUEST_EXTRA_INIT_PRE XENGUEST_EXTRA_INIT XENGUEST_EXTRA_INIT_POST \
XENGUEST_EXTRA_FILES XENGUEST_EXTRA_DISK_FILES"
do_deploy_append() {
do_deploy:append() {
if [ -z "${XENGUEST_IMAGE_DEPLOY_DIR}" -o \
-z "${XENGUEST_IMAGE_DEPLOY_SUBDIR}" ]; then
die "Configuration error: XENGUEST_IMAGE_DEPLOY_DIR or XENGUEST_IMAGE_DEPLOY_SUBDIR is empty"
@@ -1,7 +1,7 @@
# This files is added when DISTRO_FEATURES contains arm-autonomy-guest
# We need to have ipv4 activated
DISTRO_FEATURES_append = " ipv4"
DISTRO_FEATURES:append = " ipv4"
# Build a xenguest type image
IMAGE_CLASSES += "image_types_xenguest"
@@ -10,6 +10,6 @@ IMAGE_FSTYPES += "xenguest"
# xenguest kernel extension to handle initramfs
KERNEL_CLASSES += "kernel-xenguest"
IMAGE_INSTALL_append = "${@bb.utils.contains('DISTRO_FEATURES', 'docker', \
IMAGE_INSTALL:append = "${@bb.utils.contains('DISTRO_FEATURES', 'docker', \
' packagegroup-docker-runtime-minimal', \
'', d)}"
@@ -1,18 +1,15 @@
# This files is added when DISTRO_FEATURES contains arm-autonomy-host
# We need to have xen and ipv4 activated
DISTRO_FEATURES_append = " xen ipv4"
DISTRO_FEATURES_NATIVE_append = " arm-autonomy-host"
ARM_AUTONOMY_HOST_OVERRIDES = ":autonomy-host"
# Since meta-virtualization master branch bumped to 4.15+stable we need to
# force the 4.14+stable selection until we validate the new version
PREFERRED_VERSION_xen = "4.14+stable%"
PREFERRED_VERSION_xen-tools = "4.14+stable%"
# We need to have xen and ipv4 activated
DISTRO_FEATURES:append = " xen ipv4"
DISTRO_FEATURES_NATIVE:append = " arm-autonomy-host"
# Don't include kernels in standard images when building arm-autonomy-host
# If the kernel image is needed in the rootfs the following should be set from
# a bbappend: RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-image"
RDEPENDS_${KERNEL_PACKAGE_NAME}-base ?= ""
# a bbappend: RDEPENDS:${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-image"
RDEPENDS:${KERNEL_PACKAGE_NAME}-base ?= ""
# Require extra machine specific settings from meta-arm-bsp dynamic-layers only
# if meta-arm-bsp is in the bblayers.conf
+2 -2
View File
@@ -17,7 +17,7 @@ LAYERDEPENDS_meta-arm-autonomy = " \
networking-layer \
virtualization-layer \
"
LAYERSERIES_COMPAT_meta-arm-autonomy = "hardknott"
LAYERSERIES_COMPAT_meta-arm-autonomy = "honister"
# We don't activate virtualization feature from meta-virtualization as it
# brings in lots of stuff we don't need. We need to disable the sanity check
@@ -29,7 +29,7 @@ ARM_AUTONOMY_LAYERDIR := "${LAYERDIR}"
ARM_AUTONOMY_DISTRO_CFGDIR = "${ARM_AUTONOMY_LAYERDIR}/conf/distro/include/"
# Add class to handle arm-autonomy distro extensions
USER_CLASSES_append = " arm-autonomy-features"
USER_CLASSES:append = " arm-autonomy-features"
BBFILES_DYNAMIC += " \
meta-arm-bsp:${LAYERDIR}/dynamic-layers/meta-arm-bsp/*/*/*.bbappend \
@@ -8,7 +8,7 @@ require conf/machine/include/arm/arch-armv8a.inc
KERNEL_IMAGETYPE = "Image"
IMAGE_FSTYPES += "tar.bz2"
IMAGE_FSTYPES:append = " tar.bz2"
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "5.10%"
@@ -29,7 +29,7 @@ First you must download the Yocto layers needed:
- all other layers you might want to use
For each of the downloaded layer make sure you checkout the release of Yocto
you want to use (for example hardknott using `git checkout hardknott`).
you want to use (for example honister using `git checkout honister`).
Please follow [Yocto documentation](https://www.yoctoproject.org/docs/latest/brief-yoctoprojectqs/brief-yoctoprojectqs.html)
in order to have the required dependencies.
@@ -1,7 +1,7 @@
# Require extra machine specific settings
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE ?= ""
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE_n1sdp = "n1sdp-extra-settings.inc"
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE_fvp-base = "fvp-base-extra-settings.inc"
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE_juno = "juno-extra-settings.inc"
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE:n1sdp = "n1sdp-extra-settings.inc"
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE:fvp-base = "fvp-base-extra-settings.inc"
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE:juno = "juno-extra-settings.inc"
require ${ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE}
@@ -1,12 +1,12 @@
# Extra machine settings for fvp-base
# FVP uses vda as hard drive and partition 2 is the
# default rootfs, so use vda3 for guest lvm
XENGUEST_MANAGER_VOLUME_DEVICE ?= "/dev/vda3"
# FVP uses vda as hard drive and partition 1 is the
# default rootfs, so use vda2 for guest lvm
XENGUEST_MANAGER_VOLUME_DEVICE ?= "/dev/vda2"
# We need to extend the wks search path to be able to find the wks file set in
# ARM_AUTONOMY_WKS_FILE.
WKS_SEARCH_PATH_prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
WKS_SEARCH_PATH:prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
ARM_AUTONOMY_WKS_FILE ?= "arm-autonomy-fvp-base-disk.wks.in"
# set wks file only if INITRAMFS_IMAGE_BUNDLE is not set
@@ -7,7 +7,7 @@ XEN_DEVICETREE_DOM0_SIZE ?= "0x02400000"
# We need to extend the wks search path to be able to find the wks file set in
# ARM_AUTONOMY_WKS_FILE.
WKS_SEARCH_PATH_prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
WKS_SEARCH_PATH:prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
ARM_AUTONOMY_WKS_FILE ?= "arm-autonomy-juno-disk.wks.in"
# set wks file only if INITRAMFS_IMAGE_BUNDLE is not set
@@ -2,7 +2,7 @@
# We need to extent the wks search path to be able to find the wks file set in
# ARM_AUTONOMY_WKS_FILE.
WKS_SEARCH_PATH_prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
WKS_SEARCH_PATH:prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
ARM_AUTONOMY_WKS_FILE ?= "arm-autonomy-n1sdp-efidisk.wks.in"
WKS_FILE = "${ARM_AUTONOMY_WKS_FILE}"
@@ -58,7 +58,7 @@ ${@bb.utils.contains('DISTRO_FEATURES', 'alternate-kernel', \
KERNEL_PACKAGE_NAME_alternate/kernel ?= "kernel-rt"
# When alternate-kernel DISTRO_FEATURE is present we set the kernel-rt by
# default
KERNEL_PACKAGE_NAME_pn-linux-yocto-rt = "\
KERNEL_PACKAGE_NAME:pn-linux-yocto-rt = "\
${@ d.getVar('KERNEL_PACKAGE_NAME_alternate/kernel') \
if bb.utils.contains('DISTRO_FEATURES', 'alternate-kernel', True, False, d) \
else 'kernel' }"
@@ -87,4 +87,8 @@ d.getVar('PREFERRED_PROVIDER_alternate/kernel') else ''}"
# Additionnal kernel modules are necessary for n1sdp to be able to mount FAT
# filesystems using CP437.
MACHINE_ESSENTIAL_EXTRA_RDEPENDS_append = " kernel-module-nls-cp437 kernel-module-nls-iso8859-1"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS:append = " kernel-module-nls-cp437 kernel-module-nls-iso8859-1"
# '-mcpu=' and '-march=' conflicts for xen build
# lets not set '-march=' and let xen to overwrite '-mcpu='
TUNE_CCARGS:remove:pn-xen = "${TUNE_CCARGS_MARCH}${TUNE_CCARGS_MARCH_OPTS}"
@@ -1,14 +1,14 @@
# Use OVERRIDES to minimize the usage of
# ${@bb.utils.contains('DISTRO_FEATURES', 'autonomy-host', ...
OVERRIDES_append = "${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ':autonomy-host', '', d)}"
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
FILESEXTRAPATHS_prepend_autonomy-host := "${THISDIR}/${PN}:"
FILESEXTRAPATHS:prepend:autonomy-host := "${THISDIR}/${PN}:"
DEPENDS_append_autonomy-host = " dos2unix-native"
DEPENDS:append:autonomy-host = " dos2unix-native"
SRC_URI_append_autonomy-host = " file://add-xen-support.patch;patchdir=../"
SRC_URI:append:autonomy-host = " file://add-xen-support.patch;patchdir=../"
do_install_append_autonomy-host() {
do_install:append:autonomy-host() {
mv -v ${D}/${UNPACK_DIR}/SOFTWARE/uEnv.txt \
${D}/${UNPACK_DIR}/SOFTWARE/uenvfile
for dir in $(ls ${D}/${UNPACK_DIR}/SITE1/)
@@ -18,11 +18,11 @@ do_install_append_autonomy-host() {
}
DEPLOY_EXTRA_DEPS ??= ""
DEPLOY_EXTRA_DEPS_autonomy-host = "xen:do_deploy xen-devicetree:do_deploy"
DEPLOY_EXTRA_DEPS:autonomy-host = "xen:do_deploy xen-devicetree:do_deploy"
do_deploy[depends] += "${DEPLOY_EXTRA_DEPS}"
do_deploy_prepend_autonomy-host() {
do_deploy:prepend:autonomy-host() {
# To avoid dependency loop between firmware-image-juno:do_install,
# xen:do_deploy and xen-devicetree:do_deploy when
# INITRAMFS_IMAGE_BUNDLE = "1", we need to handle the xen and
@@ -1,4 +1,4 @@
Upstream Status: Inappropriate [meta-arm-autonomy specifc u-boot config]
Upstream-Status: Inappropriate [meta-arm-autonomy specific u-boot config]
Signed-off-by: Nathan Dunne <nathan.dunne@arm.com>
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
@@ -0,0 +1,10 @@
# Use OVERRIDES to minimize the usage of
# ${@bb.utils.contains('DISTRO_FEATURES', 'autonomy-host', ...
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
FILESEXTRAPATHS:prepend:autonomy-host:fvp-base := "${THISDIR}/${PN}:"
#
# FVP BASE
#
SRC_URI:append:autonomy-host:fvp-base = " file://xen_u-boot_kernel_addr.patch"
@@ -1,23 +1,23 @@
# Platform dependent parameters
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
# Add a dtb snippet to turn off iommu in dom0 on Juno board
SRC_URI_append_juno = " file://xen-juno.dtsi"
XEN_DEVICETREE_DTSI_MERGE_append_juno = " xen-juno.dtsi"
SRC_URI:append:juno = " file://xen-juno.dtsi"
XEN_DEVICETREE_DTSI_MERGE:append:juno = " xen-juno.dtsi"
# Add a dtb snippet to remove pmu and iommu in dom0 on N1SDP
SRC_URI_append_n1sdp = " file://xen-n1sdp.dtsi"
XEN_DEVICETREE_DTSI_MERGE_append_n1sdp = " xen-n1sdp.dtsi"
SRC_URI:append:n1sdp = " file://xen-n1sdp.dtsi"
XEN_DEVICETREE_DTSI_MERGE:append:n1sdp = " xen-n1sdp.dtsi"
# For N1SDP, the XEN_DEVICETREE_DEPEND and XEN_DEVICETREE_DTBS variables are
# being set in meta-arm-autonomy/dynamic-layers/meta-arm-bsp/conf/machine/n1sdp-extra-settings.inc
# Board specific configs
XEN_DEVICETREE_DOM0_BOOTARGS_append_juno = " root=/dev/sda1 rootwait"
XEN_DEVICETREE_XEN_BOOTARGS_append_juno = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
XEN_DEVICETREE_DOM0_BOOTARGS:append:juno = " root=/dev/sda1 rootwait"
XEN_DEVICETREE_XEN_BOOTARGS:append:juno = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
XEN_DEVICETREE_DOM0_BOOTARGS_append_n1sdp = " root=/dev/sda2 rootwait"
XEN_DEVICETREE_XEN_BOOTARGS_append_n1sdp = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
XEN_DEVICETREE_DOM0_BOOTARGS:append:n1sdp = " root=/dev/sda2 rootwait"
XEN_DEVICETREE_XEN_BOOTARGS:append:n1sdp = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
XEN_DEVICETREE_DOM0_BOOTARGS_append_fvp-base = " root=/dev/vda2"
XEN_DEVICETREE_XEN_BOOTARGS_append_fvp-base = " console=dtuart dtuart=serial0 bootscrub=0"
XEN_DEVICETREE_DOM0_BOOTARGS:append:fvp-base = " root=/dev/vda1"
XEN_DEVICETREE_XEN_BOOTARGS:append:fvp-base = " console=dtuart dtuart=serial0 bootscrub=0"
@@ -1,15 +1,15 @@
# FVP Base support
COMPATIBLE_MACHINE_fvp-base = "fvp-base"
FILESEXTRAPATHS_prepend_fvp-base := "${THISDIR}/files:"
SRC_URI_append_fvp-base = " file://early-printk.cfg"
COMPATIBLE_MACHINE:fvp-base = "fvp-base"
FILESEXTRAPATHS:prepend:fvp-base := "${THISDIR}/files:"
SRC_URI:append:fvp-base = " file://early-printk.cfg"
# Juno support
COMPATIBLE_MACHINE_juno = "juno"
FILESEXTRAPATHS_prepend_juno := "${THISDIR}/files:"
SRC_URI_append_juno = " file://early-printk.cfg"
COMPATIBLE_MACHINE:juno = "juno"
FILESEXTRAPATHS:prepend:juno := "${THISDIR}/files:"
SRC_URI:append:juno = " file://early-printk.cfg"
# N1SDP support
COMPATIBLE_MACHINE_n1sdp = "n1sdp"
FILESEXTRAPATHS_prepend_n1sdp := "${THISDIR}/files:"
SRC_URI_append_n1sdp = " file://n1sdp.cfg \
COMPATIBLE_MACHINE:n1sdp = "n1sdp"
FILESEXTRAPATHS:prepend:n1sdp := "${THISDIR}/files:"
SRC_URI:append:n1sdp = " file://n1sdp.cfg \
file://early-printk.cfg"
@@ -1,6 +0,0 @@
define KMACHINE n1sdp
define KTYPE preempt-rt
define KARCH arm64
kconf non-hardware ktypes/developer/developer.cfg
kconf non-hardware ktypes/preempt-rt/preempt-rt.cfg
@@ -1,4 +0,0 @@
# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
# Linux kernel with a coredump while trying to access ZEN bit of CPACR1 core
# register.
# CONFIG_ARM64_SVE is not set
@@ -1,3 +0,0 @@
define KFEATURE_DESCRIPTION "Disable SVE support"
kconf non-hardware disable-arm64-sve.cfg
@@ -1,7 +0,0 @@
# Yocto kernel-cache sets CONFIG_NLS_CODEPAGE_437=m for LINUX_KERNEL_TYPR=preempt-rt
CONFIG_NLS_CODEPAGE_437=y
# Yocto kernel-cache sets CONFIG_NLS_ISO8859_1=m for LINUX_KERNEL_TYPR=preempt-rt
CONFIG_NLS_ISO8859_1=y
# Set the timer interrupt run at 1000 Hz to have a fast response
CONFIG_HZ_1000=y
@@ -1,3 +0,0 @@
define KFEATURE_DESCRIPTION "Extra kernel configs when building with PREEMPT_RT"
kconf non-hardware preempt-rt-extras.cfg
@@ -1,15 +0,0 @@
FILESEXTRAPATHS_prepend := "${THISDIR}:"
#
# arm-autonomy kmeta extra
#
SRC_URI_append = " file://arm-autonomy-kmeta-extra;type=kmeta;name=arm-autonomy-kmeta-extra;destsuffix=arm-autonomy-kmeta-extra"
# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
# Linux kernel with a coredump while trying to access XEN bit of CPACR1 core
# register.
LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE = "${@bb.utils.contains_any('DISTRO_FEATURES', \
'arm-autonomy-host arm-autonomy-guest', \
' features/arm-autonomy/disable-arm64-sve.scc','',d)}"
KERNEL_FEATURES_append_fvp-base = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}"
@@ -2,16 +2,13 @@
# long-description: Creates a partitioned disk image that the user
# can directly dd to boot media.
# For FVP Base first partition is empty to keep compatibility with disk.img
part --label empty --source empty --ondisk sda --size="1M" --system-id 8e --align 1024
# Second partition is rootfs normally populated as /dev/vda2
# For FVP Base first partition is rootfs normally populated as /dev/vda1
part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 1024
# Third partition to accomodate guests images normally populated as /dev/vda3 (used by XENGUEST_MANAGER_VOLUME_DEVICE)
# Second partition to accomodate guests images normally populated as /dev/vda2 (used by XENGUEST_MANAGER_VOLUME_DEVICE)
part --label guests --source empty --ondisk sda --size="${GUEST_PART_SIZE}${GUEST_PART_SIZE_UNIT}" --system-id 8e --align 1024
# Fourth partition is user defined entry normally populated as /dev/vda4
# Third partition is user defined entry normally populated as /dev/vda3
${AUTONOMY_HOST_EXTRA_PARTITION}
bootloader --ptable msdos
@@ -1 +1,3 @@
GRUB_BUILDIN += "${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', 'xen_boot', '', d)}"
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
GRUB_BUILDIN:append:autonomy-host = " xen_boot"
@@ -1,9 +0,0 @@
# Machine specific u-boot
FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:"
#
# FVP BASE
#
SRC_URI_append_fvp-base = "${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ' file://xen_u-boot_kernel_addr.patch', '', d)}"
@@ -25,7 +25,7 @@ INITSCRIPT_PARAMS = "start 30 2 3 4 5 ."
INITSCRIPT_NAME = "import_containers.sh"
S = "${WORKDIR}"
do_install_append() {
do_install:append() {
install -d ${D}${sysconfdir}/init.d
install -m 755 import_containers.sh ${D}${sysconfdir}/init.d
@@ -8,7 +8,7 @@ DESCRIPTION = "The minimal set of packages required for running Docker"
inherit packagegroup
RDEPENDS_${PN} = "\
RDEPENDS:${PN} = "\
docker-ce \
docker-ce-contrib \
kernel-module-xt-nat \
@@ -1,4 +1,8 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
# Use OVERRIDES to minimize the usage of
# ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ...
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
FILESEXTRAPATHS:prepend:autonomy-host := "${THISDIR}/${PN}:"
# The --exclude flag in Busybox tar is required by xenguest-mkimage
SRC_URI += "file://feature_tar_long_options.cfg"
SRC_URI:append:autonomy-host = " file://feature_tar_long_options.cfg"
@@ -3,7 +3,9 @@
# configuration by adding network network interface configuration file under
# interfaces.d directory.
do_install_append() {
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
do_install:append:autonomy-host() {
# Add scan of interfaces.d to interfaces file
cp -f ${WORKDIR}/interfaces ${WORKDIR}/interfaces.subdir
echo "source-directory ${sysconfdir}/network/interfaces.d/" \
@@ -1,16 +1,20 @@
# if arm-autonomy-guest is activated, we are running as a xen guest so we must
# have a console on hvc0
# This is normally done in meta-virtualization if xen is activated but here
# we don't have xen activated.
#
# if arm-autonomy-host or arm-autonomy-guest are activated, we need to install
# the getty-wrapper to spawn the login console on /dev/hvc0.
# This is normally done in meta-virtualization if virtualization and xen
# DISTRO_FEATURES are activated.
SYSVINIT_ADDHVC0 = "${@bb.utils.contains('DISTRO_FEATURES', \
'arm-autonomy-guest', 'true', 'false', d)}"
# In both arm-autonomy-host and arm-autonomy-guest we don't have virtualization
# in DISTRO_FEATURE. Hence, manually include sysvinit-inittab_virtualization.inc
# to install the getty-wrapper.
require ${@bb.utils.contains_any('DISTRO_FEATURES', \
'arm-autonomy-host arm-autonomy-guest', \
'recipes-core/sysvinit/sysvinit-inittab_virtualization.inc', \
'', d)}
do_install_append() {
if ${SYSVINIT_ADDHVC0}; then
echo "" >> ${D}${sysconfdir}/inittab
echo "X0:12345:respawn:/sbin/getty 115200 hvc0" >> \
${D}${sysconfdir}/inittab
fi
}
# For arm-autonomy-guest we don't have xen in DISTRO_FEATURES. Hence, manually
# include sysvinit-inittab_xen.inc to append the getty-wrapper entry to
# /etc/inittab.
require ${@bb.utils.contains('DISTRO_FEATURES', \
'arm-autonomy-guest', \
'recipes-core/sysvinit/sysvinit-inittab_xen.inc', \
'', d)}
@@ -0,0 +1,8 @@
# For Xen we only need the i386 binaries
QEMU_TARGETS = "i386"
PACKAGECONFIG[noaudio] = "--audio-drv-list='',,"
PACKAGECONFIG:append = " noaudio"
PACKAGECONFIG:remove = "fdt sdl kvm"
require recipes-devtools/qemu/qemu-package-split.inc
@@ -1,12 +1,3 @@
# Use OVERRIDES to minimize the usage of
# ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ...
OVERRIDES_append = "${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ':autonomy-host', '', d)}"
# For Xen we only need the i386 binaries
QEMU_TARGETS_autonomy-host = "i386"
PACKAGECONFIG[noaudio] = "--audio-drv-list='',,"
PACKAGECONFIG_append_autonomy-host = " noaudio"
PACKAGECONFIG_remove_autonomy-host = "fdt sdl kvm"
require ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', 'recipes-devtools/qemu/${BPN}-package-split.inc', '', d)}
require ${@bb.utils.contains('DISTRO_FEATURES', \
'arm-autonomy-host', \
'qemu-autonomy-host.inc', '', d)}
@@ -16,7 +16,7 @@ DESCRIPTION = "Add entries in DTB for Xen and Dom0"
# customizable parameters
# kernel size is passed to xen via xen.dtb so we need to add
# 'virtual/kernel:do_deploy' as a dependency
XEN_DEVICETREE_DEPEND_append = " virtual/kernel:do_deploy"
XEN_DEVICETREE_DEPEND:append = " virtual/kernel:do_deploy"
XEN_DEVICETREE_DTBS ?= "${KERNEL_DEVICETREE}"
XEN_DEVICETREE_XEN_BOOTARGS ?= "noreboot dom0_mem=${XEN_DEVICETREE_DOM0_MEM}"
XEN_DEVICETREE_DOM0_MEM ?= "1024M,max:1024M"
@@ -1,4 +1,4 @@
PACKAGECONFIG_remove = "\
PACKAGECONFIG:remove = "\
${@bb.utils.contains('DISTRO_FEATURES', \
'arm-autonomy-host', \
'sdl', '', d)}"
@@ -1,4 +1,7 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-4.14:"
# Use OVERRIDES to minimize the usage of
# ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ...
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
SRC_URI += "file://0001-vif-nat-fix-hostname.patch \
"
FILESEXTRAPATHS:prepend:autonomy-host := "${THISDIR}/${PN}-4.14:"
SRC_URI:append:autonomy-host = " file://0001-vif-nat-fix-hostname.patch"
@@ -1,9 +1,10 @@
# Use OVERRIDES to minimize the usage of
# ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ...
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
# Make Xen machine specific
# This ensures that sstate is properly handled and that each machine can have
# its own configuration
PACKAGE_ARCH = "${MACHINE_ARCH}"
PACKAGE_ARCH:autonomy-host = "${MACHINE_ARCH}"
PACKAGECONFIG_remove = "\
${@bb.utils.contains('DISTRO_FEATURES', \
'arm-autonomy-host', \
'sdl', '', d)}"
PACKAGECONFIG:remove:autonomy-host = "sdl"
@@ -1,5 +1,9 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-4.14:"
# Use OVERRIDES to minimize the usage of
# ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ...
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
SRC_URI += " \
FILESEXTRAPATHS:prepend:autonomy-host := "${THISDIR}/${PN}-4.14:"
SRC_URI:append:autonomy-host = " \
file://0001-xen-arm-Throw-messages-for-unknown-FP-SIMD-implement.patch \
"
@@ -46,7 +46,7 @@ XENGUEST_IMAGE_SRC_URI_DISK_FILES ??= ""
# Add xen files
# Any extrafiles files to be added to XENGUEST_IMAGE_SRC_URI_XEN_FILES should
# be performed via XENGUEST_IMAGE_SRC_URI_XEN_FILES_append.
# be performed via XENGUEST_IMAGE_SRC_URI_XEN_FILES:append.
# The kea-subnet4.json holds the kea dhcp4 subnet configuration for Dom0.
# And it is used when XENGUEST_IMAGE_NETWORK_TYPE="nat".
# Any customizations to it should be performed by replacing it
@@ -67,7 +67,7 @@ do_install() {
do_install[vardeps] += "ARM_AUTONOMY_HOST_IMAGE_EXTERN_GUESTS"
FILES_${PN} += "${XENGUEST_MANAGER_GUEST_DIR}"
FILES:${PN} += "${XENGUEST_MANAGER_GUEST_DIR}"
# In a multiconfig build this variable will hold a dependency string, which
# differs based on whether the guest has initramfs or not. It may have a space
@@ -56,8 +56,8 @@ do_install() {
}
# Things that we need on the target
RDEPENDS_${PN} += "bash xenguest-mkimage lvm2 xen-tools parted e2fsprogs \
RDEPENDS:${PN} += "bash xenguest-mkimage lvm2 xen-tools parted e2fsprogs \
dosfstools logrotate"
FILES_${PN} += "${bindir}/xenguest-manager \
FILES:${PN} += "${bindir}/xenguest-manager \
${sysconfdir}/xenguest"
@@ -31,6 +31,6 @@ do_install() {
}
# We need bash
RDEPENDS_${PN} = "bash"
FILES_${PN} = "${bindir}/xenguest-mkimage"
RDEPENDS:${PN} = "bash"
FILES:${PN} = "${bindir}/xenguest-mkimage"
@@ -31,13 +31,13 @@ PACKAGES =+ "${PN}-kea-dhcp4"
# Prefix with a_ to make sure it is executed in runlevel 01 before others
# run start script before ifupdown and run stop script after ifupdown
INITSCRIPT_PACKAGES = "${PN} ${PN}-kea-dhcp4"
INITSCRIPT_NAME_${PN} = "a_xenguest-network-bridge"
INITSCRIPT_PARAMS_${PN} = "start 01 2 3 4 5 . stop 81 0 1 6 ."
INITSCRIPT_NAME:${PN} = "a_xenguest-network-bridge"
INITSCRIPT_PARAMS:${PN} = "start 01 2 3 4 5 . stop 81 0 1 6 ."
# Kea configuration needs to be restored before kea init scripts:
# Kea dhcp4 server is 30, so lets use 20, to have higher priority
INITSCRIPT_NAME_${PN}-kea-dhcp4 = "kea-restore-default-config"
INITSCRIPT_PARAMS_${PN}-kea-dhcp4 = "defaults 20"
INITSCRIPT_NAME:${PN}-kea-dhcp4 = "kea-restore-default-config"
INITSCRIPT_PARAMS:${PN}-kea-dhcp4 = "defaults 20"
inherit allarch update-rc.d
@@ -54,7 +54,7 @@ do_install() {
> ${WORKDIR}/network-bridge.sh
install -d -m 755 ${D}${sysconfdir}/init.d
install -m 755 ${WORKDIR}/xenguest-network-bridge \
${D}${sysconfdir}/init.d/${INITSCRIPT_NAME_${PN}}
${D}${sysconfdir}/init.d/${INITSCRIPT_NAME:${PN}}
install -d -m 755 ${D}${sysconfdir}/network/interfaces.d
install -m 755 ${WORKDIR}/xenguest-network-bridge.cfg \
${D}${sysconfdir}/network/interfaces.d/.
@@ -77,7 +77,7 @@ do_install() {
${D}${sysconfdir}/kea/kea-dhcp4.conf.original
}
RDEPENDS_${PN} += "bridge-utils \
RDEPENDS:${PN} += "bridge-utils \
iptables \
kea \
${PN}-kea-dhcp4 \
@@ -87,10 +87,10 @@ RDEPENDS_${PN} += "bridge-utils \
kernel-module-xt-nat \
kernel-module-xt-masquerade \
"
FILES_${PN} += "${sysconfdir}/network/interfaces.d/xenguest-network-bridge.cfg"
FILES_${PN} += "${sysconfdir}/xenguest/init.pre/network-bridge.sh"
FILES_${PN} += "${sysconfdir}/xen/scripts/vif-post.d/00-vif-xenguest.hook"
FILES:${PN} += "${sysconfdir}/network/interfaces.d/xenguest-network-bridge.cfg"
FILES:${PN} += "${sysconfdir}/xenguest/init.pre/network-bridge.sh"
FILES:${PN} += "${sysconfdir}/xen/scripts/vif-post.d/00-vif-xenguest.hook"
FILES_${PN}-kea-dhcp4 = "${sysconfdir}/kea/kea-dhcp4.conf.original"
FILES_${PN}-kea-dhcp4 += "${sysconfdir}/init.d/${INITSCRIPT_NAME_${PN}-kea-dhcp4}"
FILES_${PN}-kea-dhcp4 += "${sysconfdir}/xenguest/init.post/xenguest-network-init-post.sh"
FILES:${PN}-kea-dhcp4 = "${sysconfdir}/kea/kea-dhcp4.conf.original"
FILES:${PN}-kea-dhcp4 += "${sysconfdir}/init.d/${INITSCRIPT_NAME:${PN}-kea-dhcp4}"
FILES:${PN}-kea-dhcp4 += "${sysconfdir}/xenguest/init.post/xenguest-network-init-post.sh"
@@ -1,3 +1,5 @@
# Add arm-autonomy kernel support
require linux-arm-autonomy.inc
require ${@bb.utils.contains_any('DISTRO_FEATURES', \
'arm-autonomy-host arm-autonomy-guest', \
'linux-arm-autonomy.inc', \
'', d)}
@@ -1,11 +1,11 @@
# Add arm-autonomy specific features to the kernel
FILESEXTRAPATHS_prepend := "${THISDIR}:"
FILESEXTRAPATHS:prepend := "${THISDIR}:"
#
# arm-autonomy kmeta
#
SRC_URI_append = " file://arm-autonomy-kmeta;type=kmeta;name=arm-autonomy-kmeta;destsuffix=arm-autonomy-kmeta"
SRC_URI:append = " file://arm-autonomy-kmeta;type=kmeta;name=arm-autonomy-kmeta;destsuffix=arm-autonomy-kmeta"
# Add common Xen (host and guest) configs and patches
KERNEL_FEATURES += "${@bb.utils.contains_any('DISTRO_FEATURES', \
@@ -27,8 +27,8 @@ KERNEL_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', \
# Add support for arm64-autonomy-guest machine
COMPATIBLE_MACHINE_arm64-autonomy-guest = "arm64-autonomy-guest"
KMACHINE_arm64-autonomy-guest = "arm64-autonomy-guest"
COMPATIBLE_MACHINE:arm64-autonomy-guest = "arm64-autonomy-guest"
KMACHINE:arm64-autonomy-guest = "arm64-autonomy-guest"
# Add Minimal Kernel Configs for Docker runtime
KERNEL_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', \
@@ -1,155 +0,0 @@
# Defines the disk.img image type
#
# Add an image type 'disk.img' which creates a disk image
# with up to 4 partitions
#
# For partition 1 (replace 1 by 2 for partition 2, and so on for 3 and 4):
#
# * DISK_IMG_PARTITION1_SIZE is the partition size in MB (1024 is 1 GB)
#
# * DISK_IMG_PARTITION1_FSTYPE is the file system to format the partition with.
# We support only ext files systems (ext2, ext3 and ext4)
# If this is empty, the partition will not be formated.
#
# * DISK_IMG_PARTITION1_CONTENT is the content to put in the filesystem.
# Only 'rootfs' is supported and will create a partition with the Yocto
# root filesystem.
#
# Default values for partition 1
DISK_IMG_PARTITION1_SIZE ??= "2048"
DISK_IMG_PARTITION1_FSTYPE ??= "ext4"
DISK_IMG_PARTITION1_CONTENT ??= "rootfs"
# Default values for partition 2
DISK_IMG_PARTITION2_SIZE ??= "0"
DISK_IMG_PARTITION2_FSTYPE ??= "ext2"
DISK_IMG_PARTITION2_CONTENT ??= ""
# Default values for partition 3
DISK_IMG_PARTITION3_SIZE ??= "0"
DISK_IMG_PARTITION3_FSTYPE ??= "ext4"
DISK_IMG_PARTITION3_CONTENT ??= ""
# Default values for partition 4
DISK_IMG_PARTITION4_SIZE ??= "0"
DISK_IMG_PARTITION4_FSTYPE ??= "ext4"
DISK_IMG_PARTITION4_CONTENT ??= ""
# Default disk sector size
DISK_IMG_SECTOR_SIZE ??= "512"
# We need mkfs.ext and parted tools to create our image (dd is always there)
do_image_disk_img[depends] += "e2fsprogs-native:do_populate_sysroot \
parted-native:do_populate_sysroot"
DISK_IMG_FILE = "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.disk.img"
# Create one disk partition
disk_img_createpart() {
local imagefile="$1"
local start="$2"
local size="$3"
local fstype="${4:-}"
local content="${5:-}"
local formatargs=""
set -x
rm -f $imagefile
# Create the partition image
dd if=/dev/zero of=$imagefile bs=${DISK_IMG_SECTOR_SIZE} count=0 \
seek=$(expr $size / ${DISK_IMG_SECTOR_SIZE})
if [ -n "$fstype" ]; then
case $content in
rootfs)
formatargs=" -d ${IMAGE_ROOTFS}"
;;
boot)
echo "Unsupported"
exit 1
;;
*)
esac
# Create the file system (with content if needed)
mkfs.$fstype -F $imagefile $formatargs
fi
cat $imagefile >> ${DISK_IMG_FILE}
# Add the partition to the partition table
parted -s ${DISK_IMG_FILE} unit B mkpart primary $start \
$(expr $start + $realsize - 1)
}
disk_img_create () {
local currpos
local realsize
set -x
currpos=${DISK_IMG_SECTOR_SIZE}
# Create reserved part for partition table (1MB)
dd if=/dev/zero of=${DISK_IMG_FILE} bs=${DISK_IMG_SECTOR_SIZE} count=0 \
seek=1
parted -s ${DISK_IMG_FILE} mklabel msdos
if [ ${DISK_IMG_PARTITION1_SIZE} -ne 0 ]; then
# Reduce the first block size of one sector to make space
# for the partition table
realsize=$(expr ${DISK_IMG_PARTITION1_SIZE} \* 1024 \* 1024 \
- ${DISK_IMG_SECTOR_SIZE})
# Create the partition
disk_img_createpart ${WORKDIR}/part1.img $currpos $realsize \
"${DISK_IMG_PARTITION1_FSTYPE}" "${DISK_IMG_PARTITION1_CONTENT}"
currpos=$(expr $currpos + $realsize)
fi
if [ ${DISK_IMG_PARTITION2_SIZE} -ne 0 ]; then
# Partition size
realsize=$(expr ${DISK_IMG_PARTITION2_SIZE} \* 1024 \* 1024)
# Create the partition
disk_img_createpart ${WORKDIR}/part2.img $currpos $realsize \
"${DISK_IMG_PARTITION2_FSTYPE}" "${DISK_IMG_PARTITION2_CONTENT}"
currpos=$(expr $currpos + $realsize)
fi
if [ ${DISK_IMG_PARTITION3_SIZE} -ne 0 ]; then
# Partition size
realsize=$(expr ${DISK_IMG_PARTITION3_SIZE} \* 1024 \* 1024)
# Create the partition
disk_img_createpart ${WORKDIR}/part3.img $currpos $realsize \
"${DISK_IMG_PARTITION3_FSTYPE}" "${DISK_IMG_PARTITION3_CONTENT}"
currpos=$(expr $currpos + $realsize)
fi
if [ ${DISK_IMG_PARTITION4_SIZE} -ne 0 ]; then
# Partition size
realsize=$(expr ${DISK_IMG_PARTITION4_SIZE} \* 1024 \* 1024)
# Create the partition
disk_img_createpart ${WORKDIR}/part4.img $currpos $realsize \
"${DISK_IMG_PARTITION4_FSTYPE}" "${DISK_IMG_PARTITION4_CONTENT}"
currpos=$(expr $currpos + $realsize)
fi
}
IMAGE_CMD_disk.img = "disk_img_create"
IMAGE_TYPES += "disk.img"
+3 -3
View File
@@ -9,12 +9,12 @@ BBFILE_COLLECTIONS += "meta-arm-bsp"
BBFILE_PATTERN_meta-arm-bsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-arm-bsp = "5"
LAYERSERIES_COMPAT_meta-arm-bsp = "hardknott"
LAYERSERIES_COMPAT_meta-arm-bsp = "honister"
LAYERDEPENDS_meta-arm-bsp = "core meta-arm"
# This won't be used by layerindex-fetch, but works everywhere else
LAYERDEPENDS_meta-arm-bsp_append_musca-b1 = " meta-python"
LAYERDEPENDS_meta-arm-bsp_append_musca-s1 = " meta-python"
LAYERDEPENDS_meta-arm-bsp:append:musca-b1 = " meta-python"
LAYERDEPENDS_meta-arm-bsp:append:musca-s1 = " meta-python"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/custom-licenses"
+4 -7
View File
@@ -2,9 +2,8 @@
#@NAME: Corstone-500 machine
#@DESCRIPTION: Machine configuration for the Corstone-500 platform
require conf/machine/include/tune-cortexa5.inc
require conf/machine/include/arm/armv7a/tune-cortexa5.inc
#
# Corstone-500 is built against poky-tiny distro.
# poky-tiny sets PREFERRED_PROVIDER_virtual/kernel to linux-yocto-tiny.
# Since distro config is evaluated after the machine config, we need to
@@ -12,12 +11,10 @@ require conf/machine/include/tune-cortexa5.inc
# PREFERRED_PROVIDER_virtual/kernel specified in the machine config will
# apply.
#
PREFERRED_PROVIDER_virtual/kernel_forcevariable = "linux-yocto"
PREFERRED_PROVIDER_virtual/kernel:forcevariable = "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "5.3%"
KBUILD_DEFCONFIG = "multi_v7_defconfig"
KCONFIG_MODE = "--alldefconfig"
PREFERRED_VERSION_trusted-firmware-a ?= "2.4%"
PREFERRED_VERSION_trusted-firmware-a ?= "2.5%"
EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot"
@@ -29,4 +26,4 @@ IMAGE_FSTYPES += "tar.bz2 cpio.gz"
UBOOT_MACHINE = "designstart_ca5_defconfig"
UBOOT_IMAGE_ENTRYPOINT = "0x84000000"
UBOOT_IMAGE_LOADADDRESS = "0x84000000"
PREFERRED_VERSION_u-boot ?= "2020.07"
PREFERRED_VERSION_u-boot ?= "2020.07"
@@ -6,7 +6,7 @@ require conf/machine/include/corstone700.inc
# default feature used: eth_lan91c111
# add the following line to local.conf to disable the feature:
# MACHINE_FEATURES_remove = "eth_lan91c111"
# MACHINE_FEATURES:remove = "eth_lan91c111"
MACHINE_FEATURES += "eth_lan91c111"
TFA_TARGET_PLATFORM = "fvp"
@@ -6,12 +6,12 @@ require conf/machine/include/corstone700.inc
# default feature used: eth_lan9115
# add the following line to local.conf to disable the feature:
# MACHINE_FEATURES_remove = "eth_lan9115"
# MACHINE_FEATURES:remove = "eth_lan9115"
MACHINE_FEATURES += "eth_lan9115"
# default feature used: usb_host
# add the following line to local.conf to disable the feature:
# MACHINE_FEATURES_remove = "usb_host"
# MACHINE_FEATURES:remove = "usb_host"
MACHINE_FEATURES += "usb_host"
TFA_TARGET_PLATFORM = "fpga"
+5 -2
View File
@@ -14,16 +14,19 @@ UBOOT_MACHINE = "vexpress_aemv8a_semi_defconfig"
KERNEL_IMAGETYPE = "Image"
KERNEL_DEVICETREE = "arm/fvp-base-gicv3-psci-custom.dtb"
KERNEL_DEVICETREE = "arm/fvp-base-revc.dtb"
FVP_PROVIDER ?= "fvp-base-a-aem-native"
FVP_EXE ?= "FVP_Base_RevC-2xAEMvA"
FVP_CONFIG[bp.ve_sysregs.exit_on_shutdown] ?= "1"
FVP_CONFIG[bp.virtio_net.enabled] ?= "1"
FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1"
FVP_CONFIG[cache_state_modelled] ?= "0"
FVP_CONFIG[bp.secureflashloader.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1-fvp.bin"
FVP_CONFIG[bp.flashloader0.fname] ?= "${DEPLOY_DIR_IMAGE}/fip-fvp.bin"
FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic"
FVP_DATA ?= "cluster0.cpu0=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}@0x80080000 \
cluster0.cpu0=${DEPLOY_DIR_IMAGE}/fvp-base-gicv3-psci-custom.dtb@0x83000000"
cluster0.cpu0=${DEPLOY_DIR_IMAGE}/fvp-base-revc.dtb@0x83000000"
FVP_CONSOLE ?= "terminal_0"
FVP_TERMINALS[bp.terminal_0] ?= "Console"
FVP_TERMINALS[bp.terminal_1] ?= ""
@@ -9,7 +9,8 @@ require conf/machine/include/arm/armv8r/arch-armv8r64.inc
EXTRA_IMAGEDEPENDS += "boot-wrapper-aarch64"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "5.10%"
PREFERRED_VERSION_linux-yocto ?= "5.14%"
PREFERRED_VERSION_linux-yocto-rt ?= "5.14%"
KERNEL_IMAGETYPE = "Image"
KERNEL_DEVICETREE = "arm/fvp-baser-aemv8r64.dtb"
@@ -17,10 +18,44 @@ KERNEL_DEVICETREE = "arm/fvp-baser-aemv8r64.dtb"
SERIAL_CONSOLES = "115200;ttyAMA0"
IMAGE_FSTYPES += "wic"
WKS_FILE ?= "${MACHINE}.wks"
WKS_FILE ?= "fvp-base.wks"
# As this is a virtual target that will not be used in the real world there is
# no need for real SSH keys. Disable rng-tools (which takes too long to
# initialise) and install the pre-generated keys.
PACKAGECONFIG_remove_pn-openssh = "rng-tools"
PACKAGECONFIG:remove:pn-openssh = "rng-tools"
MACHINE_EXTRA_RRECOMMENDS += "ssh-pregen-hostkeys"
FVP_EXTRA_ARGS = "-a cluster0*=${DEPLOY_DIR_IMAGE}/linux-system.axf"
FVP_PROVIDER ?= "fvp-base-r-aem-native"
FVP_EXE ?= "FVP_BaseR_AEMv8R"
FVP_CONSOLE ?= "terminal_0"
# FVP parameters
FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic"
FVP_CONFIG[bp.dram_metadata.init_value] ?= "0"
FVP_CONFIG[bp.dram_metadata.is_enabled] ?= "true"
FVP_CONFIG[bp.dram_size] ?= "8"
FVP_CONFIG[bp.exclusive_monitor.monitor_access_level] ?= "1"
FVP_CONFIG[bp.pl011_uart0.unbuffered_output] ?= "1"
FVP_CONFIG[bp.pl011_uart0.untimed_fifos] ?= "true"
FVP_CONFIG[bp.refcounter.non_arch_start_at_default] ?= "1"
FVP_CONFIG[bp.smsc_91c111.enabled] ?= "0"
FVP_CONFIG[bp.ve_sysregs.mmbSiteDefault] ?= "0"
FVP_CONFIG[cache_state_modelled] ?= "0"
FVP_CONFIG[cluster0.gicv3.cpuintf-mmap-access-level] ?= "2"
FVP_CONFIG[cluster0.gicv3.SRE-enable-action-on-mmap] ?= "2"
FVP_CONFIG[cluster0.gicv3.SRE-EL2-enable-RAO] ?= "1"
FVP_CONFIG[cluster0.gicv3.extended-interrupt-range-support] ?= "1"
FVP_CONFIG[cluster0.has_aarch64] ?= "1"
FVP_CONFIG[cluster0.NUM_CORES] ?= "4"
FVP_CONFIG[cluster0.stage12_tlb_size] ?= "512"
FVP_CONFIG[gic_distributor.GICD_CTLR-DS-1-means-secure-only] ?= "1"
FVP_CONFIG[gic_distributor.GITS_BASER0-type] ?= "1"
FVP_CONFIG[gic_distributor.ITS-count] ?= "1"
FVP_CONFIG[gic_distributor.ITS-hardware-collection-count] ?= "1"
FVP_CONFIG[gic_distributor.has-two-security-states] ?= "0"
FVP_CONFIG[pctl.startup] ?= "0.0.0.*"
FVP_CONFIG[bp.virtio_net.enabled] ?= "1"
FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1"
FVP_CONFIG[bp.vis.rate_limit-enable] ?= "0"
+6 -22
View File
@@ -7,39 +7,23 @@
MACHINE_FEATURES = "optee"
IMAGE_CLASSES += "image_types_disk_img"
IMAGE_FSTYPES += "disk.img wic"
IMAGE_FSTYPES += "wic"
WKS_FILE ?= "fvp-base.wks"
# Disk image configuration
# We don't use the first partition
DISK_IMG_PARTITION1_SIZE = "128"
DISK_IMG_PARTITION1_FSTYPE = ""
DISK_IMG_PARTITION1_CONTENT = ""
# Second partition is used for rootfs
DISK_IMG_PARTITION2_SIZE = "2048"
DISK_IMG_PARTITION2_FSTYPE = "ext4"
DISK_IMG_PARTITION2_CONTENT = "rootfs"
# Empty third partition (8G - 2048M - 128M)
DISK_IMG_PARTITION3_SIZE = "6016"
DISK_IMG_PARTITION3_FSTYPE = ""
DISK_IMG_PARTITION3_CONTENT = ""
SERIAL_CONSOLES = "115200;ttyAMA0"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "5.10%"
PREFERRED_VERSION_u-boot ?= "2021.01"
PREFERRED_VERSION_trusted-firmware-a ?= "2.4%"
PREFERRED_VERSION_u-boot ?= "2021.07"
PREFERRED_VERSION_trusted-firmware-a ?= "2.5%"
EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot"
# As this is a virtual target that will not be used in the real world there is
# no need for real SSH keys. Disable rng-tools (which takes too long to
# initialise) and install the pre-generated keys.
PACKAGECONFIG_remove_pn-openssh = "rng-tools"
PACKAGECONFIG:remove:pn-openssh = "rng-tools"
MACHINE_EXTRA_RRECOMMENDS += "ssh-pregen-hostkeys"
TEST_TARGET = "OEFVPTarget"
@@ -1,19 +0,0 @@
# Tuning for ARMV6-m defined in ARM v6-M ArchitectureReference Manual
# at https://static.docs.arm.com/ddi0419/d/DDI0419D_armv6m_arm.pdf
DEFAULTTUNE ?= "armv6m"
TUNEVALID[armv6m] = "Enable instructions for ARMv6-m"
TUNECONFLICTS[armv6m] = "armv4 armv5 armv6 armv7a"
# Use armv6s-m instead of armv6-m to avoid gcc bug "SVC is not permitted on this architecture".
# SVC is a valid instruction.
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', 'armv6m:', '', d)}"
require conf/machine/include/arm/arch-armv5.inc
# Little Endian
AVAILTUNES += "armv6m"
ARMPKGARCH_tune-armv6m = "armv6m"
TUNE_FEATURES_tune-armv6m = "armv6m"
PACKAGE_EXTRA_ARCHS_tune-armv6m = "armv6m"
@@ -1,17 +0,0 @@
#
# Defaults for ARMv7e-m
#
DEFAULTTUNE ?= "armv7em"
TUNEVALID[armv7em] = "Enable instructions for ARMv7e-m"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', 'armv7em:', '', d)}"
TUNECONFLICTS[armv7em] = "armv4 armv5 armv6 armv7a"
require conf/machine/include/arm/arch-armv7m.inc
AVAILTUNES += "armv7em"
ARMPKGARCH_tune-armv7em = "armv7em"
TUNE_FEATURES_tune-armv7em = "armv7em"
PACKAGE_EXTRA_ARCHS_tune-armv7em = "armv7em"
@@ -1,17 +0,0 @@
#
# Defaults for ARMv7-m
#
DEFAULTTUNE ?= "armv7m"
TUNEVALID[armv7m] = "Enable instructions for ARMv7-m"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 'armv7m:', '', d)}"
TUNECONFLICTS[armv7m] = "armv4 armv5 armv6 armv7a"
require conf/machine/include/arm/arch-armv6m.inc
AVAILTUNES += "armv7m"
ARMPKGARCH_tune-armv7m = "armv7m"
TUNE_FEATURES_tune-armv7m = "armv7m"
PACKAGE_EXTRA_ARCHS_tune-armv7m = "armv7m"
@@ -1,18 +0,0 @@
#
#
# Defaults for ARMv8.1-M.main
#
DEFAULTTUNE ?= "armv8-1m-main"
TUNEVALID[armv8-1m-main] = "Enable instructions for ARMv8.1-m.main"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', 'armv8-1m-main:', '', d)}"
TUNECONFLICTS[armv8-1m-main] = "armv4 armv5 armv6 armv7a"
require conf/machine/include/arm/arch-armv8m-main.inc
AVAILTUNES += "armv8-1m-main"
ARMPKGARCH_tune-armv8-1m-main = "armv8-1m-main"
TUNE_FEATURES_tune-armv8-1m-main = "armv8-1m-main"
PACKAGE_EXTRA_ARCHS_tune-armv8-1m-main = "armv8-1m-main"
@@ -1,18 +0,0 @@
DEFAULTTUNE ?= "armv8-2a"
TUNEVALID[armv8-2a] = "Enable instructions for ARMv8-a"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march=armv8.2-a', '', d)}"
# TUNE crypto will be handled by arch-armv8a.inc below
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', 'armv8-2a:', '', d)}"
require conf/machine/include/arm/arch-armv8a.inc
AVAILTUNES += "armv8-2a armv8-2a-crypto"
ARMPKGARCH_tune-armv8-2a ?= "armv8-2a"
ARMPKGARCH_tune-armv8-2a-crypto ?= "armv8-2a"
TUNE_FEATURES_tune-armv8-2a = "aarch64 armv8-2a"
TUNE_FEATURES_tune-armv8-2a-crypto = "${TUNE_FEATURES_tune-armv8-2a} crypto"
PACKAGE_EXTRA_ARCHS_tune-armv8-2a = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8-2a"
PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a} armv8-2a-crypto"
BASE_LIB_tune-armv8-2a = "lib64"
BASE_LIB_tune-armv8-2a-crypto = "lib64"
@@ -1,19 +0,0 @@
DEFAULTTUNE ?= "armv8-4a"
TUNEVALID[armv8-4a] = "Enable instructions for ARMv8.4-a"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', ' -march=armv8.4-a', '', d)}"
# TUNE crypto will be handled by arch-armv8a.inc below
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', 'armv8-4a:', '', d)}"
require conf/machine/include/arm/arch-armv8a.inc
# Little Endian base configs
AVAILTUNES += "armv8-4a armv8-4a-crypto"
ARMPKGARCH_tune-armv8-4a ?= "armv8-4a"
ARMPKGARCH_tune-armv8-4a-crypto ?= "armv8-4a"
TUNE_FEATURES_tune-armv8-4a = "aarch64 armv8-4a"
TUNE_FEATURES_tune-armv8-4a-crypto = "${TUNE_FEATURES_tune-armv8-4a} crypto"
PACKAGE_EXTRA_ARCHS_tune-armv8-4a = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8-4a"
PACKAGE_EXTRA_ARCHS_tune-armv8-4a-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-4a} armv8-4a-crypto"
BASE_LIB_tune-armv8-4a = "lib64"
BASE_LIB_tune-armv8-4a-crypto = "lib64"
@@ -1,17 +0,0 @@
#
# Defaults for ARMv8-m.base
#
DEFAULTTUNE ?= "armv8m-base"
TUNEVALID[armv8m-base] = "Enable instructions for ARMv8-m.base"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', ' -march=armv8-m.base', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', 'armv8m-base:', '', d)}"
TUNECONFLICTS[armv8m-base] = "armv4 armv5 armv6 armv7a"
require conf/machine/include/arm/arch-armv7m.inc
AVAILTUNES += "armv8m-base"
ARMPKGARCH_tune-armv8m-base = "armv8m-base"
TUNE_FEATURES_tune-armv8m-base = "armv8m-base"
PACKAGE_EXTRA_ARCHS_tune-armv8m-base = "armv8m-base"
@@ -1,36 +0,0 @@
#
# Defaults for ARMv8-m.main
#
DEFAULTTUNE ?= "armv8m-main"
require conf/machine/include/arm/arch-armv8m-base.inc
TUNEVALID[armv8m-main] = "Enable instructions for ARMv8-m.main"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main${MARCH_DSP}${MARCH_FPU}', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', 'armv8m-main:', '', d)}"
TUNECONFLICTS[armv8m-main] = "armv4 armv5 armv6 armv7a"
# FIXME - below taken from meta/conf/machine/include/arm/arch-armv5-dsp.inc and should be put into something more generic
TUNEVALID[dsp] = "ARM DSP functionality"
ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
MARCH_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '+nodsp', d)}"
# FIXME - Below belongs in meta/conf/machine/include/arm/feature-arm-neon.inc
TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit."
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}"
MARCH_FPU = "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv5spd16' ], '+fp', '+nofp', d)}"
AVAILTUNES += "armv8m-main armv8m-mainearmv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16"
ARMPKGARCH_tune-armv8m-main = "armv8m-main"
ARMPKGARCH_tune-armv8m-maine = "armv8m-main"
ARMPKGARCH_tune-armv8m-main-vfpv5spd16 = "armv8m-main"
ARMPKGARCH_tune-armv8m-maine-vfpv5spd16 = "armv8m-main"
TUNE_FEATURES_tune-armv8m-main = "armv8m-main"
TUNE_FEATURES_tune-armv8m-maine = "${TUNE_FEATURES_tune-armv8m-main} dsp"
TUNE_FEATURES_tune-armv8m-main-vfpv5spd16 = "${TUNE_FEATURES_tune-armv8m-main} vfpv5spd16"
TUNE_FEATURES_tune-armv8m-maine-vfpv5spd16 = "${TUNE_FEATURES_tune-armv8m-main-vfpv5spd16} dsp"
PACKAGE_EXTRA_ARCHS_tune-armv8m-main = "armv8m-main"
PACKAGE_EXTRA_ARCHS_tune-armv8m-maine = "${PACKAGE_EXTRA_ARCHS_tune-armv8m-main} armv8m-maine"
PACKAGE_EXTRA_ARCHS_tune-armv8m-main-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS_tune-armv8m-main} armv8m-main-fpv5-spd16"
PACKAGE_EXTRA_ARCHS_tune-armv8m-maine-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS_tune-armv8m-main} armv8m-maine-fpv5-spd16"
@@ -1,4 +1,10 @@
# We are temporarily using armv8-4a until GCC 11 is released and supported by
# oe-core which will include the armv8-r support for aarch64.
require conf/machine/include/arm/arch-armv8r.inc
require conf/machine/include/arm/arch-armv8-4a.inc
TUNE_FEATURES:tune-armv8r =+ "aarch64"
PACKAGE_EXTRA_ARCHS:tune-armv8r =+ "aarch64"
BASE_LIB:tune-armv8r = "lib64"
BASE_LIB:tune-armv8r-crc = "lib64"
BASE_LIB:tune-armv8r-crypto = "lib64"
BASE_LIB:tune-armv8r-simd = "lib64"
BASE_LIB:tune-armv8r-crc-simd = "lib64"
BASE_LIB:tune-armv8r-crc-crypto-simd = "lib64"
@@ -1,6 +1,6 @@
# Common configuration for all Corstone700 machines
require conf/machine/include/tune-cortexa32.inc
require conf/machine/include/arm/armv8a/tune-cortexa32.inc
MACHINEOVERRIDES =. "corstone700:"
@@ -8,10 +8,12 @@ TFA_PLATFORM = "corstone700"
SERIAL_CONSOLES ?= "115200;ttyAMA0"
PREFERRED_PROVIDER_virtual/kernel_corstone700 = "linux-yocto"
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "5.6%"
PREFERRED_VERSION_trusted-firmware-a ?= "2.4%"
PREFERRED_VERSION_trusted-firmware-a ?= "2.5%"
PREFERRED_VERSION_gcc-arm-none-eabi-native ?= "9-2020-q2-update"
PREFERRED_PROVIDER_virtual/control-processor-firmware ?= "boot-firmware"
@@ -22,11 +24,11 @@ EXTRA_IMAGEDEPENDS += " \
virtual/control-processor-firmware \
"
WKS_FILE_DEPENDS_append = " ${EXTRA_IMAGEDEPENDS}"
WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}"
WKS_FILE ?= "arm-reference-image.corstone700.wks"
VIRTUAL-RUNTIME_dev_manager = "busybox-mdev"
UBOOT_MACHINE ?= "corstone700_defconfig"
PREFERRED_VERSION_u-boot ?= "2020.04"
PREFERRED_VERSION_u-boot ?= "2020.04"

Some files were not shown because too many files have changed in this diff Show More