1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-04-20 11:29:54 +00:00
Commit Graph

1332 Commits

Author SHA1 Message Date
Peter Hoyes
627f8b9f7d arm/fvp-base-r-aem: Automatically download FVP tarball
The FVP_Base_AEMv8R tarball is now available to download directly from
developer.arm.com without logging in. Therefore, remove the
FVP_BASE_R_AEM_TARBALL_URI env var (and references in the documentation)
and update the SRC_URI in the recipe.

Move fvpboot and userNetPorts to the machine conf, now that the
FVP configuration is no longer dependent on an external tarball.

Clarify the currently supported FVP version in the documentation.

Put the current PV in the recipe filename.

Issue-Id: SCM-4304
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: I776277c690bf4466445ca2df17eedb202f172f58
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-22 13:00:17 -04:00
Jon Mason
9f0c905066 CI: add testing for edk2
For platforms that can do both u-boot and edk2, add a yml to switch from
u-boot to edk2.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-22 11:31:25 -04:00
Jon Mason
b37441921d arm/edk2-firmware: add PROVIDES virtual/bootloader
To prevent a collision with u-boot, add the same PROVIDES from it.  The
PROVIDES name need improvement, but this will work in the interim.

This causes a need for making TF-A more flexible.  Add the ability to
reference the UEFI binary for the BL33 portion of the TF-A build
command.  SGI575 is already doing this.  So, it is really just making it
more generic for others to use.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-22 11:31:25 -04:00
Jon Mason
2b6e3fc1d1 arm-bsp/juno: use virtual/bootloader for u-boot/edk2
To setup juno to use either u-boot or edk2 in CI, abstract out the
relevant parts and setup the parts to allow for it to be done
dynamically.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-22 11:31:25 -04:00
Ross Burton
698e053663 arm-toolchain/gcc-aarch64-none-elf: remove redundant LIC_FILES_CHKSUM
Setting LIC_FILES_CHKSUM with some anonymous Python to dynamically fetch
the right checksum is pointless when the right values are assigned with
overrides in the first place.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-22 11:31:25 -04:00
Abdellatif El Khlifi
99ecf72875 arm-bsp/linux: corstone1000: Handle compatibility with different firmware versions
A kernel patch that fixes FFA version compatibility issues.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-19 11:00:07 -04:00
Ilias Apalodimas
3ee7d01989 optee-ftpm: Use the latest fTPM sources
The recipe right now is using https://github.com/microsoft/MSRSec.
However this is the initial reference implementation from Microsoft and
things have been moved into https://github.com/microsoft/ms-tpm-20-ref/
(in the directory Samples).  Switch to new and currently maintained branch

Testing against real hardware (the SynQuacer DeveloperBox and a rockpi4)
didn't sound any alarms

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-12 22:33:05 -04:00
Rui Miguel Silva
5063ad85c3 arm-bsp/corstone1000: bump u-boot version to 2022.01
Bump version of u-boot from 2021.10 to 2022.01, as at it, take
the chance to squash some patches and reduce the number of
them.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-12 22:29:36 -04:00
Ross Burton
9c0e0c01cb CI: run more tests for qemuarm64-secureboot
Not that we're not forcing TAP networking the SSH connections work, so
we can run the full test suite.

We have to skip parselogs currently as there is an error:

  software IO TLB: Cannot allocate buffer

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-07 12:26:40 -04:00
Ross Burton
39ec9b4ff7 qemuarm64-secureboot: don't set append in extlinux.conf
There's no need to set append in the extlinux.conf, as the kernel will
pull the settings passed from runqemu via the DeviceTree.

By explicitly setting append here the kernel doesn't look in the DT, and
the extlinux.conf hardcoded a TAP network configuration which meant that
networking fails for runqemu using slirp.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-07 12:26:40 -04:00
Ross Burton
f11103f477 qemuarm64-secureboot: set root device correctly
The default root device is /dev/vda, because typically a bare filesystem
is mounted there.

However, qemuarm64-secureboot uses a disk image with partitions, so this
should be /dev/vda2.  Currently this works because qemuarm64-secureboot
has an extlinux.conf which explicitly sets the root device, but we're
working at removing that.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-07 12:26:40 -04:00
Ross Burton
acc72a8627 CI: rename sshd section in testimage.yml
Rename the fragment that installs a SSH daemon to 'sshd' instead of the
generic 'packages'.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-07 12:26:40 -04:00
Ross Burton
2fe79675ed qemuarm64-secureboot: disable the use of KVM
When using -machine=virt,secure=on KVM cannot be used and will cause an
error, so forcibly disable the use of KVM.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-07 12:26:40 -04:00
Ross Burton
ea09776ea5 qemuarm64-secureboot: remove redundant UBOOT_MACHINE
This is assigned in the base qemuarm64.conf already.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-07 12:26:40 -04:00
Ross Burton
57baaaa218 CI: install pregenerated SSH keys to speed up boot
As we're in a CI environment there's no need to generate unique SSH keys
on boot.  Installing the pregenerated SSH keys means they don't need to
be generated, which saves a reasonable amount of boot time due to the
lack of entropy if virtio-rng isn't available.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-07 12:26:40 -04:00
Ross Burton
07c46c0ead arm/scp-firmware: add 2.10
Add a new recipe for SCP Firmware 2.10.

