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

1887 Commits

Author SHA1 Message Date
Emekcan Aras 95e535b0a1 arm-bsp/trusted-firmware-m: Increase assets number for corstone1000
Enabling new features on tfm for corstone1000 increases the number of
ITS and PS assets needed. This patch increases the number of PS and ITS
assets and fixes regression on psa-ps-api-tests.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-24 12:00:08 -04:00
Adam Johnston b3c7b2d7a5 CI: Remove ts-smm-gateway from N1SDP
Installing SMM Gateway SP on the N1SDP may stop the platform from booting
for on-device testing in CI.

In n1sdp.yml, remove `ts-smm-gateway` if it has been added

Keep `ts-smm-gateway` in default SP set so it can still be tested with
`qemu-secureboot`

Signed-off-by: Adam Johnston <adam.johnston@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-24 10:06:07 -04:00
Ross Burton ea407ce849 CI: add TF-M to TC build
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-20 09:06:05 -04:00
Jon Mason 6405018ced arm/trusted-firmware-m-scripts: relocate to tfm directory
Relocate to be with tfm to make it more obvious when a version update
is needed

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-20 09:04:26 -04:00
Ross Burton a091d49db1 arm-bsp/trusted-firmware-m: enable for Total Compute on RSS
TF-M can be built for the Arm Runtime Security Subsystem on the Total
Compute platform.

https://tf-m-user-guide.trustedfirmware.org/platform/arm/rss/readme.html

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-20 09:04:26 -04:00
Ross Burton 1596147a84 arm/trusted-firmware-m: package .elf files in PN-dbg
Some platforms install .elf files, so put those into the -dbg package.
This means expanding the buildpaths QA exclusion.

Whilst here, expand the comments for the other INSANE_SKIP statements.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-20 09:04:26 -04:00
Ross Burton 387465c622 arm/trusted-firmware-m: clean up environment flags
We don't need to unset CFLAGS and LDFLAGS as the CMake file doesn't
respect them anyway.

Add CC to the unexport list for completeness, at least one of these is
needed for now as the build fails without the unexports.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-20 09:04:26 -04:00
Ross Burton a46ddc804e arm/trusted-firmware-m: add the tf-m-extras repository that some machines need
Some machines use components from tf-m-extras, so fetch that too.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-20 09:04:26 -04:00
Jon Mason 2d8bc0be8e arm-bsp/tc1: Add FVP support
Add tc1 ecosystem FVP and bits to enable in the tc1 machine config file
Also, do some hacks to speed things up.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-20 09:00:10 -04:00
Jon Mason 173c9d887e arm-bsp/tc1: Fix signed u-boot
Recent changes in upstream u-boot recipes for signed fitimages, have
caused the existing code to no longer boot.  Add a newly required
variable to get it working again.  Tested using tc1 FVP.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-20 09:00:10 -04:00
Emekcan Aras f54a9f37eb arm-bsp/corstone1000: add OTP config for fvp
Adds OTP config to run the FVP with the new BL1 changes

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-19 15:14:34 -04:00
Emekcan Aras 524203dc17 arm-bsp/trusted-firmware-m: Switch to TF-M BL1 in Corstone1000
Integrates TF-M BL1 into corstone1000 platform. This needs a large
changeset since it changes how TF-M builds and packs the bl1 image.
It also adds changes to make the new BL1 compatible with GPT parser
changes. And finally it bumps to SHA to include necessary changes and fixes
on TFM master and removes already upstreamed GPT patches.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-19 15:14:34 -04:00
Emekcan Aras 323362f682 arm-bsp/trusted-firmware-m: apply patches correctly from external repos
TF-M has out-of-tree patches on external projects such as mbedtls and
qcbor. This needs to be applied in an orderly fashion to build TF-M and
other TF-M related binaries correctly.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-19 15:14:34 -04:00
Peter Hoyes 0b528b731a arm/scp-firmware: Add support for components other than SCP, MCP
SCP-firmware may build components other than the SCP and MCP. Make the
MCP branch of the do_install task more generic to suport this.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-19 15:14:34 -04:00
Jon Mason efa053885f CI: track mickledore branch
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-14 11:00:53 -04:00
Xueliang Zhong 5da8393712 arm-bsp/n1sdp: use edk2-firmware 202211 version
The upstream official N1SDP software currently supports edk2-firmware
202211 version. This patch is to align N1SDP Yocto build with upstream
N1SDP software.

