Commit Graph

22214 Commits (09db995c738724b1df80ba65d0c5092baf56e529)

Author SHA1 Message Date
Kevin Bracey 6e41d6cdb7 Make SingletonPtr safe using atomics
SingletonPtr's implementation wasn't totally safe - see "C++ and the
Perils of Double-Checked Locking"by Meyers and Alexandrescu. No problems
observed in practice, but it was potentially susceptible to compiler
optimisation (or maybe even SMP issues).

Now that we have atomic loads and stores, the function can be made safe,
avoiding any potential races for threads that don't take the lock:
ensure that the unlocked load is atomic, and that the pointer store is
atomic.

See https://preshing.com/20130930/double-checked-locking-is-fixed-in-cpp11/
for more discussion.
2019-01-29 16:01:33 +02:00
Amir Cohen 35df2de703 Remove COMPONENT_FLASHIAP tests
FlashIAPBlockDevice LittleFS ‘fopen’ falls on nightly tests
LittleFS test on FlashIAP is not relevant and thus removed
2019-01-29 13:54:40 +02:00
Mirela Chirica 2bdfafc9fc Cellular: Remove makefile and mbedignore refering to obsolete cellular unit tests 2019-01-29 13:23:39 +02:00
Kevin Bracey 983503f9ee Mutex-protect mbedtls_hardware_poll
Like all HAL APIs, the calls in trng_api.h are not expected to
be thread-safe.

All current accesses to the TRNG HAL are currently via
`mbedtls_hardware_poll`.  Mbed TLS does not currently serialise these
calls itself, as `MBEDTLS_THREADING_C` is not enabled. But even if
Mbed TLS's own accesses were serialised, there are other direct
users of `mbedtls_hardware_poll` such as randLIB, that need to use
direct calls due to lack of API to extract entropy from Mbed TLS.

