Commit Graph

48 Commits (tools-release-6.1.0)

Author SHA1 Message Date
Devaraj Ranganna 76e911c5ef psa: Replace Mbed PSA with TF-M
Add TF-M to Mbed OS, replacing the previous PSA implementation for
TF-M-capable targets. This commit adds files imported from TF-M, without
modification. The version of TF-M imported can be found in
`features/FEATURE_PSA/TARGET_TFM/VERSION.txt`.

These changes switch to TF-M as the sole PSA implementation for v8-M and
dual core targets, with TF-M running on the secure side and Mbed OS
running on the non-secure side. Single core v7-M targets will continue
to have PSA implemented via PSA emulation, implemented by Mbed OS.

Move or remove many PSA-implementing files, as PSA will be provided by
TF-M on non-single-v7-M targets. Delete any files that are not relevant
for PSA emulation mode.
 - Remove imported TF-M SPM
 - Remove Mbed SPM and tests
 - Remove Mbed-implemented PSA services and tests
 - Remove PSA_SRV_IMPL, PSA_SRV_IPC, PSA_SRV_EMUL and NSPE.
 - Replace PSA_SRV_EMUL and PSA_SRV_IMPL with MBED_PSA_SRV
 - Remove any files autogenerated by
   "tools/psa/generate_partition_code.py", which no longer exists.

Add new feature `PSA` to support PSA in Mbed OS.

