Commit Graph

323 Commits (f6a7f6587abf15890029e10ccb51e0213ef35403)

Author SHA1 Message Date
Kevin Bracey 87396e0bf6 Assembler atomics
Reimplement atomic code in inline assembly. This can improve
optimisation, and avoids potential architectural problems with using
LDREX/STREX intrinsics.

API further extended:
* Bitwise operations (fetch_and/fetch_or/fetch_xor)
* fetch_add and fetch_sub (like incr/decr, but returning old value -
  aligning with C++11)
* compare_exchange_weak
* Explicit memory order specification
* Basic freestanding template overloads for C++

This gives our existing C implementation essentially all the functionality
needed by C++11.

An actual Atomic<T> template based upon these C functions could follow.
2019-04-26 13:12:35 +03:00
Oren Cohen f51eb6215a Fix warnings on PSA secure builds 2019-04-17 10:37:51 +03:00
Martin Kojtal c6b917327b
Merge pull request #10232 from itayzafrir/crypto-service-multipart-operation-abort-fix
PSA Crypto Service - multipart operation memory fixes
2019-04-11 11:51:18 +01:00
Michael Schwarcz 5a9dff2e04 TF-M patch: Fix tfm_memory_check issue (TF-M issue #224)
- Add Secure/non-secure code and secure heap to memory check
- Link to bug tracking: https://developer.trustedfirmware.org/T224
2019-04-10 14:20:56 +03:00
Michael Schwarcz 3badc126cf TF-M patch: Fix wrong check in tfm_spm_check_client_version (TF-M issue #236)
- Link to bug tracking: https://developer.trustedfirmware.org/T236

(cherry picked from commit 008bf1b2d1)
2019-04-10 14:20:56 +03:00
Michael Schwarcz ad8ddd8e6e TF-M patch: Fix tfm_psa_call_venner wrong argument type (TF-M issue #241)
- Link to bug tracking: https://developer.trustedfirmware.org/T241

(cherry picked from commit da01e3411f)
2019-04-10 14:20:56 +03:00
Michael Schwarcz f0e4583b72 TF-M patch: Fix fixed-size partitions stack size (TF-M issue #240)
- Link to bug tracking: https://developer.trustedfirmware.org/T240

(cherry picked from commit fc78640559)
2019-04-10 14:20:56 +03:00
Michael Schwarcz 3fbc73e046 TF-M patch: Fix service handles not cleared issue (TF-M issue #230)
- Link to bug tracking: https://developer.trustedfirmware.org/T230

(cherry picked from commit 0c23e86989)
2019-04-10 14:20:56 +03:00
Michael Schwarcz e89c1a68ce TF-M patch: Fix tfm_ns_lock_init issue (TF-M issue #239)
- Link to bug tracking: https://developer.trustedfirmware.org/T239

(cherry picked from commit 5f2e4b3911)
2019-04-10 14:20:56 +03:00
Michael Schwarcz 185d2865da TF-M patch: General modifications
- Remove un-needed files
- Disable printf and uart
- Modify include paths
- Guard macros from mbed_lib with ifndef

(cherry picked from commit 1f30b52488)
(cherry picked from commit 71cd34df32)
2019-04-10 14:20:56 +03:00
Oren Cohen 4e6ed2bb46 [trusted-firmware-m]: Updated to 0101fd37 2019-04-10 14:20:56 +03:00
itayzafrir 2b81588664 Add message context cleanup helper function 2019-03-28 12:53:11 +02:00
Oren Cohen 268b48c2e5 Run autogen 2019-03-28 10:40:56 +02:00
itayzafrir a446ee63c7 Rename internal function destroy_hash_clone to clear_hash_clone 2019-03-27 16:13:46 +02:00
itayzafrir b26890e62d Do not allocate zero sized buffers - generators 2019-03-27 15:43:19 +02:00
itayzafrir 749b1e30bb Do not allocate zero sized buffers - rng 2019-03-27 15:43:18 +02:00
itayzafrir abd9c661ce Do not allocate zero sized buffers - entropy 2019-03-27 15:43:18 +02:00
itayzafrir 19b83812d4 Do not allocate zero sized buffers - keys 2019-03-27 15:43:17 +02:00
itayzafrir f3294ef338 Do not allocate zero sized buffers - cipher 2019-03-27 15:43:16 +02:00
itayzafrir 19952d990c Do not allocate zero sized buffers - aead 2019-03-27 15:43:15 +02:00
itayzafrir 18feb26ca7 Do not allocate zero sized buffers - asymmetric 2019-03-27 15:43:14 +02:00
itayzafrir 979ca1ee55 Do not allocate zero sized buffers - hash 2019-03-27 15:43:12 +02:00
itayzafrir 7b35e763dd Do not allocate zero sized buffers - mac 2019-03-27 14:29:19 +02:00
itayzafrir 8044f6d038 Fix crypto service abort functionality - generators 2019-03-26 15:32:49 +02:00
itayzafrir 545e669c88 Fix crypto service abort functionality - mac 2019-03-26 15:32:49 +02:00
itayzafrir da999c6946 Fix crypto service abort functionality - hash 2019-03-26 15:32:49 +02:00
itayzafrir 1b26e0d5f2 Fix crypto service abort functionality - cipher
Also refactor cipher setup function to one common function.
2019-03-26 15:32:49 +02:00
Nir Sonnenschein ca62922c9f
Merge pull request #10036 from itayzafrir/crypto-ipc-refactor
Refactor Crypto Service Proxy
2019-03-26 15:20:49 +02:00
itayzafrir 95b0a18ac5 Remove uneeded TODO comment from the code 2019-03-18 10:28:21 +02:00
itayzafrir c97b90ade1 Unify code style
- Use designated initializers for IPC structs
- Unify variables declaration and initialization
2019-03-12 14:31:30 +02:00
itayzafrir 9bc8bcf0d2 Unify sections titles/comments & fix typo in comment 2019-03-12 11:35:35 +02:00
itayzafrir 5c48d58389 Set handle to PSA_NULL_HANDLE when closing IPC connection 2019-03-12 11:35:34 +02:00
itayzafrir bf05154461 Use PSA_NULL_HANDLE when testing for invalid handles 2019-03-12 10:53:13 +02:00
itayzafrir caafc34695 Use psa prefix for crypto.h include 2019-03-12 10:51:31 +02:00
Martin Kojtal 83d70199d1
Merge pull request #10027 from kfnta/tfm_fix_ftype
TF-M patch: Handle extended stack frame in tfm_svcall_psa_call
2019-03-11 15:48:49 +01:00
itayzafrir 7a15865e8b Refactor crypto service proxy 2019-03-11 16:21:34 +02:00
Michael Schwarcz 134a169e35 TF-M patch: Handle extended stack frame in tfm_svcall_psa_call
- Fix failing attestation test on LPC55S69
- Link to bug tracking: https://developer.trustedfirmware.org/T276
2019-03-11 11:10:14 +02:00
Alexander Zilberkant 661613c998 Rename psa_system_reset to mbed_psa_system_reset
add noreturn attributes
update lifecycle service to use psa/error.h
fix doxygen
2019-03-11 10:43:19 +02:00
Martin Kojtal 5c79394756
Merge pull request #10023 from itayzafrir/crypto-compliance-tests-fix
Fix crypto compliance tests
2019-03-11 09:20:36 +01:00
itayzafrir ea36a89ec7 Fix crypto compliance tests
Prevent passing null buffer with size which is non-zero.
2019-03-10 15:47:07 +02:00
Oren Cohen d0021b5de7 Fix error codes for psa_attestation_inject_key 2019-03-10 10:53:38 +02:00
Martin Kojtal b9c214b165
Merge pull request #10002 from kegilbert/psa_baremetal_fix
Disable PSA in baremetal profiles
2019-03-08 21:15:30 +01:00
Martin Kojtal 820a2e284d
Merge pull request #9908 from morser499/pr/cy-mbed-os-5.12.0
Pr/cy mbed os 5.12.0
2019-03-08 11:01:41 +01:00
Cruz Monrreal 57ec1d57b9
Merge pull request #9990 from kfnta/sync_complinace_test_to_latest
Sync PSA compliance test to latest version
2019-03-07 23:36:56 -06:00
kegilbert 3fd32884c3 Allow baremetal to build by removing PSA 2019-03-07 16:41:58 -06:00
Ryan Morse 20c2734e7b Fixed issue with wrong floating point literal 2019-03-07 08:40:20 -08:00
Cruz Monrreal ff78bc4b7c
Merge pull request #9973 from kfnta/tfm_num_threads
TF-M config: Add max_ns_thread_count parameter
2019-03-07 10:28:11 -06:00
Nir Sonnenschein d473f6d59c synchronize latest fix to tests
synchronize latest fix to test_c043
2019-03-07 17:49:52 +02:00
Cruz Monrreal a87c7c82f3
Merge pull request #9312 from kfnta/psa_compliance
PSA compliance tests suite
2019-03-07 09:14:58 -06:00
Oren Cohen dbd91bc4e0 Remove unused type which was conflicting wiith errno.h 2019-03-07 14:01:51 +02:00
Michael Schwarcz 14aa347040 TF-M config: Add max_ns_thread_count parameter 2019-03-07 12:18:19 +02:00
Cruz Monrreal 63242cfbb4
Merge pull request #9939 from kfnta/fix_for_secure_partition
Fix for secure partition
2019-03-06 20:00:38 -06:00
Cruz Monrreal 254650c03f
Merge pull request #9956 from moranpeker/attestation_doxy
Add attestation doxygen
2019-03-06 16:36:00 -06:00
Michael Schwarcz 730e9b83b7 TF-M: Increase TFM_SPM_MAX_ROT_SERV_NUM from 30 to 32 2019-03-06 16:43:09 +02:00
Moran Peker c0633e56b1 Attestation doxygen 2019-03-06 15:39:08 +02:00
Nir Sonnenschein c437c9f0b8 use common flag to allow test 3 for PS and ITS
add a compilation flag to allow tests which fill up the entire device storage.
storage test 003 (for both PS and its) is unsuitable for the regular CI because:
1. it takes a long time causing timeouts
2. it places a very high attrition load on the storage of the CI boards
    and this can cause them to fail much sooner.
2019-03-06 10:53:57 +02:00
Martin Kojtal bb61ea1433
Merge pull request #9917 from kfnta/attest_doxy
Add attestation doxygen
2019-03-06 09:14:26 +01:00
Nir Sonnenschein 172fd650a2 Fix for resource leak in crypto compliance test 43
Destroy key after import key in a loop
2019-03-05 17:10:27 +02:00
Nir Sonnenschein 95d0c4d38d Define psa_storage_info_t for backward compatibility 2019-03-05 17:07:51 +02:00
Netanel Gonen 2982907e37 rework for mbed-os intf for ACK tests
-rework test wrapper functions to simplify test main
-move greentea init before test setup code to avoid boards losing sync.
2019-03-05 17:07:34 +02:00
Nir Sonnenschein f106718366 indentation fix 2019-03-05 15:52:41 +02:00
Nir Sonnenschein 4412e39a72 fix resource leaks 2019-03-05 15:07:14 +02:00
Alon 0d550eeeb6 Fix crypto service get key info out params 2019-03-05 14:57:24 +02:00
Martin Kojtal 5c24ffefa4
Merge pull request #9915 from kfnta/tfm_import_new
Update TF-M sources
2019-03-04 10:53:12 +01:00
Nir Sonnenschein 16a59cb992 Allow PS test03 with PS_ALLOW_ENTIRE_STORAGE_FILL flag 2019-03-03 22:51:43 +02:00
Nir Sonnenschein 1650a923eb add main functions to each compliance test
add main function to each compliance test , moving shared code to a common file
2019-03-03 22:50:59 +02:00
Oren Cohen 064dc7d154 Attestation doxygen 2019-03-03 18:46:20 +02:00
Michael Schwarcz 7a2c7d7df4 TF-M patch: Fix tfm_memory_check issue (TF-M issue #224)
- Add Secure/non-secure code and secure heap to memory check
- Link to bug tracking: https://developer.trustedfirmware.org/T224
2019-03-03 16:47:53 +02:00
Michael Schwarcz 749faa6534 TF-M patch: Fix wrong check in tfm_spm_check_client_version (TF-M issue #236)
- Link to bug tracking: https://developer.trustedfirmware.org/T236

(cherry picked from commit 008bf1b2d1)
2019-03-03 16:47:47 +02:00
Michael Schwarcz 8a087a6504 TF-M patch: Fix tfm_psa_call_venner wrong argument type (TF-M issue #241)
- Link to bug tracking: https://developer.trustedfirmware.org/T241

(cherry picked from commit da01e3411f)
2019-03-03 16:47:41 +02:00
Michael Schwarcz ea8bff57b1 TF-M patch: Fix fixed-size partitions stack size (TF-M issue #240)
- Link to bug tracking: https://developer.trustedfirmware.org/T240

(cherry picked from commit fc78640559)
2019-03-03 16:47:34 +02:00
Michael Schwarcz 03dbd4bb28 TF-M patch: Fix service handles not cleared issue (TF-M issue #230)
- Link to bug tracking: https://developer.trustedfirmware.org/T230

(cherry picked from commit 0c23e86989)
2019-03-03 16:47:28 +02:00
Michael Schwarcz 87f22efcb5 TF-M patch: Fix tfm_ns_lock_init issue (TF-M issue #239)
- Link to bug tracking: https://developer.trustedfirmware.org/T239

(cherry picked from commit 5f2e4b3911)
2019-03-03 16:47:22 +02:00
Michael Schwarcz 71cd34df32 TF-M patch: General modifications
- Remove un-needed files
- Disable printf and uart
- Modify include paths
- Guard macros from mbed_lib with ifndef

(cherry picked from commit 1f30b52488)
2019-03-03 16:47:17 +02:00
Michael Schwarcz 823e5a2a7f [trusted-firmware-m]: Updated to f876e5c 2019-03-03 16:47:11 +02:00
Nir Sonnenschein 67ada4404f Delete unneeded .mk files after test import
delete unneeded .mk files imported as part of the PSA compliance test suite
2019-03-03 16:16:54 +02:00
Nir Sonnenschein b64fb53d43 [api-tests]: Updated to cb58d2c 2019-03-03 15:51:26 +02:00
Oren Cohen cfb60ec955 Fixes
* Add #include <stddef.h> to psa/client.h
* Add Attestation service to TFM
* Update FUTURE_SEQUANA_PSA secure binaries
* Remove MBED_SPM from K64F
* Refactor psa_manifest/sid.h
* Increase stackl size in spm-client tests
* Add handling of errors from psa_get in partitions
2019-03-03 13:30:58 +02:00
Michael Schwarcz 8fefa25a84 TF-M: Remove not-used platform headers 2019-03-03 10:55:47 +02:00
Michael Schwarcz b62c48977f Review fixes 2019-03-03 10:55:46 +02:00
Michael Schwarcz 20d7f817df Fix astyle 2019-03-03 10:55:46 +02:00
Michael Schwarcz 98efb44ea8 Remove another psa_identity 2019-03-03 10:55:46 +02:00
Michael Schwarcz ef76ec83ee Generate psa_manifest/sid.h 2019-03-03 10:55:46 +02:00
Oren Cohen 798e3c393a Call tfm_panic for SPM_PANIC 2019-03-03 10:55:45 +02:00
Michael Schwarcz faf5fcf795 Fix typo 2019-03-03 10:55:45 +02:00
Oren Cohen 0e74e09e56 Set default PSA client header for single v7 targets 2019-03-03 10:55:45 +02:00
Oren Cohen 737a3cc350 Advance to PSA-FF 1.0 2019-03-03 10:55:45 +02:00
Oren Cohen bd9a738473 Move SPM_PANIC to psa/service.h 2019-03-03 10:55:44 +02:00
Oren Cohen 306a51f6c0 Update psa_get() to return psa_status_t 2019-03-03 10:55:44 +02:00
Michael Schwarcz f9fbd6ae82 Align PSA SPM tests to TF-M 2019-03-03 10:55:42 +02:00
Oren Cohen 483b23c318 Fix SPM warnings 2019-03-03 10:54:55 +02:00
Oren Cohen dfbc7b6b7a Adapt partitons 2019-03-03 10:54:54 +02:00
Oren Cohen aad114aa55 Genrerate SPM data 2019-03-03 10:54:54 +02:00
Oren Cohen 21d09b4156 Unify flags 2019-03-03 10:54:53 +02:00
Oren Cohen a65baf55c6 Update psa_wait() and client_id 2019-03-03 10:54:53 +02:00
Cruz Monrreal befed111f5
Merge pull request #9668 from moranpeker/psa-init-attestation
PSA Initial Attestation service
2019-02-28 18:25:16 -06:00
Moran Peker 83d084afef add casting to increased void pointer 2019-02-28 20:30:05 +02:00
Moran Peker 116e14ade6 change license to file that mostly based on TF-M implementation
from Apache-2.0 to BSD-3-Clause
2019-02-28 16:00:53 +02:00
Moran Peker 2b8621aa6c initialized psa_hash_operation_t to zeros before calling hash_setup
-initialized  psa_hash_operation_t to zeros
-fix TF-M attestation code - increase t_cose_crypto_hash bytes to
handle max psa_hash_operation_t size
2019-02-28 15:54:45 +02:00
Moran Peker 6346442f03 Add SW_SIGNER_ID data to boot status 2019-02-28 15:52:16 +02:00