Commit Graph
1859 Commits
Author SHA1 Message Date
Gyorgy Szing e995c42311 optee-os: unblock NWd interrupts
Update Trusted Services and backport an OP-TEE update which allows
interrupting the SPs by NWd interrupts. This solves the kernel stall
problems which are due to long cryptographic operations being executed
in the SWd.

Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Gyorgy Szing 5e05b281f4 arm/trusted-services: fix nanopb build error
The nanopb build step randomly fails in the yocto CI due to a race condition.
This change adds a patch file to disable parallel build for nanopb. This is a
temporary workaround and a proper fix will be up-streamed int he future.

Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Rui Miguel Silva cb811a559b arm-bsp/trusted-services: remove merged patches for corstone1000
Patch related with the changes to support the in/out_vec modifications
in TF-M v1.7 was merged in upstream trusted-services integration branch.
So, drop this 3 out of tree patches not needed to be applied any more.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Gyorgy Szing 0d7ee992c1 arm/trusted-services: disable psa-iat on qemuarm64-secureboot
TF-A v2.8 does not support measured boot and FF-A which is mandatory for
PSA Initial Attestation SP to work correctly.

Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Gyorgy Szing 45206b21b9 trusted-services: update documentation
Add information related to SPMC tests and fix stale links.

Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Rui Miguel Silva 5c19e4a87a arm-bsp/trusted-services:corstone1000: remove already merged patches
Remove already merged patches in trusted services integration
branch to avoid clash during apply patch stage and rebase the
remaining patches.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Gyorgy Szing 065e86ab5f arm/oeqa: enable OP-TEE SPMC tests
Run the ffa_spmc test group of xtest if the optee-spmc-test machine
feature is enabled.

Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Gyorgy Szing b3c96e3fc3 optee-os: enable SPMC test
Add ta-devkit and optee-test. Change configuration to enable building
and deploying OP-TEE SPMC tests.

Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Gyorgy Szing 48abf0167d optee-test: backport SWd ABI compatibility changes
The ABI used by the arm-ffa-user driver to call into the SWd changed.
The change was driven by the MM over FF-A ABI implementation which is
used by SmmGW SP and uefi-test. uefi-test uses the same arm-ffa-user
driver as xtest hence xtest needs to be updated to use the new driver.
This xtest change is already merged up-stream but after v3.20, which is
used here.
This change adds backported xtest changes as carried patches.

Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Gyorgy Szing adea344855 arm/trusted-firmware-a: Add TOS_FW_CONFIG handling for quemu
This change:
  - cherry-picks TF-A changes from master which implement passing
    TOS_FW_CONFIG DTB from the FIP package to the trusted OS.
  - add an OP-TEE SPMC specific SPMC manifest file
  - configures TF-A to build the manifest, add it to the FIP package
    and pass it to OP-TEE as a boot argument.

This functionality needs matching changes in OPTEE (OP-TEE v3.21
or v3.20 + carried patches.)

Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Gyorgy Szing 809d2b43f9 optee-os: Add support for TOS_FW_CONFIG on qemu
OP-TEE SPMC v3.20 and TF-A v2.8 is incompatible on qemu, and OP-TEE
panics during boot because having an SPMC manifest passed to the SPMC is
mandatory since v3.20. TF-A and OP-TEE upstream already fixed this issue
by modifying the ABI between the SPMD and SPMC. Moreover qemu support in
TF-A has been extended to allow building an SPMC manifest DTS file, and
loading it from the FIP package.
This change adds the needed OP-TEE fixes as carried patches. The TF-A
change will be added in the next commit.

Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Anton Antonov 15d6b7c4e9 arm/oeqa: Make ts-service-test config match selected SPs
Split tests to groups, and enable groups based on machine features set.
This allows limiting tests to testing deployed SPs only.

Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Gyorgy Szing 2ffe50d4b5 optee-os: remove v3.18 pin of OP-TEE on qemuarm64-secureboot
To enable up-to date version of Trusted Services op-tee v3.20 or newer
is needed.

Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Gyorgy Szing b25e1ef90d arm/trusted-services: update TS version
This change updates to latest available version of Trusted Services.
List of changes:
  - adapt SP recipes to file structure changes and support for
    "configurations". In TS each SP can be built in various different
    setups to allow adapting to platform and integration specific
    differences.
  - MbedTLS dependency has been updated to v3.3.0.
      - This needs new python dependencies are required in the build
        environment.
      - psa-acs was updated to a matching version.
      - do_patch() has been updated to support the MbedTLS patch added
        in TS.
  - Update TS dependency patching method to use git instead of patch.
  - Downgrade nanopb to match up-stream dependency version.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-14 09:17:32 -04:00
Abdellatif El Khlifi 8db460fa5d arm-bsp/u-boot: corstone1000: upgrade NVMXIP support
The patchset has been merged in U-Boot master
(https://github.com/u-boot/u-boot/commit/c9c2c95d4cd27fe0cd41fe13a863899d268f973c)

This commit upgrades the NVMXIP patches with the merged ones.

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-13 10:08:53 -04:00
Emekcan Aras 36f77ab664 arm-bsp/u-boot: corstone1000: enable PSCI reset
Even though corstone1000 platform does not support the entire PSCI APIs, it
relys on PSCI reset interface for system reset. The name of this config
changed in the new version of u-boot. This enables PSCI reset, so
the system can be resetted in u-boot again.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-06 11:00:23 -04:00
Abdellatif El Khlifi 6850977577 kas: corstone1000: set branches to mickledore
point poky/meta-openembedded to mickledore

Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-05-16 13:00:10 -04:00
Emekcan Aras 91b504e686 arm-bsp/wic: corstone1000: Fix and limit the partition size for corstone1000
It fixes and limits the partition size to fix capsule update feature
after the GPT changes.
The partitions in the second bank needs to have correct size and
the partitions in first bank should have a fixed size since corstone1000 does
not support partial update and has a limited flash to support variable size.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-05-15 13:00:16 -04:00
Emekcan Aras 50624c6f2f arm-bsp/trusted-firmware-m: Align Capsule Update with GPT changes
This patch aligns capsule update feature in tfm with GPT/BL1 changes.
Adjusts BL2 flash and data size and adds missing CRC checks.

Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-05-15 13:00:16 -04:00
Rui Miguel Silva 0b5724266a arm-bsp/u-boot: corstone1000: remove debug messages and fix env
Remove log messages, that would never show up, but clean that
mess. And fix the env script and config so that trigger the
load of kernel from reading the gpt.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
4.2 yocto-4.2
2023-05-03 11:00:17 -04:00
Jon Mason c60d7865dd arm-bsp/tc1: disable signed kernel image
The signed kernel image for the android kernel and legacy u-boot is no
longer booting.  Remove this to allow for it to work until it can be
fixed.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-28 11:00:10 -04:00
Adam Johnston 7f0c57f7c6 arm-bsp/trusted-firmware-a: Update N1SDP to v2.8.0
N1SDP master has now updated to TF-A v2.8.0 so we should do the same.
Remove the SHA override for the N1SDP

Signed-off-by: Adam Johnston <adam.johnston@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-04-27 13:00:13 -04:00
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