Version 3 vs 65
Version 3 vs 65
Edits
Edits
- Edit by gyuri-szing, Version 65
- Oct 18 2023 12:55 PM
- Edit by jellesels-arm, Version 3
- Feb 22 2022 3:00 PM
Edit Older Version 3... | Edit Current Version 65... |
Content Changes
Content Changes
OP-TEE SPMC implementation
==========================
Introduction
------------
OP-TEE SPMC implementation
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
This document describes the OP-TEE SPMC implementation. This implementation is
used to support the Trusted Services PSA SPs. The PSA SPs are based on the Arm
FF-A specifications. The OP-TEE SPMC can be used as a reference S-EL1
implementation and the Trusted Service can be used a reference S-EL0 SP
implementations.
FF-A
''''
Arm Firmware Framework for Arm A-profile (FF-A) is a framework designed to
standardize the communication between the various software images. Including the
communication between the various software images in the Secure world and Normal
world. The current release of the OP-TEE SPMC is based around the
`FF-A v1.0 spec <https://developer.arm.com/documentation/den0077/latest.>`_
OP-TEE
''''''
OP-TEE is an open source Trusted Execution Environment (TEE) implementing the
Arm TrustZone technology. More information can be found at
`readthedocs <https://optee.readthedocs.io/en/latest/>`_
OP-TEE can run both as a S-EL1 SP or as the S-EL1 SPMC. This document describes
OP-TEE as a S-El1 SPMC.
The current mainline OP-TEE version can be found
`here <https://github.com/OP-TEE/optee_os>`_
Trusted Services
''''''''''''''''
The Trusted Services project provides a framework for developing and
deploying device Root Of Trust (RoT) services across a range of secure
processing environments such as those provided by OP-TEE and Hafnium.
More information about Trusted Service can be found at
`Trusted-Services <https://trusted-services.readthedocs.io/en/latest/>`_
Current Status
--------------
Currently the mainline OP-TEE SPMC is not yet fully compliant with the FF-A V1.0
spec. It also doesn't support all of the Trusted Services SPs.
SPMC status
'''''''''''
OP-TEE mainline SPMC FF-A status:
======================== ========================
SP loading Supported
SP messaging Supported
Manifest file Not Supported
Memory management Supported
Interrupts Not supported
======================== ========================
OP-TEE mainline SPMC FF-A messages status:
======================== ========================
FFA_ERROR Supported
FFA_SUCCESS Supported
FFA_INTERRUPT Not supported
FFA_VERSION Supported
FFA_FEATURES Supported
FFA_RX_RELEASE Supported
FFA_RXTX_MAP Supported
FFA_RXTX_UNMAP Supported
FFA_PARTITION_INFO_GET Supported
FFA_ID_GET Supported
FFA_MSG_WAIT Supported
FFA_YIELD Not supported
FFA_RUN Not supported
FFA_NORMAL_WORLD_RESUME Not supported
FFA_MSG_SEND Not supported
FFA_MSG_SEND_DIRECT_REQ Supported
FFA_MSG_SEND_DIRECT_RESP Supported
FFA_MSG_POLL Not supported
FFA_MEM_DONATE Not supported
FFA_MEM_LEND Not supported
FFA_MEM_SHARE Partially supported [1]_
FFA_MEM_RETRIEVE_REQ Supported
FFA_MEM_RETRIEVE_RESP Supported
FFA_MEM_RELINQUISH Supported
FFA_MEM_RECLAIM Supported
======================== ========================
.. [1] Device memory is not yet supported.
Trusted Service status
''''''''''''''''''''''
Currently not all Trusted Service functionality is supported when using the
OP-TEE SPMC. We are planning to support all functionality over time.
Currently the OP-TEE SPMC supports the following PSA Trusted Services SPs:
========================= =====================================
internal-trusted-storage: Supported
protected-storage: Supported
crypto: Supported with mock backend.
A hardware trngs is not yet supported
attestation: Not yet supported
smm-gateway: Not yet supported
========================= =====================================
Build
-----
The build process is based around the `OP-TEE build process
<https://optee.readthedocs.io/en/latest/building/gits/build.html>`_ with some
extra steps.
Requirements:
'''''''''''''
- The Trusted Services project has some extra
`requirements <https://trusted-services.readthedocs.io/en/latest/developer/software-requirements.html>`_
from OP-TEE. It mainly depends on cmake.
- The current system uses the Arm FVP to run the test environment.
The latest version can be found at `developer.arm.com
<https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_RevC-2xAEMvA_11.16_16.tgz>`_
The default path for FVP in the build scripts is set to /opt/fvp/latest
Build steps
'''''''''''
Get the manifest file::
rm -rf optee_test
mkdir optee_test
cd optee_test
repo init -u https://review.trustedfirmware.org/OP-TEE/manifest -m psa-sp-fvp.xml -b refs/changes/91/10991/30
repo sync -j4 --no-clone-bundle
Build the OP-TEE image:
The OP-TEE build will default be configure to use mainline OP-TEE SPMC. To be
able to build OP-TEE mainline version, it might be needed to change the
SPMC_VERSION to SPMC_VERSION=github in build/fvp_ffa.mk.
Build OP-TEE::
cd build
make toolchains
make
cd ..
Build TS apps::
make -C trusted-services/tools/b-test r-ts-service-test-arm-linux
cp -r trusted-services/tools/b-test/install/arm-linux/bin/ts-service-test shared
make -C trusted-services/tools/b-test r-libts-arm-linux
cp -r trusted-services/tools/b-test/install/arm-linux/lib/libts.so.1.0.0 shared/libts.so.1
More info about building TS-apps can be found at the `Trusted Services build instructions <https://trusted-services.readthedocs.io/en/latest/developer/build-instructions.html>`_
Run fvp::
cd build
make run
Set up the `fvp environment <https://trusted-services.readthedocs.io/en/latest/environments/deployment-guides/fvp-deployment-guide.html?highlight=ts-service-test#deploying-service-level-tests>`_::
cd /mnt/
sh load_module.sh
cp libts.so.1 /usr/lib/.
Run the PSA ServiceTests::
./ts-service-test -v -sg ItsServiceTests
./ts-service-test -v -sg PsServiceTests
./ts-service-test -v -sg CryptoKeyDerivationServicePackedcTests
./ts-service-test -v -sg CryptoMacServicePackedcTests
./ts-service-test -v -sg CryptoCipherServicePackedcTests
./ts-service-test -v -sg CryptoHashServicePackedcTests
./ts-service-test -v -sg CryptoServiceProtobufTests
./ts-service-test -v -sg CryptoServiceLimitTests
./ts-service-test -v -sg DiscoveryServiceTests
./ts-service-test -v -sg CryptoServicePackedcTests
Currently the attestation and fail due the lack of the attestation SP support.
= OP-TEE SPMC implementation
== Introduction
==== OP-TEE SPMC implementation
This document describes the OP-TEE SPMC (Secure Partition Manager Core) implementation. This implementation is used to support the Trusted Services PSA Secure Partitions (SPs). The PSA SPs are implemented based on the Arm FF-A specification. The OP-TEE SPMC can be used as a reference S-EL1 implementation and the Trusted Services can be used a reference S-EL0 SP implementations.
==== FF-A
Arm Firmware Framework for Arm A-profile (FF-A) is a framework designed to standardize the communication between the various software images.
Including the communication between the various software images in the Secure world and Normal world. The current release of the OP-TEE SPMC is based around the [FF-A v1.0 spec](https://developer.arm.com/documentation/den0077/latest).
==== OP-TEE
OP-TEE is an open source Trusted Execution Environment (TEE) relying on the Arm TrustZone technology. More information can be found at [readthedocs](https://optee.readthedocs.io/en/latest/). OP-TEE can run both as a S-EL1 SP or as the S-EL1 SPMC.
This document describes OP-TEE as a S-EL1 SPMC. The current mainline OP-TEE version can be found [here](https://github.com/OP-TEE/optee_os).
==== Trusted Services
The Trusted Services project provides a framework for developing and deploying device Root of Trust (RoT) services across a range of secure processing environments such as those provided by OP-TEE and Hafnium.
More information about Trusted Services can be found at [Trusted-Services](https://trusted-services.readthedocs.io/en/latest/).
== Current Status
Limited support for OP-TEE SPMC aligning with FF-A 1.0 is available since OP-TEE v3.19. Complete support for FF-A 1.0 and TS is planned for upcoming releases. See below for status.
For the OP-TEE release specific testing and results please see the following page:
- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-3-19/ | OP-TEE 3.19 release ]]
- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-3-20/ | OP-TEE 3.20 release ]]
- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-3-21/ | OP-TEE 3.21 release ]]
- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-3-22/ | OP-TEE 3.22 release ]]
- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-3-22/ | OP-TEE 3.22 release ]]
- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-4-0/ | OP-TEE 4.0.0 release ]]
== Important Changes of v4.0.0 release ==
- Added support for the `boot-order` property of the SP manifest. Earlier the boot order was determined by the linking order when using embedded packaging or by the order of SP entries in the FIP package when using FIP packaging. In case the `boot-order` property is not set for an SP, loading will fall back to the old method.
- The SPMC has been updated to allow the XEN Hypervisor being executed in the NWd. All Trusted Services tests from DOM0 and DOMU virtual machines are passing.
- Bug fixes:
- The SPMC was accepting direct messages targeting yet to be initialized SPs, and could jumping to an invalid address as a result.
- The SPMC was clearing MBZ registers when making FFA_ERROR calls. This could result in incorrect operation.
- In some scenarios the destination of FFA_ERROR calls were set incorrectly.
- Code handling the FFA_MEM_RECLAIM calls incorrectly assumed the NWd endpoint being 0. This resulted in a crash when a hypervisor is present in the NWd.
==== SPMC status
For a list of supported FF-A features please see: https://optee.readthedocs.io/en/latest/architecture/spmc.html
==== Trusted Services status
All Trusted Services Secure Partitions are supported with OP-TEE SPMC v4.0.0
Trusted Services SP support status:
| Name | Status |
|--------------------------|-----------|
| internal-trusted-storage | Supported |
| protected-storage | Supported |
| crypto | Supported |
| attestation | Supported |
| firmware-update | Supported |
| block-storage | Supported |
| smm-gateway | Supported |
== Build
The build process follows the [OP-TEE build process](https://optee.readthedocs.io/en/latest/building/gits/build.html#get-and-build-the-solution). Additional information is needed for some steps:
- [Step 1](https://optee.readthedocs.io/en/latest/building/gits/build.html#step-1-prerequisites): The Trusted Services project has some extra requirements described on [this page](https://trusted-services.readthedocs.io/en/latest/developer/software-requirements.html), please install these.
- [Step 2](https://optee.readthedocs.io/en/latest/building/gits/build.html#step-2-install-android-repo): -
- [Step 3](https://optee.readthedocs.io/en/latest/building/gits/build.html#step-3-get-the-source-code): Use the manifest file for Trusted Services integration and use the 4.0.0 tagged version.
`repo init -u https://github.com/OP-TEE/manifest.git -m fvp-ts.xml -b 4.0.0`
- [Step 4](https://optee.readthedocs.io/en/latest/building/gits/build.html#step-4-get-the-toolchains): -
- [Step 5](https://optee.readthedocs.io/en/latest/building/gits/build.html#step-5-build-the-solution): -
- [Step 6 and onwards](https://optee.readthedocs.io/en/latest/building/gits/build.html#step-6-flash-the-device): Since we're running on models instead of real hardware, these steps are not necessary.
== Boot
The current system uses the Arm AEMv-A Base Platform FVP to run the test environment. The latest version can be found at [Arm Architecture Models](https://developer.arm.com/downloads/-/arm-ecosystem-models). The downloaded FVP should be extracted at the project root (`<project root>/Base_RevC_AEMvA_pkg`).
Boot the system on the FVP:
make -C build run-only
Two console windows should appear, one for the Secure World and one for the Normal World. When the boot is complete, login as root. Then run these commands to load the necessary kernel modules and install the TS test applications and libraries:
/mnt/host/out/linux-arm-ffa-tee/load_module.sh
/mnt/host/out/linux-arm-ffa-user/load_module.sh
cp -at /usr /mnt/host/out/ts-install/arm-linux/bin /mnt/host/out/ts-install/arm-linux/lib
To run the SPMC tests built into xtest (OP-TEE test suite):
xtest -t ffa_spmc
= OP-TEE SPMC implementation
==========================
Introduction
------------
OP-TEE SPMC implementation
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
This document describes the OP-TEE SPMC implementation. This implementation is
used to support the Trusted Services PSA SPs. The PSA SPs are based on the Arm
FF-A specifications. The OP-TEE SPMC can be used as a reference S-EL1
implementation and the Trusted Service can be used a reference S-EL0 SP
implementations.== Introduction
FF-A
''''
Arm Firmware Framework for Arm A-profile (FF-A) is a framework designed to
standardize the communication between the various software images. Including the
communication between the various software images in the Secure world and Normal
world. The current release of the OP-TEE SPMC is based around the
`FF-A v1.0 spec <https://developer.arm.com/documentation/den0077/latest.>`_==== OP-TEE SPMC implementation
OP-TEE
''''''
OP-TEE is an open source Trusted ExecuThis document describes the OP-TEE SPMC (Secure Partition Environment (TEEManager Core) implementing the
Arm TrustZone technologyntation. More information can be found at
`readthedocs <https://optee.readthedocs.io/en/latest/>`_
OP-TEE can run both as a S-EL1 SP or as the S-EL1 SPMCThis implementation is used to support the Trusted Services PSA Secure Partitions (SPs). This document describes
OP-TEE as a S-El1 SPMC.
The current mainline OP-TEE version can be found
`here <https://github.com/OP-TEE/optee_os>`_e PSA SPs are implemented based on the Arm FF-A specification. The OP-TEE SPMC can be used as a reference S-EL1 implementation and the Trusted Services can be used a reference S-EL0 SP implementations.
Trusted Services
''''''''''''''''
The Trusted Services project provides a framework for developing and
deploying device Root Of Trust (RoT) services across a range of secure
processing environments such as those provided by OP-TEE and Hafnium.
More information about Trusted Service can be found at
`Trusted-Services <https://trusted-services.readthedocs.io/en/latest/>`_==== FF-A
Current Status
--------------
Currently the mainline OP-TEE SPMC is not yet fully compliant with the FF-A V1.0Arm Firmware Framework for Arm A-profile (FF-A) is a framework designed to standardize the communication between the various software images.
specIncluding the communication between the various software images in the Secure world and Normal world. It also doesn't support all of the Trusted Services SPsThe current release of the OP-TEE SPMC is based around the [FF-A v1.0 spec](https://developer.arm.com/documentation/den0077/latest).
SPMC status==== OP-TEE
OP-TEE is an open source Trusted Execution Environment (TEE) relying on the Arm TrustZone technology. More information can be found at [readthedocs](https://optee.readthedocs.io/en/latest/). OP-TEE can run both as a S-EL1 SP or as the S-EL1 SPMC.
'''''''''''This document describes OP-TEE as a S-EL1 SPMC. The current mainline OP-TEE version can be found [here](https://github.com/OP-TEE/optee_os).
OP-TEE mainline SPMC FF-A status:==== Trusted Services
======================== ========================
SP loading Supported
SP messaging SupportedThe Trusted Services project provides a framework for developing and deploying device Root of Trust (RoT) services across a range of secure processing environments such as those provided by OP-TEE and Hafnium.
Manifest file Not Supported
Memory management Supported
Interrupts Not supported
======================== ========================
OP-TEE mainline SPMC FF-A messages status:ore information about Trusted Services can be found at [Trusted-Services](https://trusted-services.readthedocs.io/en/latest/).
======================== ========================
FFA_ERROR Supported
FFA_SUCCESS Supported
FFA_INTERRUPT Not supported
FFA_VERSION Supported
FFA_FEATURES Supported
FFA_RX_RELEASE Supported
FFA_RXTX_MAP Supported
FFA_RXTX_UNMAP Supported
FFA_PARTITION_INFO_GET Supported
FFA_ID_GET Supported
FFA_MSG_WAIT Supported
FFA_YIELD Not supported
FFA_RUN Not supported
FFA_NORMAL_WORLD_RESUME Not supported
FFA_MSG_SEND Not supported
FFA_MSG_SEND_DIRECT_REQ Supported Current Status
Limited support for OP-TEE SPMC aligning with FF-A 1.0 is available since OP-TEE v3.19. Complete support for FF-A 1.0 and TS is planned for upcoming releases. See below for status.
FFA_MSG_SEND_DIRECT_RESP Supportedor the OP-TEE release specific testing and results please see the following page:
- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-3-19/ | OP-TEE 3.19 release ]]
FFA_MSG_POLL Not supported- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-3-20/ | OP-TEE 3.20 release ]]
FFA_MEM_DONATE Not supported- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-3-21/ | OP-TEE 3.21 release ]]
FFA_MEM_LEND Not supported- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-3-22/ | OP-TEE 3.22 release ]]
FFA_MEM_SHARE Partially supported [1]_- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-3-22/ | OP-TEE 3.22 release ]]
FFA_MEM_RETRIEVE_REQ Supported- [[ https://developer.trustedfirmware.org/w/trusted-services/op-tee-spmc/release-testing-4-0/ | OP-TEE 4.0.0 release ]]
== Important Changes of v4.0.0 release ==
- Added support for the `boot-order` property of the SP manifest. Earlier the boot order was determined by the linking order when using embedded packaging or by the order of SP entries in the FIP package when using FIP packaging. In case the `boot-order` property is not set for an SP, loading will fall back to the old method.
- The SPMC has been updated to allow the XEN Hypervisor being executed in the NWd. All Trusted Services tests from DOM0 and DOMU virtual machines are passing.
- Bug fixes:
FFA_MEM_RETRIEVE_RESP Supported - The SPMC was accepting direct messages targeting yet to be initialized SPs, and could jumping to an invalid address as a result.
FFA_MEM_RELINQUISH Supported - The SPMC was clearing MBZ registers when making FFA_ERROR calls. This could result in incorrect operation.
FFA_MEM_RECLAIM Supported - In some scenarios the destination of FFA_ERROR calls were set incorrectly.
======================== ======================== - Code handling the FFA_MEM_RECLAIM calls incorrectly assumed the NWd endpoint being 0. This resulted in a crash when a hypervisor is present in the NWd.
==== SPMC status
.. [1] Device memory is not yet supported.For a list of supported FF-A features please see: https://optee.readthedocs.io/en/latest/architecture/spmc.html
==== Trusted Services status
''''''''''''''''''''''
Currently not all Trusted Service functionality is supported when using the
OP-TEE SPMC. We are planning to support all functionality over time.All Trusted Services Secure Partitions are supported with OP-TEE SPMC v4.0.0
Currently the OP-TEE SPMCTrusted Services SP supports the following PSA Trusted Services SPs:t status:
========================= =====================================
internal-trusted-storage: Supported
protected-storage: Supported
crypto: Supported with mock backend.| Name | Status |
A hardware trngs is not yet supported|--------------------------|-----------|
attestation: Not yet s| internal-trusted-storage | Supported |
smm-gateway: | protected-storage Not yet s | Supported |
=========================| crypto =====================================
Build | Supported |
-----| attestation | Supported |
The build process is based around the `OP-TEE build process| firmware-update | Supported |
<https://optee.readthedocs.io/en/latest/building/gits/build.html>`_ with some| block-storage | Supported |
extra steps.| smm-gateway | Supported |
Requirements:
'''''''''''''
- The Trusted Services project has some extra
`requirements <https://trusted-services.readthedocs.io/en/latest/developer/software-requirements.html>`_
from OP-TEE. It mainly depends on cmake.
- The current system uses the Arm FVP to run the test environment.
The latest version can be found at `developer.arm.com
<https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_RevC-2xAEMvA_11.16_16.tgz>`_
The default path for FVP in the build scripts is set to /opt/fvp/latest
Build steps
'''''''''''== Build
Get the manifest file:The build process follows the [OP-TEE build process](https://optee.readthedocs.io/en/latest/building/gits/build.html#get-and-build-the-solution). Additional information is needed for some steps:
rm -rf optee_test
mkdir optee_test
cd optee_test
repo init -u https://review.trustedfirmware.org/OP-TEE/manifest -m psa-sp-fvp.xml -b refs/changes/91/10991/30
repo sync -j4 --no-clone-bundle- [Step 1](https://optee.readthedocs.io/en/latest/building/gits/build.html#step-1-prerequisites): The Trusted Services project has some extra requirements described on [this page](https://trusted-services.readthedocs.io/en/latest/developer/software-requirements.html), please install these.
B- [Step 2](https://optee.readthedocs.io/en/latest/build the OP-TEE image:ing/gits/build.html#step-2-install-android-repo): -
The OP-TEE build will default be configure to use mainline OP-TEE SPMC. To be
able to build OP-TEE mainline version, it might be needed to change the- [Step 3](https://optee.readthedocs.io/en/latest/building/gits/build.html#step-3-get-the-source-code): Use the manifest file for Trusted Services integration and use the 4.0.0 tagged version.
SPMC_VERSION to SPMC_VERSION=github in build/fvp_ffa.mk.`repo init -u https://github.com/OP-TEE/manifest.git -m fvp-ts.xml -b 4.0.0`
B- [Step 4](https://optee.readthedocs.io/en/latest/building/gits/build OP-TEE::.html#step-4-get-the-toolchains): -
cd build
make toolchains
make
cd ..- [Step 5](https://optee.readthedocs.io/en/latest/building/gits/build.html#step-5-build-the-solution): -
Build TS apps::
make -C trusted-services/tools/b-test r-ts-service-test-arm-linux
cp -r trusted-services/tools/b-test/install/arm-linux/bin/ts-service-test shared
make -C trusted-services/tools/b-test r-libts-arm-linux
cp -r trusted-services/tools/b-test/install/arm-linux/lib/libts.so.1.0.0 shared/libts.so.1- [Step 6 and onwards](https://optee.readthedocs.io/en/latest/building/gits/build.html#step-6-flash-the-device): Since we're running on models instead of real hardware, these steps are not necessary.
More info about building TS-apps can be found at the `Trusted Services build instructions <https://trusted-services.readthedocs.io/en/latest/developer/build-instructions.html>`_== Boot
Run fvp::The current system uses the Arm AEMv-A Base Platform FVP to run the test environment. The latest version can be found at [Arm Architecture Models](https://developer.arm.com/downloads/-/arm-ecosystem-models). The downloaded FVP should be extracted at the project root (`<project root>/Base_RevC_AEMvA_pkg`).
cd build
make run
Set up the `fvp environment <https://trusted-services.readthedocs.io/en/latest/environments/deployment-guides/fvp-deployment-guide.html?highlight=ts-service-test#deploying-service-level-tests>`_:Boot the system on the FVP:
cd /mnt/
sh load_module.sh
cp libts.so.1 /usr/lib/.make -C build run-only
Run the PSA ServiceTests:Two console windows should appear, one for the Secure World and one for the Normal World. When the boot is complete, login as root. Then run these commands to load the necessary kernel modules and install the TS test applications and libraries:
./ts-service-test -v -sg ItsServiceTests
./ts-service-test -v -sg PsServiceTests
./ts-service-test -v -sg CryptoKeyDerivationServicePackedcTests/mnt/host/out/linux-arm-ffa-tee/load_module.sh
./ts-service-test -v -sg CryptoMacServicePackedcTests/mnt/host/out/linux-arm-ffa-user/load_module.sh
./ts-service-test -v -sg CryptoCipherServicePackedcTests
./ts-service-test -v -sg CryptoHashServicePackedcTests
./ts-service-test -v -sg CryptoServiceProtobufTests
./ts-service-test -v -sg CryptoServiceLimitTests
./ts-service-test -v -sg DiscoveryServiceTests
./ts-service-test -v -sg CryptoServicePackedcTestscp -at /usr /mnt/host/out/ts-install/arm-linux/bin /mnt/host/out/ts-install/arm-linux/lib
To run the SPMC tests built into xtest (OP-TEE test suite):
Currently the attestation and fail due the lack of the attestation SP support. xtest -t ffa_spmc