As such it makes sense to treat `mbedtls_hardware_poll` as a de facto
public Mbed OS API, akin to the C++ veneers on top of the HAL, and add a
PlatformMutex there so that it is safe for multithreaded use.
2019-01-29 12:45:48 +02:00
itayzafrir fa46e3b499 crypto: Add test of hash clone
Test hash clone by adding a test to TESTS/mbed-crypto/sanity/main.cpp
2019-01-29 11:43:27 +02:00
itayzafrir 861fb0cbf0 crypto service: Implement function psa_hash_clone over IPC 2019-01-29 11:43:27 +02:00
itayzafrir 81a4ff6425 crypto service: Implement IPC according to Mbed Crypto 1.0.0d1 API
1. Removed obsolete crypto APIs from IPC implementation.
2. Updated existing crypto APIs in IPC implementation.
3. Added new crypto APIs to IPC implemntation (except for psa_hash_clone).
2019-01-29 11:43:27 +02:00
itayzafrir e66b2203a9 crypto: Add test of key handles
Test key handles by adding a test to TESTS/mbed-crypto/sanity/main.cpp
2019-01-29 11:43:26 +02:00
itayzafrir f882a07708 crypto: Update tests to use key handles
Update tests in TESTS/mbed-crypto/sanity/main.cpp
2019-01-29 11:43:26 +02:00
Jaeden Amero c3223072dc crypto: Update to Mbed Crypto 1.0.0d1 2019-01-29 11:43:26 +02:00
Jaeden Amero 4a1584696c crypto: importer: Update with fetch
Instead of doing a "pull --rebase" to update to the latest development
branch, do a "fetch" followed by a "checkout" to update to the specified
release. This enables us to get any new tags created since the last
update to the development branch, and removes the noise of updating a
local "development" branch.
2019-01-29 11:43:25 +02:00
Jaeden Amero c74993bac4 crypto: Re-import Mbed Crypto 0.1.0b2
Use the Mbed-Crypto-specific importer script to re-import Mbed Crypto
0.1.0b2 to its new location.
2019-01-29 11:43:24 +02: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
Veijo Pesonen b0fca1ffc8 Test UDPSOCKET_SENDTO_INVALID allows NSAPI_ERROR_UNSUPPORTED 2019-01-29 10:59:06 +02:00
Kevin Bracey f60bb8f3a7 Second barrier for core_util_atomic_flag_clear
As barriers were added in #9247, review comments pointed out that atomic
stores needed a second barrier, and they got one. But atomic_flag_clear
was missed.
2019-01-29 10:45:20 +02:00
Martin Kojtal d1b367fbab
Merge pull request #9483 from mprse/ticker_sleep_lock_fix
Fix for Issue #7308 (Deep_sleep_lock Ticker.h Issue)
2019-01-29 09:27:12 +01:00
Brian Daniels 4a0bb5b35d Update utest README 2019-01-28 16:35:35 -06:00
Brian Daniels 1a9df4269b Correct example given in greentea-client readme 2019-01-28 16:35:34 -06:00
Brian Daniels b694a34873 Remove reference to yotta and mbed-drivers in greentea-client 2019-01-28 16:35:20 -06:00
Brian Daniels 96a71ce59a Removing references to yotta and minar within utest 2019-01-28 16:31:20 -06:00
Brian Daniels 374d516689 Remove yotta and minar references in NCS36510 2019-01-28 16:22:47 -06:00
Cruz Monrreal II de4b7607a0 Simplified max/min condition 2019-01-28 14:01:48 -06:00
Cruz Monrreal II 861816c20b Enable xenail dist for only Py37 job
Other jobs will follow with other PR
2019-01-28 13:54:28 -06:00
Cruz Monrreal II d582451469 Enabled Py3.{5,6,7} in Travis CI 2019-01-28 13:02:37 -06:00
Cruz Monrreal II 533dcf36ff Added universal_newlines flag to Popen in pylint.py 2019-01-28 12:59:43 -06:00
Cruz Monrreal II 2a9a45d087 Increased path for spm include.
Py3 tests were not running as a result
2019-01-28 12:59:43 -06:00
Cruz Monrreal II 149d280e7a Added encoding to version check for Py3 compat 2019-01-28 12:59:43 -06:00
Cruz Monrreal II cc3114113d In Py3.7, a reinit of a mock variable was needed.
It seems that initializing mock variables in an object isn't enough
2019-01-28 12:59:43 -06:00
Cruz Monrreal II d9add3447d Added None check for min in config tools 2019-01-28 12:59:43 -06:00
Cruz Monrreal II 72dbc52715 Added flag to run_cmd Popen invocation to do default decoding 2019-01-28 12:59:43 -06:00
Cruz Monrreal e965aa6640
Merge pull request #9509 from vmedcy/psoc6-daplink-hex
PSOC6.py: generate hex files with 16 bytes per row
2019-01-28 10:38:15 -06:00
Cruz Monrreal 66cda8a8fe
Merge pull request #9499 from bridadan/remove_yotta_modules
Remove unused yotta module metadata
2019-01-28 10:37:30 -06:00
Cruz Monrreal 545d229ab1
Merge pull request #9497 from ARMmbed/AnotherButler-patch-2
Remove yotta from README.md
2019-01-28 10:36:36 -06:00
Cruz Monrreal 953acef94c
Merge pull request #9482 from maciejbocianski/arch_pro_spi_pins
ARCH_PRO: add missing SPI pin definitions
2019-01-28 10:34:37 -06:00
Cruz Monrreal f5730a91b2
Merge pull request #9474 from VeijoPesonen/fix-newlines_at_end-of-files
Fix newlines at end of files
2019-01-28 10:33:37 -06:00
Cruz Monrreal 7f8ebc75cd
Merge pull request #9466 from vmedcy/psoc6-target-hook
Improve PSoC 6 post-build hooks, whitelist makefile export
2019-01-28 10:33:12 -06:00
Cruz Monrreal b49d949b50
Merge pull request #9393 from pan-/fix-safe-enum-type-safety
BLE: Fix SafeEnum type safety
2019-01-28 10:31:52 -06:00
Veijo Pesonen d712568b8f ESP8266: with empty packet send returns zero if TCP, unsupported otherwise 2019-01-28 13:46:48 +02:00
Martin Kojtal 0bc9bcc0ed
Merge pull request #9498 from ARMmbed/AnotherButler-patch-3
Remove outdated text and fix spelling in README.md
2019-01-28 11:05:15 +01:00
Martin Kojtal 489e52e428
Merge pull request #9410 from jeromecoutant/PR_F756_L486
STM32F756 and STM32L486 alignment with STM32F746 and STM32L476
2019-01-28 10:22:48 +01:00
Martin Kojtal e3cf2e4adc
Merge pull request #9500 from janjongboom/patch-4
TCPSocket.cpp setting socket should terminate with semicolon
2019-01-28 10:21:52 +01:00
Volodymyr Medvid 5c384f10e7 PSOC6.py: generate hex files with 16 bytes per row
DAPLink implementation on Cypress kits cannot handle hex files
with 64 bytes per row: refer to https://github.com/ARMmbed/DAPLink,
source/daplink/drag-n-drop/intelhex.c, hex_line_t struct, data field.
2019-01-25 10:07:00 -08:00
Amanda Butler 36438a1d70
Remove outdated content from README.md
Remove requested outdated content, and update TOC to reflect changes.
2019-01-25 09:57:19 -06:00
deepikabhavnani febbeffff6 Change if statements to lookup tables 2019-01-25 09:43:03 -06:00
deepikabhavnani f7d49fdc82 Change DSP variant symbol to `E` from `D`(d-double floating point) 2019-01-25 09:31:44 -06:00
deepikabhavnani c472005cfa GCC_ARM: Strip the -NS from core option before setting floating point options 2019-01-25 09:28:36 -06:00
deepikabhavnani c0750de318 Armc6 - Set floating point and CPU options for all core variants explicitly
Below are the options read from the toolchains/arm
armclang --target=arm-arm-none-eabi -mcpu=list
The following arguments to option 'mcpu' can be selected:
  -mcpu=cortex-m0
  -mcpu=cortex-m0plus
  -mcpu=cortex-m1
  -mcpu=cortex-m3
  -mcpu=cortex-m4
  -mcpu=cortex-m7
  -mcpu=cortex-m23
  -mcpu=cortex-m33
  ...

