Commit Graph

21092 Commits (feature-secure-time)

Author SHA1 Message Date
Mohammad AboMokh ba47b450aa Remove unnecessary define 2018-11-27 11:56:54 +02:00
Mohammad AboMokh 7776fea903 Remove unneeded includes 2018-11-27 11:56:53 +02:00
Netanel Gonen 352bac3b26 Crypto SPM - fix - PART1
Fail fast on invalid handles before calling to SPM
2018-11-27 11:56:52 +02:00
Netanel Gonen bab6116f31 compilation fix 2018-11-27 11:56:51 +02:00
Mohammad AboMokh a4c498e02a Integrate psa_key_agreement() with SPM code 2018-11-27 11:56:50 +02:00
Danny Shavit e72d910754 Add a weak implementation for trng_get_bytes() 2018-11-27 11:56:49 +02:00
Netanel Gonen 59c3c9fff7 crypto init with multiple client guard & tests 2018-11-27 11:56:48 +02:00
Netanel Gonen 7f49fd2b09 Fix memory leak if user does not calls abort. call abort when connection is closed 2018-11-27 11:56:46 +02:00
Netanel Gonen 58f92c3266 remove execute permissions from file 2018-11-27 11:56:45 +02:00
Netanel Gonen 4816266205 add comment to explain why (-1 * rc) is returned 2018-11-27 11:56:44 +02:00
Netanel Gonen 73cb013ac6 skip inject entropy test if they not supported 2018-11-27 11:56:43 +02:00
Netanel Gonen ae0fa609a9 remove psa_its_get_info from seed read function 2018-11-27 11:56:42 +02:00
Mohammad AboMokh 54cd8bf51f Change behavior realted to MBEDTLS_ENTROPY_NV_SEED and MBEDTLS_PSA_HAS_ITS_IO flags
* mbedtls_psa_inject_entropy() MUST be always available for client side.
* Partition will return PSA_ERROR_NOT_SUPPPORTED in case where MBEDTLS_ENTROPY_NV_SEED or MBEDTLS_PSA_HAS_ITS_IO flags are not defined
2018-11-27 11:56:40 +02:00
Mohammad AboMokh fb88cb4cb5 Add missing guards 2018-11-27 11:56:38 +02:00
Mohammad AboMokh 73ebe1a247 Fix inject entropy tests
* Call greentea_case_teardown_handler() and greentea_case_setup_handler() instead of return STATUS_CONTINUE
* Introduce and use new macro MBEDTLS_PSA_INJECT_ENTROPY_MIN_SIZE
2018-11-27 11:56:37 +02:00
Mohammad AboMokh 0fde6af120 change MBEDTLS_RANDOM_SEED_ITS_UID define to be PSA_CRYPTO_ITS_RANDOM_SEED_UID 2018-11-27 11:56:36 +02:00
Mohammad AboMokh 72037747b1 Update auto generated SPM files 2018-11-27 11:56:35 +02:00
Mohammad AboMokh 1325084b1a Add tests to PSA entropy injection 2018-11-27 11:56:33 +02:00
Mohammad AboMokh 587fdbb447 Remove crypto init that was not called by the user 2018-11-27 11:56:32 +02:00
Mohammad AboMokh 7b2c924ac7 Adding defualt behaviour for platforms without TRNG.
If setting the MBEDTLS_PLATFORM_NV_SEED_ALT and MBEDTLS_ENTROPY_NV_SEED flags and not
setting MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO and MBEDTLS_PLATFORM_NV_SEED_READ_MACRO flags
mbed-os will add an entropy source to the relevent partition - SPE in case of daul core or
in case of single core V7 to the main partition.

The defualt behaviour will be to read or write the data from the ITS.
2018-11-27 11:56:31 +02:00
Mohammad AboMokh bd47a8c2b8 Add entropy inject to spm 2018-11-27 11:56:30 +02:00
Oren Cohen f4581faab0 Create a new partition for the crypto service
The following files initially were taken
from https://github.com/ARMmbed/psa-crypto-spm/releases/tag/spm-crypto-5.11
* crypto_platform_spe.h
* crypto_struct.h
* crypto_struct_ipc.h
* psa_crypto_spm.c
* crypto_spe.h
* crypto_partition_psa.json