Move the Mbed OS implementation of PSA services for v7-M targets (which
employ PSA emulation, and don't yet use TF-M) to
features/FEATURE_PSA/TARGET_MBED_PSA_SRV. Update the `requires`
attribute in TESTS/configs/baremetal.json to avoid breaking baremetal
testing builds.

Update .astyleignore to match new directory structure

Update Mbed TLS importer to place files into FEATURE_PSA

Create the following generic PSA targets:

* `PSA_Target` (Root level PSA generic target)
* `PSA_V7_M` (Single v7-M PSA generic target)
* `PSA_DUAL_CORE` (Dual-core PSA generic target)
* `PSA_V8_M` (v8-M PSA generic target)

Flatten MUSCA_NS and private MUSCA targets into public MUSCA targets.

Move mcuboot.bin to flat location (removing prebuilt folder)

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-06-18 12:16:20 +01:00
Darryl Green 0e07dff0a4 Move TARGET_MBED_PSA_SRV to FEATURE_EXPERIMENTAL_API
Signed-off-by: Darryl Green <darryl.green@arm.com>
2020-05-29 13:19:12 +01:00
Jaeden Amero 5d6ec71171 crypto: Move PSA Crypto headers to MBED_PSA_SRV
TF-M provides its own PSA headers for TF-M targets. Single v7-M targets
need to get PSA crypto from Mbed Crypto.

Note that we don't yet move crypto_struct.h to its new location. This is
to avoid breaking v8-M targets for the time being. When TF-M provides
the PSA implementation on v8-M, we will add crypto_struct.h to the
correct place.

Likewise, none of the PSA-implementing source is moved out of
COMPONENT_PSA_SRV_IMPL yet, as still must not be built for PSA NS
targets. When PSA NS targets switch to using TF-M provided
implementations rather than MBED_PSA_SRV, we can take the source out of
COMPONENT_PSA_SRV_IMPL.

Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-05-29 13:19:11 +01:00
Darryl Green b91fe62c96 Adjust Mbed TLS importer and config script
Mbed Crypto has been remerged back into Mbed TLS. Update the
Mbed TLS importer script with the relevant parts of the
Mbed Crypto importer.

Signed-off-by: Darryl Green <darryl.green@arm.com>
2020-04-30 11:27:54 +01:00
Devaraj Ranganna 4773a219b8 tls: Remove apache-2.0.txt from importer script
Both Mbed TLS and Mbed Crypto libraries doesn't contain
`apache-2.0.txt` anymore. Do not access those files in the importer
script.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2020-03-06 11:26:45 +00:00
Jaeden Amero cfc9e9fa65 tls: Update Mbed TLS to 2.20.0d1 2019-12-20 11:54:44 +00:00
Jaeden Amero f2d42bfa31 Update Mbed TLS to version 2.20.0d0 2019-10-15 14:14:01 +01:00
Jaeden Amero eb00fbadb4 tls: Update to Mbed TLS 2.19.1
Update Mbed TLS to Mbed TLS 2.19.1.
2019-09-17 15:24:09 +01:00
Jaeden Amero 612255f8c3 tls: Update to Mbed TLS 2.19.0 2019-09-06 16:15:47 +01:00
Jaeden Amero ea17d58b49 mbedtls: Update Mbed TLS and Mbed Crypto
Update Mbed TLS to 2.19.0d0 and Mbed Crypto to 2.0.0d1.
2019-08-29 14:55:05 +01:00
Jaeden Amero b6c24e2e09 crypto: Copy legacy crypto from Mbed Crypto
Mbed TLS no longer provides legacy crypto C or H files. Obtain the files
from Mbed Crypto instead.
2019-08-16 09:20:03 +01:00
Jaeden Amero 045cd67e6d mbedtls: Update to Mbed TLS 2.18.1
Update to Mbed TLS 2.18.1 and Mbed Crypto 1.1.1.
2019-07-12 16:07:43 +01:00
Darryl Green 8f6667d3d2 Add adjust-check-config script to mbedtls importer
In Mbed OS, there are configuration options with Mbed TLS that we
are more comfortable allowing than we do with Mbed TLS on its own.
Add a check-config adjusting script to enable removing or changing
options in check_config.h
2019-06-26 13:26:18 +01:00
Jaeden Amero 4917b10725 mbedtls: Update to Mbed TLS 2.18.0-rc3 2019-06-10 13:05:46 +01:00
k-stachowiak 948d4379d8 Update Mbed TLS feature to 2.18.0-rc2 2019-05-28 11:00:16 +01:00
Jaeden Amero 60252b9988 mbedtls: Update to Mbed TLS 2.18.0-rc1
Update Mbed TLS to 2.18.0-rc1. Update Mbed Crypto to 1.1.0d0.
2019-05-23 14:47:42 +01:00
Jaeden Amero 262617935d mbedtls: Update submodules after checkout
When importing, after checking out the specified release, update any
submodules present.
2019-05-23 14:47:42 +01:00
Jaeden Amero ce2de9a9bf mbedtls: Fetch instead of pull
Do a git fetch of mbedtls instead of a pull. We don't need to checkout
development, only the release specified.
2019-05-23 14:47:42 +01:00
Jaeden Amero bb17408a14 mbedtls: Make imported version tag more verbose
When importing development releases of Mbed TLS into Mbed OS, it is
useful to be able to know a the particular git commit hash that was
imported. This change avoids ever creating a VERSION.txt for Mbed TLS
containing only "development", which is fairly useless since one doesn't
know where the development branch was at the time of import.
2019-05-23 14:47:42 +01:00
Jaeden Amero e3d1e27b89 mbedtls: Source crypto from Mbed Crypto
Use Mbed Crypto implementations of crypto. For example, use aes.c from
Mbed Crypto instead of the Mbed TLS copy.
2019-05-23 12:27:34 +01:00
Jaeden Amero 20598bcea1 tls: Update Mbed TLS to 2.17.0
There are no differences from the previously imported version of Mbed
TLS other than the version number.
2019-03-19 16:55:56 +00:00
Simon Butcher 86825a65b6 Move the Mbed TLS target to the development branch
Before moving to the new release of Mbed TLS, this moves the default imported
version of Mbed TLS to the development branch, and will import the HEAD of the
branch, not just a specific release.
2019-03-03 22:59:00 +00:00
Jaeden Amero b5cf455bb7 tls/crypto: Make mbed-crypto importer independent
Obtain the version of Mbed Crypto to use not from the Mbed TLS
submodule, but independently through the Mbed Crypto importer instead.
2019-01-29 11:43:24 +02:00
Simon Butcher 7bf33f01f9 Parameterise repo used in Mbed TLS importer script
This commit makes the repo used to import new Mbed TLS versions into Mbed OS
a parameter, to allow CI scripts (and any other script or users) to specify
specific repos to use for testing.
2019-01-11 13:51:19 +00:00
Jaeden Amero 74f93271ab mbedtls: Update Mbed TLS to 2.15.1 2018-11-30 15:29:34 +00:00
Jaeden Amero 3900b81d02 Update Mbed TLS to mbedtls-2.15.0 2018-11-23 22:54:09 +00:00
Mohammad AboMokh 15945687bc Record Mbed Crypto version
Record the version of Mbed Crypto into VERSION.txt for easy reference.
2018-11-23 22:54:03 +00:00
Mohammad AboMokh 7ba359a4a6 Update mbedtls importer to import mbed-crypto 2018-11-23 22:54:01 +00:00
Simon Butcher 15785191e7 Update Mbed TLS version to 2.13.1 2018-09-06 19:32:03 +01:00
Krzysztof Stachowiak f1d76691b6 Update to Mbed TLS 2.13.0 2018-09-03 16:20:46 +01:00
Martin Kojtal 73cfc7baea
Merge pull request #7135 from k-stachowiak/update-mbedtls-2.10.0-rc1
Update Mbed TLS to version 2.10.0
2018-06-08 10:18:06 +02:00
Krzysztof Stachowiak 7eeb694dd9 Update MbedTLS to 2.10.0 (from an RC) 2018-06-06 17:31:18 +02:00
Krzysztof Stachowiak 9c6a85a6e9 Add configuration options to enable CMAC in mbedtls by default 2018-06-06 13:36:28 +02:00
Krzysztof Stachowiak f85e3f6177 Update Mbed TLS do version 2.10.0-rc1 2018-06-06 09:13:06 +02:00
Krzysztof Stachowiak 4f9c6ba300 Update the version in the importing makefile 2018-05-10 17:49:33 +02:00
Krzysztof Stachowiak 947275036c Update Mbed TLS to version 2.7.1 2018-02-28 10:02:30 +01:00
Andres Amaya Garcia adbba2c86b Update mbed TLS to version 2.6.0 2017-08-29 11:50:29 +01:00
Azim Khan 5067db07ae Add deploy-tests to the .PHONY target 2017-07-04 19:26:31 +01:00
Azim Khan b03441870a Add new target in mbedtls importer Makefile for mbedtls tests 2017-06-09 17:01:00 +01:00
Hanno Becker ddb7cef907 Update mbed TLS to version 2.5.0 2017-05-17 15:42:07 +01:00
Hanno Becker e9e3040297 Update mbed TLS to version 2.5.0-rc1 2017-05-15 17:07:30 +01:00
Andres AG 1c8d7c1115 Update mbed TLS feature to mbedtls-2.4.2 2017-03-08 15:56:59 +00:00
Janos Follath 80aedd2f39 Move crypto hardware acceleration configuration
The crypto hardware acceleration might require defining a lot of mbed
TLS specific macros. Enumerating all of them in `targets.json` creates
too much noise, therefore we move it into a target specific mbed TLS
header.

The target with crypto hardware acceleration has to
        - indicate its capability in `targets.json` by adding "CRYPTO"
          to the "device_has" section
        - has to define his crypto hardware acceleration related macros
          in an `mbedtls_device.h` header
        - place the `mbedtls_device.h` file in the
          `features/mbedtls/targets/TARGET_XXXX`
          directory specific to the target
2016-11-17 14:38:04 +00:00
Andres AG 57814ddbbc Update feature/mbedtls to version 2.4.0 2016-10-17 13:32:25 +01:00
Andres AG 39c95e0e2f Sync mbed TLS with development HEAD
Update the current version of mbed TLS with the development HEAD of the
mbed TLS project repository. This mostly includes the latest CMAC
feature. Also, update the version in the importer Makefile and
VERSION.txt with the hash of the mbed TLS commit that was sync'ed.
2016-10-06 16:29:41 +01:00
Andres AG 11ee1de620 Update feature/mbedtls with mbedtls' development HEAD 2016-09-28 09:26:02 +01:00
Andres AG 21a7b1de04 Modify mbedtls scripts to add config-no-entropy.h 2016-09-27 16:19:39 +01:00
Sam Grove 4794bc87e3 Update mbed TLS to version 2.3.0 2016-07-23 00:13:43 -05:00