armlink --cpu=list
The following arguments to option 'cpu' can be selected:
 --cpu=Cortex-M0
 --cpu=Cortex-M0plus
 --cpu=Cortex-M1
 --cpu=Cortex-M1.os_extension
 --cpu=Cortex-M1.no_os_extension
 --cpu=Cortex-M4
 --cpu=Cortex-M4.no_fp
 --cpu=Cortex-M7
 --cpu=Cortex-M7.fp.sp
 --cpu=Cortex-M7.no_fp
 --cpu=Cortex-M23
 --cpu=Cortex-M33
 --cpu=Cortex-M33.no_fp
 --cpu=Cortex-M33.no_dsp
 --cpu=Cortex-M33.no_dsp.no_fp
...

armclang --target=arm-arm-none-eabi -mfpu=list
The following arguments to option 'mfpu' can be selected:
  -mfpu=fpv4-sp-d16
  -mfpu=fpv5-sp-d16
  -mfpu=fpv5-d16
...
2019-01-25 09:28:36 -06:00
deepikabhavnani 907c517473 Use core arch for setting secure/non-secure flags 2019-01-25 09:28:36 -06:00
Martin Kojtal daefce6bf4
Merge pull request #9492 from cmonr/travisCI-fix-license_check
Travis CI: Fix for license check job
2019-01-25 12:33:21 +01:00
Cruz Monrreal eb26d82ca9
Merge pull request #9223 from kfnta/future_sequana_psa_binnaries_importer
Update PSA binaries importer for FUTURE_SEQUANA_PSA
2019-01-24 17:02:44 -06:00