As we're late in the release cycle, keep 2.9 in the tree so that BSPs
that can't be tested in time can stay with 2.9 for now.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-07 12:26:40 -04:00
Ross Burton
6919d15ea8 arm-bsp/scp-firmware: specify version for bbappend
In preparation for SCP Firmware 2.10 being integrated, make this append
version-specific so that BSPs can select which SCP release they have
been tested with.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-07 12:26:40 -04:00
Satish Kumar
8bf4155ef0 kas/corstone1000.yml: refspec update for run-scripts
Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-07 09:13:18 -04:00
Peter Hoyes
4c2f4ab95e arm-bsp/linux-yocto: Enable virtio-rng for fvp-baser-aemv8r64
A virtio-rng is available from FVP_BaseR_AEMv8R version 11.17, so add
to the device tree and enable the correpsonding FVP configuration flag.

This improves the boot time and removes the following warning in the
boot log:

    random: udevd: uninitialized urandom read (16 bytes read)

Issue-Id: SCM-4304
Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Change-Id: Ic935d0b935e21965a489a55db09c4a5f9ac51366
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-06 21:54:26 -04:00
Ross Burton
faec9a7ad3 arm-toolchain/tcmode-external-arm: skip gcc-cross-*
SKIP_RECIPE applies to the full recipe names, which are gcc-cross-[arch].

Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-06 21:54:02 -04:00
Ross Burton
a92e076973 arm-toolchain/external-arm-toolchain: install to libexecdir not datadir
$datadir is for architecture-independent files, and a compiler is not
that.

Install to $libexecdir, and clean up the installation commands whilst
there.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-06 21:51:59 -04:00
Harry Moulton
5c83fa8364 arm-bsp/machine: Add runfvp config for corstone1000
Add the runfvp config for corstone1000-fvp.

Signed-off-by: Harry Moulton <harry.moulton@arm.com>
2022-04-04 19:29:21 +01:00
Vishnu Banavath
95da1dcd74 arm-bsp/u-boot: add SDCard support for corstone1000 FVP
This change is to add SDCard support for corstone1000 FVP

Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
2022-04-04 16:06:35 +00:00
Rui Miguel Silva
d5406cec2e arm-bsp/corstone500/docs: update for kas and runfvp
Update corstone500 documentation to reflect the new build
infrastructure (kas) and the in tree run of the fvp using the
runfvp command.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-01 11:00:09 -04:00
Rui Miguel Silva
575d502cc8 kas/ci: add corstone500 platform
Add kas and ci, including testimage support for corstone500
platform. And for all to work add also the FVP setup.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-01 11:00:09 -04:00
Rui Miguel Silva
7b3ce21458 arm-bsp/corstone500: add wks container for image
Add final wic image that is provider by corstone500-image
target. As at it, remove unnecessary specific filesystem
types.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-01 11:00:09 -04:00
Rui Miguel Silva
3e3f989ab5 arm-bsp/corstone500: add image and container file
Now that we have the wic_nopt class in meta-arm we can add the
the wks file to create the final image for this platform.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-01 11:00:09 -04:00
Ross Burton
e4cc4d01ca arm/oeqa: add no-op runtime test
Machines which don't have working network stacks in a FVP can still run
a useful testimage, because it will validate that the machine will boot
to a login prompt on the console.

However, we can't set TEST_SUITES to "" because testimage assumes that
was a mistake, so add a no-op test case for use in these situations.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-31 15:00:09 -04:00
Ross Burton
5289c05289 CI: add basic selftest job
Currently this just executes the runfvp tests, but we can extend it over
time.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-31 15:00:09 -04:00
Ross Burton
ba7803e513 CI: clean up assignments in base.yml
Split the base local.conf configuration into base (absolutely needed)
and setup (typical configuration). This is needed as oe-selftest needs a
minimal configuration to execute in, for example doesn't inherit
rm_work.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-31 15:00:09 -04:00
Ross Burton
2b5cc5da3e arm/oeqa: add basic runfvp test cases
Add rudimentary but functional test cases for runfvp.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-31 15:00:09 -04:00
Ross Burton
3a0dbcd37f runfvp: strip all suffixes from the image when calculating .fvpconf name
Until testimage tells the controller the basename of the image, make sure
to strip all suffixes from the image name to get the base name, not just
one.  Machines such as corstone500 have images called .wic.nopt, so just
stripping one isn't sufficient.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-31 15:00:09 -04:00
Ross Burton
58f3251598 runfvp: check for telnet
Check for telnet on startup to avoid mysterious failures later when
telnet isn't available.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-31 15:00:09 -04:00
Ross Burton
1a7c48e5f6 runfvp: propagate the exit code correctly
runfvp could encounter an error but the exit code remained as 0.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-31 15:00:09 -04:00
Ross Burton
c49d401828 CI: fix INHERIT assignment
We were accidentally assigning instead of adding to INHERIT.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-28 14:54:08 -04:00
Ross Burton
4c66c6dfd6 CI: run testimage on fvp-base-arm32
Now that virtio networking is up, testimage works.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-28 14:53:50 -04:00
Ross Burton
4ab912828e arm-bsp/fvp-base-arm32: use correct DeviceTree
The 64-bit fvp-base machine uses the upstream fvp-base-recv devicetree,
but fvp-base-arm32 was accidentally using the old
fvp-base-gicv3-psci-custom that we patch into the kernel.