Signed-off-by: Xueliang Zhong <xueliang.zhong@arm.com>
2023-04-11 08:59:29 +00:00
Denys Dmytriyenko 1f2e4e7ff5 optee-examples: add 3.20.0 version
https://github.com/linaro-swg/optee_examples/releases/tag/3.20.0

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-06 09:21:03 -04:00
Denys Dmytriyenko 3a7f746057 optee-test: add 3.20.0 version
https://github.com/OP-TEE/optee_test/releases/tag/3.20.0

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-06 09:21:03 -04:00
Denys Dmytriyenko 32908f1f9e optee-client: add 3.20.0 version
New version now uses and looks for pkgconfig and uuid during do_configure.

https://github.com/OP-TEE/optee_client/releases/tag/3.20.0

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-06 09:21:03 -04:00
Denys Dmytriyenko 8f62e0bff8 optee-os-tadevkit: remove old unused patches
optee-os-tadevkit is a variant of optee-os recipe to install TA devkit.
Even though it may not need local build patches, it re-uses SRC_URI and
FILESPATH from corresponding optee-os recipe. This was mistakenly added
in b061104c87.

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-06 09:20:59 -04:00
Jon Mason 8acd61c427 CI: update to the latest kas version
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-05 14:19:32 -04:00
Ross Burton 5a62ce8561 arm/scp-firmware: remove 2.10 recipe
Our machines have moved to 2.11 so we can remove the 2.10 recipe.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-05 11:00:12 -04:00
Ross Burton 0e5f5ac81f arm-bsp/scp-firmware: move all machines to SCP 2.11
Thanks to Xueliang Zhong for testing that this works on N1SDP.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-05 11:00:12 -04:00
Ross Burton 794c7bfd12 arm/scp-firmware: add recipe for 2.11
The install task is subtly different as the ELF binaries are named .elf
now, instead of having no extension.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-05 11:00:12 -04:00
Rui Miguel Silva d2661fa7c0 arm-bsp/corstone1000: tf-m set/get fwu, private metadata using gpt
Now that we moved in corstone1000 to use a gpt and partitions for
the wic image and flash layout. Setup TF-m to set/get FWU and
Private metadata using the partition information (start and size)
stored in the gpt table instead of fixed flash offsets as before.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-05 11:00:09 -04:00
Adam Johnston 50e74acd97 arm-bsp/optee: Update OP-TEE TA devkit to 3.20 for N1SDP
As optee-os for the N1SDP has been updated to 3.20 we need to do the
same for optee-os-tavdekit. Otherwise errors will be seen if/when
optee-os-tavdekit is built.

Signed-off-by: Adam Johnston <adam.johnston@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-03 12:00:08 -04:00
Jon Mason 3b4ab43d2f arm/linux-yocto: remove IP_VS config fragment
This config fragment was needed to get the dev kernel working.  Since it
in now allowed to fail, it is no longer necessary (and doesn't appear to
be an issue).

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-02 21:00:55 -04:00
Jon Mason 9e57aa4f50 CI: dev kernel allow failure
The dev kernel can frequently fail, and is not anything that is used in
production.  Allow failure to prevent CI issues but still notify that
there are potential issues.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-02 21:00:55 -04:00
Xueliang Zhong b3c60cd3fa arm-bsp/optee-os: N1SDP support for optee-os 3.20
This patch adds optee-os 3.20 support on N1SDP, the optee-os 3.20
bbappend file is also added.

Signed-off-by: Xueliang Zhong <xueliang.zhong@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-31 16:03:29 -04:00
Xueliang Zhong 91725e95c9 arm-bsp/n1sdp-board-firmware: update to newer SHA
Signed-off-by: Xueliang Zhong <xueliang.zhong@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-31 16:03:29 -04:00
Ross Burton 9b6c8c95e4 CI: mask poky's llvm if we're using clang
meta-clang's clang recipe has an irritating interaction with oe-core's
llvm recipe which can result in build warnings, which cause builds to
fail in our pedantic CI.

The current best known workaround is to simply mask out the llvm recipes
if clang is being used.

For more details, see https://github.com/kraj/meta-clang/pull/766.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-30 22:50:24 -04:00
Ross Burton 9171569eb3 arm/scp-firmware: improve debug packaging
Instead of a SCP_BUILD_RELEASE boolean, add CMAKE_BUILD_TYPE and default
to RelWithDebInfo which gives us release (optimised) builds with debug
symbols in the matching .elf files.

