Commit Graph

23 Commits (2d7e1ba94333087bdb5852b3840171a563b31d45)

Author SHA1 Message Date
Vikas Katariya f4a1945911 Add PSA auto-generated files to components
To support online compiler build for PSA targets, some files are
auto-generated (LPC55S69_NS and ARM_MUSCA_A1_NS) by the script
from offline build system. Since these files are identical for these
V8-M targets it would be good to check them in to support online
compiler as they are COMPONENT_SPE and services related.

In folder: components/TARGET_PSA/
  --TARGET_MBED_SPM
    --COMPONENT_SPE
      psa_setup.c
  --TARGET_TFM
    --COMPONENT_SPE
      --inc
	tfm_partition_defs.inc
        tfm_partition_list.inc
        tfm_service_list.inc
        tfm_spm_signal_defs.h
  --services
    --inc
      autogen_sid.h
      mbed_spm_partitions.h

Signed-off-by: Vikas Katariya <Vikas.Katariya@arm.com>
2019-11-08 14:57:06 +00:00
Martin Kojtal 3ea1c56124
Merge pull request #10147 from kjbracey-arm/atomic_bitwise
Assembler atomics
2019-05-13 14:18:05 +01:00
Alexander Zilberkant ab01bea46d Delete autogenerated files 2019-04-30 14:10:23 +03:00
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 dbd91bc4e0 Remove unused type which was conflicting wiith errno.h 2019-03-07 14:01:51 +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 20d7f817df Fix astyle 2019-03-03 10:55:46 +02:00
Oren Cohen 737a3cc350 Advance to PSA-FF 1.0 2019-03-03 10:55:45 +02:00
Oren Cohen 306a51f6c0 Update psa_get() to return psa_status_t 2019-03-03 10:55:44 +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
Moran Peker 2117a26cb1 Get security lifecycle by psa_security_lifecycle_state function
-Add bug fix for psa_security_lifecycle_state function - PR #9745
-Remove lifecycle data from temp boot status data
-Update attesttation_partition_json file to use
PSA_PLATFORM_LC_GET and generate partition
code - auto generated files update
2019-02-27 14:14:17 +02:00
Moran Peker 5f45b0af92 Attestation: aut- generated files by generate_partition_code.py
Atestation paration added.
2019-02-27 14:14:09 +02:00
David Saada 41eb5cbfd9 Implement PSA protected storage & restructure PSA storage implementation
- Move all PSA storage code under psa/storage directory
- Create a global PSA error codes header, eliminating ITS specific ones
- Create a common header file for PSA storage type definitions,
  eliminating ITS specific ones
- Create a common implementation for PS & ITS
- Implement protected storage feature
- Change ITS test to be common to PS as well
2019-02-21 20:58:59 +02:00
Cruz Monrreal 19474fcab1
Merge pull request #9617 from kjbracey-arm/spe_atomics
SPE: Fix up atomic usage
2019-02-19 15:27:54 -06:00
Oren Cohen 45c44eb07c Fix dependencies of platform partition 2019-02-13 17:10:12 +02:00
Kevin Bracey a3e7a6d85a SPE: Fix up atomic usage
PSA SPE code was using atomics, but not consistently. On the assumption
that the atomics are needed, correct the code to be properly atomic.

* Tighten up table full case - new_handle was left with a bogus value,
  and surrounding code (as a result?) used loop index to assert success.
  Make handle the sole output of the loop, and correct and use it.
* Ensure handle in table is cleared last, with atomic store to release.
* Make skipping of the invalid handle in handle generator loop atomic.
* Use atomic load on state assert, and don't re-read on failure.
* Tighten up types, and avoid casts by using new signed atomics.
2019-02-05 16:03:25 +02:00
Oren Cohen ea9f104463 Fix Licenses 2019-01-31 17:17:58 +02:00
Oren Cohen 47365d4620 Update ITS test 2019-01-31 17:17:56 +02:00
Oren Cohen 8841ba69f8 Align to new spec changes and prep for TFM SPM
# Conflicts:
#	components/TARGET_PSA/services/crypto/COMPONENT_PSA_SRV_IPC/psa_crypto_spm.c
#	components/TARGET_PSA/services/crypto/COMPONENT_SPE/psa_crypto_partition.c
2019-01-31 17:17:53 +02:00