The rest of the files were autimatically generated
by tools/spm/generate_psa_partition.py
2018-11-27 11:56:29 +02:00
itayzafrir 1431e216ad Skip Mbed Crypto tests when when Mbed Crypto is OFF 2018-11-27 11:56:25 +02:00
Oren Cohen 3e88dcf177 Test modifications
* Add support for entropy injection
* Move psa_crypto_init & mbedtls_psa_crypto_free to setup & teardown handlers
* Skip test_crypto_asymmetric_encrypt_decrypt if RSA generation is not supported
2018-11-27 11:54:10 +02:00
Donatien Garnier 72f3680f1d Disable MPU on RTL8195A 2018-11-27 09:29:33 +00:00
Russ Butler 7cdfbee28b Fix asyle problems
Run astyle to fix CI failures.
2018-11-27 09:29:33 +00:00
Russ Butler 02b50b44ef Define MPU_ROM_END for all targets
Set a default value for MPU_ROM_END in target so this is defined for
all targets.
2018-11-27 09:29:33 +00:00
Russ Butler daf96c1c77 Remove MPU design doc
Remove the design document since it is out of date and up to date
content is in the final docs.
2018-11-27 09:29:32 +00:00
Russ Butler caa7b93921 Rename lock functions and classes
Invert the name of the lock functions and classes so you are not
locking a negative.
2018-11-27 09:29:32 +00:00
Russ Butler a7bf312106 Skip MPU fault tests for ARMv8-M
For enhanced security ARMv8-M firmware doesn't allow the hardfault
handler to be hooked by non-secure code. Because of this there is no
way to recover from the MPU fault tests. This PR disables those tests
until hardfault recovery is supported by secure firmware.
2018-11-27 09:29:32 +00:00
Russ Butler 47ac8ef3f0 Fix MPU test when MemManage fault enabled
Hook both the HardFault and the MemManage IRQs since it is up to the
target to determine which fault is enabled.
2018-11-27 09:29:32 +00:00
Russ Butler 58ed5c2f7d Change MPU lock name for readability in FlashIAP
Change the variable names in FlashIAP from
'xn' to 'make_ram_executable' and from 'wn' to 'make_rom_writable' to
make the code more readable.
2018-11-27 09:29:32 +00:00
Russ Butler 24f002d6dc Clear caches before RAM execution in MPU test
Ensure that code written to ram is flushed and that caches are cleared
before attempting to executing from ram. This fixes CI failures on the
MPU test when it is built for Cotex-M7 devices such as the
NUCLEO-F746ZG.
2018-11-27 09:29:32 +00:00
Russ Butler 09b1a90239 Correct ARMvX-M in design doc
Change ARMvXm to ARMvX-M in the design doc.
2018-11-27 09:29:32 +00:00
Russ Butler 1821d37621 Overhaul MPU for new requirements
Make the following changes:
-Allow a vector specific ARM MPU driver by defining MBED_MPU_CUSTOM
-Allow ROM address to be configured for ARMv7-M devices by
    setting the define MBED_MPU_ROM_END
-Add ROM write protection
    -Add new functions and lock
    -enable at boot
    -disable during flash programming
2018-11-27 09:29:32 +00:00
Russ Butler d27566c955 Rename MpuXnLock
Rename MpuXnLock  to ScopedMpuXnLock so it has the same naming
convention as ScopedMutexLock. Also make this class inherit from
NonCopyable to prevent misuse.
2018-11-27 09:29:32 +00:00
Russ Butler 7283f9b0ee Add a formal HAL specification for the MPU API
Add a formal HAL specification consisting of:
-defined and undefined behavior
-test descriptions
-enable doxygen for MPU
2018-11-27 09:29:32 +00:00
Russ Butler a4aa5eaf93 Add v8m MPU
Add a driver for the v8m MPU.
2018-11-27 09:29:32 +00:00
Russ Butler fb7e7e91ff Add MPU to device_has in targets.json
Add MPU for devices which support the API in targets.json.
2018-11-27 09:29:31 +00:00
Russ Butler d00f59fdc8 Rework MPU layout for future changes
Create a dedicated MPU directory for standard Arm MPU implementations
in preparation for the Arm v8m MPU. Replace MBED_MPU_ENABLED with
DEVICE_MPU to align with the porting layer of other HAL APIs.
2018-11-27 09:29:31 +00:00
Russ Butler c0ff98614a Disable the MPU when flashing
When programming flash using the FlashIAP API allow execution from
ram. Many devices require flashing to be done from RAM.

Also allow execution from ram when running the low level flash tests.
2018-11-27 09:29:31 +00:00
Russ Butler f44f87a196 Add design document for Execute Never
Add a design document which covers the proposed implementation of
execute never.
2018-11-27 09:29:31 +00:00
Russ Butler ab18442988 Add an RAII class for MPU execute never
Add the class MpuXnLock which uses RAII  to allow execution from RAM
in a block of code.
2018-11-27 09:29:31 +00:00
Russ Butler ecd0414494 Integrate MPU with mbed
Enable the MPU as part of the boot sequence and disable it before
starting a new application. Also add reference counted MPU lock and
unlock functions to allow code to execute from ram when necessary.
2018-11-27 09:29:31 +00:00
Russ Butler 8e2fd1a5cc Add an MPU test
Test that the MPU correctly stops execution of memory in the stack
region, heap region, data region and bss region. Also check that the
MPU can be enabled, disabled and freed.
2018-11-27 09:29:31 +00:00
Russ Butler 0f5b9eaf94 Add an initial MPU API
Add a minimalistic HAL MPU API with the ability to prevent execution
in ram.
2018-11-27 09:29:31 +00:00
Vincent Coubard 6677fab856 BLE: Move source/Gap.cpp -> source/LegacyGap.cpp 2018-11-27 09:12:28 +00:00
Martin Kojtal 5e6dc940ba
Merge pull request #8821 from jarvte/add_rat_json
Cellular: add radio access technology as configurable in json
2018-11-27 09:23:57 +01:00
Martin Kojtal f4774a9a59
Merge pull request #8840 from miyuki/master
Fix build of library archive with Arm Compiler 6
2018-11-27 09:12:50 +01:00
Martin Kojtal 29b64e15bf
Merge pull request #8761 from kegilbert/add-all-stats-config-opt
Add MBED_ALL_STATS_ENABLED to config system
2018-11-27 09:12:17 +01:00