As the only difference between these platforms at a "hardware" level is
whether the cores boot in 32- or 64-bit mode, they should both use
fvp-base-revc.

This isn't trivial as devicetree files need to  be under the correct
arch/ directory, so we need to symlink into arch/arm the right files
from arch/arm64.

This has several improvements, but primarily virtio networking works so
we can now use testimage with fvp-base-arm32.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-25 10:10:22 -04:00
Ross Burton
0e9df5afbb arm-bsp/fvp-arm32: synchonise kernel config
fvp-base pulls in features/net/net.scc, so fvp-base-arm32 should too.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-25 10:10:22 -04:00
Ross Burton
d47e6a89e1 arm/fvp: add more helper variables for the versioning
Add more helper variables for the FVP version to help construct URLs.

If PV is 1.2.3, then VERSION is 1.2 and BUILD is 3.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-25 10:10:22 -04:00
Ross Burton
22282ea893 arm/fvp-base-a-aem: upgrade to latest release, 11.17.21
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-25 10:10:22 -04:00
Ross Burton
966d3ec031 arm/fvp: generalise FVP_ARCH
Use wildcards in the FVP_ARCH assignment, as older FVPs use _GCC-6.4
whilst newer FVPs use _GCC-9.3.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-25 10:10:22 -04:00
Jon Mason
ccec56deff arm-toolchain: update Arm GCC to 11.2
Update the Arm GCC source to the latest version.  Also, update the GCC
patches to apply cleanly, removing those that are no longer relevant.
Add the CVEs from Sumit Garg's series.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-23 09:34:09 -04:00
Ross Burton
28acb5fbd4 CI: save task logs when a job fails
Create a job artifact containing all of the task logs if the job fails.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-23 09:20:20 -04:00
Ross Burton
bff49b6a35 arm-bsp/u-boot: use latest u-boot for fvp-base
Explicitly enable use of CRC instructions: we configure fvp-base to have
armv8.4 cores, but the default uboot config disables crc (see uboot 51d8367d8).

Keep fvp-base-arm32 on 2021.10 as the arm32-specific patches need
rebasing, and a trivial rebase doesn't boot successfully.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-18 13:00:07 -04:00
Ross Burton
f56e69e135 arm-bsp/fvp-base: configure the FVP with v8.4 cores
Configure the FVP to have v8.4 cores, instead of v8.0. This gives us more
useful instructions, such as pointer authentication.

See this document for more details:

https://developer.arm.com/documentation/102378/0201/Armv8-x-and-Armv9-x-extensions-and-features

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-18 13:00:07 -04:00
Ross Burton
583b68cc90 arm-bsp/fvp-base: consolidate FVP configuration
The bulk of the FVP_* variables are common, so move them into
fvp-common.inc.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-18 13:00:07 -04:00
Ross Burton
00cde20a9a arm/oeqa/fvp: show more log from the FVP on failure
If the FVP fails to boot, the last 20 lines may just be a stack trace.
Show the last 200 lines for further context.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-18 13:00:07 -04:00
Ross Burton
15e3e0daf6 arm-bsp/scp-firmware: correctly set version in TC append
Set PV to 2.9.0+git instead of 2.9+git so the version comparisons are
reliable.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-18 09:49:34 -04:00
Emekcan Aras
bc278abe27 arm-bsp/corstone1000: remove the need for meta-arm-image
This commit remove meta-arm-image from the yml file and adds
necessary image configuration to meta-arm-bsp/recipes-bsp/images.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-18 09:49:22 -04:00
Alejandro Enedino Hernandez Samaniego
3d0e5368d1 arm/optee: Upgrade from 3.14 to 3.16
- Removes upstreamed patches for optee-examples
- Fixes optee-examples installation
- Includes new python3-cryptography dependency
- Removes older cryptography backend dependencies
- Fixes python3-cryptography to work with openssl
- Keeps optee-client and optee-os v3.1.4 for corstone1000 compatibility

Tested on qemuarm64-secureboot via optee-examples and xtest -l 15

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alhe@linux.microsoft.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-16 15:04:35 -04:00