Commit Graph

21131 Commits (54f53e09d8b8bda9a5644bdbfa93661348a71c41)

Author SHA1 Message Date
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
Martin Kojtal 436644b7bd
Merge pull request #7760 from ARMmbed/feature_namespace
Give an option to remove 'using namespace'
2018-11-27 09:04:58 +01:00
Martin Kojtal 2009f028b1
Merge pull request #8592 from deepikabhavnani/nw_stats_ver2
Network Socket Statistics
2018-11-27 09:03:49 +01:00
Oren Cohen 2b3822e6cd Fix targets.json 2018-11-27 09:18:10 +02:00
Alexander Zilberkant ed8505ae64 Update components/TARGET_PSA/spm/psa_defs.h
Co-Authored-By: orenc17 <oren.cohen@arm.com>
2018-11-27 09:16:48 +02:00
Amanda Butler 34bcf6b1f0 Edit spm_api.h
Edit file, mostly for minor grammar and style changes.
2018-11-27 09:16:48 +02:00
Amanda Butler ba6fdcf494 Edit psa_defs.h
Make minor edits, mostly for consistent abbreviations.
2018-11-27 09:16:48 +02:00
Amanda Butler b87ab2511b Edit spm_server.h
Make minor edits, mostly for consistent capitalization and style.
2018-11-27 09:16:47 +02:00
Amanda Butler 25239a4a9d Edit spm_client.h
Make minor copy edits, mostly for punctuation and style.
2018-11-27 09:16:47 +02:00
Oren Cohen aea9713c89 Doxygen fixes in tests 2018-11-27 09:16:47 +02:00
Oren Cohen 5455a2da59 Astyle fixes 2018-11-27 09:16:46 +02:00
Alexander Zilberkant 8501e79e93 spm_init.h add function docs 2018-11-27 09:16:46 +02:00
Alexander Zilberkant 628ef9b28d spm_internal.h - add missing function docs 2018-11-27 09:16:46 +02:00
Oren Cohen 773ac8dd95 CR fixes 2018-11-27 09:16:45 +02:00