mbed-os/features/mbedtls/targets
ccli8 ca44675086 [Nuvoton] Fix crypto AC management
1. For SHA AC, use atomic flag to manage its ownership.
   (1) Nuvoton SHA AC doesn't support SHA context save & restore, so S/W
       SHA fallback has been supported before. To make non-blocking 'acquire'
       semantics clearer, introduce 'try_acquire' to substitute for 'acquire'.
   (2) No biting CPU due to mechanism above.
   (3) No deadlock due to mechanism above.
2. For AES/DES/ECC AC, change to mutex to manage their ownership.
   (1) Change crypto-misc.c to crypto-misc.cpp to utilize C++ SingletonPtr
       which guarantees thread-safe mutex construct-on-first-use.
   (2) With change to crypto-misc.cpp, add 'extern "C"' modifier to CRYPTO_IRQHandler()
       to avoid name mangling in C++.
   (3) No priority inversion because mutex has osMutexPrioInherit attribute
       bit set.
   (4) No deadlock because these AC are all locked for a short sequence
       of operations rather than the whole lifetime of mbedtls context.
   (5) For double mbedtls_internal_ecp_init() issue, it has been fixed in upper
       mbedtls layer. So no need to change ecc init/free flow.
2018-12-19 10:17:39 +08:00
..
TARGET_NUVOTON [Nuvoton] Fix crypto AC management 2018-12-19 10:17:39 +08:00
TARGET_STM STM32L4: before calling HAL_CRYP_DeInit initialize the Instance member 2018-12-03 16:07:49 +02:00
TARGET_Silicon_Labs Modify HW accelerator drivers to new error code 2018-11-11 09:59:18 +02:00
hash_wrappers.c Adjust partner code for MD HW acceleration to new MD API 2018-02-28 10:02:56 +01:00