To ensure that buildpaths don't leak into the debug symbols, pass the
debug prefix maps via CFLAGS and ASMFLAGS.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-30 22:50:24 -04:00
Ross Burton 0483b73a4c arm/scp-firmware: remove textrel from INSANE_SKIP
The text relocations appear to have been fixed and this skip is no
longer needed.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-30 22:50:24 -04:00
Ross Burton 92f6b82929 arm/scp-firmware: enable verbose builds
We want compile logs to be useful, so enable verbose logs to show what
commands are being invoked.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-30 22:50:24 -04:00
Ross Burton 24eb1a9775 arm/scp-firmware: fix up whitespace
For some reason the shell functions are indented an extra character,
reindent to standard four spaces.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-30 22:50:24 -04:00
Satish Kumar 2be960d8b7 arm-bsp/corstone1000: new gpt based disk layout and fwu metadata
Introduce the use of a gpt partition type layout, and use
the firmware metadata as source of the current boot bank
to boot from in the different boot stages.

This needs to be a large changeset, since it touches a lot
of software components to guarantee that everything works
in an atomic way, to not break the build and/or the boot flow
of the corstone1000 platform.

fdisk -o Start,End,Sectors,Size,Type-UUID,Attrs,Name,UUID -l tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.wic
Disk build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.wic: 32 MiB, 33554432 bytes, 65536 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 5BFC084A-9B95-4024-B60B-9748F5332524

Start   End Sectors  Size Type-UUID                            Attrs Name                       UUID
   34    39       6    3K EBD0A0A2-B9E5-4433-87C0-68B6B72699C7       reserved_1                 B1F2FC8C-A7A3-4485-87CB-16961B8847D7
   40    47       8    4K 8A7A84A0-8387-40F6-AB41-A8B9A5A60D23       FWU-Metadata               3FDFFEE1-3223-4C6B-80F9-B0E7D780C21D
   48    55       8    4K 8A7A84A0-8387-40F6-AB41-A8B9A5A60D23       Bkup-FWU-Metadata          B3068316-5351-4998-823A-3A7B09133EC1
   56    63       8    4K ECB55DC3-8AB7-4A84-AB56-EB0A9974DB42       private_metadata_replica_2 3CC3B456-DEC8-4CE3-BC5C-965483CE4828
   64    71       8    4K ECB55DC3-8AB7-4A84-AB56-EB0A9974DB42       private_metadata_replica_2 DCE9C503-8DFD-4DCB-8889-647E49641552
   72   271     200  100K 64BD8ADB-02C0-4819-8688-03AB4CAB0ED9       bl2_primary                9A3A8FBF-55EF-439C-80C9-A3F728033929
  272  1023     752  376K D763C27F-07F6-4FF0-B2F3-060CB465CD4E       tfm_primary                07F9616C-1233-439C-ACBA-72D75421BF70
 1024  5119    4096    2M B5EB19BD-CF56-45E8-ABA7-7ADB228FFEA7       FIP_A                      B9C7AC9D-40FF-4675-956B-EEF4DE9DF1C5
 5120 15199   10080  4.9M 8197561D-6124-46FC-921E-141CC5745B05       kernel_primary             BF7A6142-0662-47FD-9434-6A8811980816
32784 32983     200  100K 64BD8ADB-02C0-4819-8688-03AB4CAB0ED9       bl2_secondary              3F0C49A4-48B7-4D1E-AF59-3E4A3CE1BA9F
32984 32991       8    4K D763C27F-07F6-4FF0-B2F3-060CB465CD4E       tfm_secondary              009A6A12-64A6-4F0F-9882-57CD79A34A3D
32992 32999       8    4K B5EB19BD-CF56-45E8-ABA7-7ADB228FFEA7       FIP_B                      9424E370-7BC9-43BB-8C23-71EE645E1273
33000 33007       8    4K 8197561D-6124-46FC-921E-141CC5745B05       kernel_secondary           A2698A91-F9B1-4629-9188-94E4520808F8
65496 65501       6    3K EBD0A0A2-B9E5-4433-87C0-68B6B72699C7       reserved_2                 CCB18569-C0BA-42E0-A429-FE1DC862D660

Add new nvmxip qspi block storage device to u-boot and
the plumbing to boot using the fwu_metadata and gpt
partition information.

Make sure that fwu and fwu-backup have the correct, as defined
in spec, partition type. That will make SW pieces in the stack
identify it correctly.

Update the fvp config to use the new wic image with the gpt scheme

Depends on metadata to decide boot bank in TFA, TFM and u-boot
Using Reading partitions (GPT scheme)
changes needed:
- Rename FIP partition in wic image as defined in TF-A to FIP_A,FIP_B
- Rename metadata partitions to FWU_Metadata and Bkup-FWU-Metadata
- Enable support for GPT and PSA_FWU in TF-A

arm-bsp/corstone-1000: TF-M patch to calculate fwu metadata crc32

It's necessary to calculate the metadata crc for TF-A and U-boot
verify the metadata.

and at last remove the wic.nopt (wic no partition) as target fstype
since we now use the partitions.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-29 13:00:20 -04:00
Rui Miguel Silva df726cbfad arm-bsp/optee: bump corstone1000 to v3.20
Bump the preferred corstone1000 to v3.20, drop patch
that is already included in this version.
Create the 3.20 bbappend and remove the entry in 3.18 bbappend.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-29 13:00:15 -04:00
Adam Johnston 1caacf78c7 arm-bsp/linux-yocto: Update N1SDP PCI quirk patch
Poky commit 9ef8cbcdfc85c3ce2ca52d8bee2ab6929f589383 updates
the kernel to 6.1.20 which breaks the PCI quirk patch for the N1SDP.

This change fixes it.

Signed-off-by: Adam Johnston <adam.johnston@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-29 12:00:24 -04:00
Ross Burton 2db12df861 CI: add CI_CLEAN_REPOS variable to allow cleaning the repo reference cache
If the repository reference directory gets corrupted it's not easy to
wipe it, so add a variable CI_CLEAN_REPOS that if set in the pipeline
will clean the clones and re-fetch them.

Also, stop the fetch from detaching during the garbage collection, just
in case it was a long-running GC that got killed that caused the
corruption in the first place.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-27 13:00:09 -04:00
Ross Burton 21092272fd arm-bsp/linux-arm64-ack: update Upstream-Status tags
Manually check every patch that was marked as Pending and update the
patches which are actually backports.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-20 16:00:12 -04:00
Jon Mason 99a3b07d52 arm-bsp/fvp-base: Add edk2 build testing
The infrastructure for edk2 and fvp-base is already present, but not
being used.  Make the changes to get it compiling cleanly, and add it to
CI.

Note: testing is not passing because edk2 isn't booting an image

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-13 16:34:54 -04:00
Jon Mason b39fc31d76 arm/edk2: update version and relocate edk2-basetools to be with edk2
Update to the latest version of EDK2.  There is an issue with memory not
being initialized and hanging boot.  So revert the patch that is causing
the issue until the proper solution can be found.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-13 16:34:54 -04:00
Jon Mason dcc81b56ff arm/optee-os: update to 3.20.0
Update to the latest version and regenerate the patches via devtool.
This causes some patch renumeration to occur, which causes some other
modifications.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-10 12:00:09 -05:00
Jon Mason fa5fffd287 arm/optee: optee-os include cleanup
optee-os-3_19.inc duplicates optee-os.inc.  Remove that and cleanup
the fallout.  Also, remove unused 3.19 bbappend

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-10 12:00:09 -05:00
Jon Mason 8b581f3de3 arm-bsp/optee: remove unused recipes
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-10 12:00:09 -05:00
Jon Mason 4bfa191ada ci: add external-toolchain to qemuarm-secureboot
With the removal of fvp-base-arm32, we no longer have test coverage for
the external Arm toolchain.  Add this to qemuarm-secureboot CI so that
there is coverage again.  Note: it must be a 32bit machine, since there
are currently no aarch64 host toolchains for aarch64

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-07 11:22:58 -05:00
Jon Mason e7c5876380 arm-bsp/fvp-base-arm32: remove support
fvp-base-arm32 isn't a real machine and supporting it has become hacky.
Drop support and remove from meta-arm-bsp

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-07 11:21:52 -05:00
Jon Mason b55cd3d627 arm-bsp/fvp-base: update to u-boot 2023.01
Update to the latest version of u-boot.  This requires removing the new
way DRAM is handled, since we don't use dtb the way u-boot is expecting.
Also, change the default bootcmd to make things work (as that expects
env things as well).

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-07 11:21:52 -05:00
Jon Mason 360a278c44 CI: add support for dev kernel, rt kernel, and poky-tiny
Add the various kernels available in oe-core, as well as the poky-tiny
minimal distribution (which has a minimal kernel config).  This
necessitated combining some kernel bbappends to have patching coverage
for all the variants.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-07 08:45:19 -05:00
Jon Mason 1da8d2fdb5 CI: add yml files for defaults
Make things more obvious by adding yml files for the poky defaults
instead of disregarding them in the jobs-to-kas script

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-03-07 08:45:19 -05:00