mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			Merge pull request #14815 from LDong-Arm/test_psa_k64f_k66f
Enable PSA tests on K64F/K66F and fix missing PSA Crypto init in TLSSocketWrapperpull/14849/head
						commit
						270ea5deb7
					
				| 
						 | 
				
			
			@ -21,7 +21,9 @@
 | 
			
		|||
#ifndef __PLATFORM_MBED__H__
 | 
			
		||||
#define __PLATFORM_MBED__H__
 | 
			
		||||
 | 
			
		||||
#if (defined(FEATURE_EXPERIMENTAL_API) && defined(FEATURE_PSA) && defined(MBEDTLS_ENTROPY_NV_SEED))
 | 
			
		||||
#if defined(FEATURE_EXPERIMENTAL_API) && defined(FEATURE_PSA)
 | 
			
		||||
 | 
			
		||||
#if defined(MBEDTLS_ENTROPY_NV_SEED)
 | 
			
		||||
 | 
			
		||||
#include "default_random_seed.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +39,18 @@
 | 
			
		|||
 * MBEDTLS_ENTROPY_NV_SEED is enabled. */
 | 
			
		||||
#define MBEDTLS_PSA_INJECT_ENTROPY
 | 
			
		||||
 | 
			
		||||
#endif  // (defined(FEATURE_PSA) && defined(MBEDTLS_ENTROPY_NV_SEED))
 | 
			
		||||
#endif // defined(MBEDTLS_ENTROPY_NV_SEED)
 | 
			
		||||
 | 
			
		||||
/* The following configurations are a needed for Mbed Crypto submodule.
 | 
			
		||||
 * They are related to the persistent key storage feature.
 | 
			
		||||
 */
 | 
			
		||||
#define MBEDTLS_PSA_CRYPTO_STORAGE_C
 | 
			
		||||
#define MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C
 | 
			
		||||
#undef MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C
 | 
			
		||||
 | 
			
		||||
#define MBEDTLS_ENTROPY_HARDWARE_ALT
 | 
			
		||||
 | 
			
		||||
#endif  // defined(FEATURE_EXPERIMENTAL_API) && defined(FEATURE_PSA)
 | 
			
		||||
 | 
			
		||||
#if DEVICE_TRNG
 | 
			
		||||
#if !defined(MBEDTLS_ENTROPY_HARDWARE_ALT)
 | 
			
		||||
| 
						 | 
				
			
			@ -49,17 +62,6 @@
 | 
			
		|||
#include "mbedtls_device.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(FEATURE_PSA)
 | 
			
		||||
/* The following configurations are a needed for Mbed Crypto submodule.
 | 
			
		||||
 * They are related to the persistent key storage feature.
 | 
			
		||||
 */
 | 
			
		||||
#define MBEDTLS_PSA_CRYPTO_STORAGE_C
 | 
			
		||||
#define MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C
 | 
			
		||||
#undef MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C
 | 
			
		||||
 | 
			
		||||
#define MBEDTLS_ENTROPY_HARDWARE_ALT
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * MBEDTLS_ERR_PLATFORM_HW_FAILED is deprecated and should not be used.
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,10 @@
 | 
			
		|||
#include "mbed_error.h"
 | 
			
		||||
#include "rtos/Kernel.h"
 | 
			
		||||
 | 
			
		||||
#if defined(MBEDTLS_USE_PSA_CRYPTO)
 | 
			
		||||
#include "psa/crypto.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// This class requires Mbed TLS SSL/TLS client code
 | 
			
		||||
#if defined(MBEDTLS_SSL_CLI_C)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,6 +45,16 @@ TLSSocketWrapper::TLSSocketWrapper(Socket *transport, const char *hostname, cont
 | 
			
		|||
    _clicert_allocated(false),
 | 
			
		||||
    _ssl_conf_allocated(false)
 | 
			
		||||
{
 | 
			
		||||
#if defined(MBEDTLS_USE_PSA_CRYPTO)
 | 
			
		||||
    // It is safe to call psa_crypto_init() any number of times as
 | 
			
		||||
    // defined by the PSA Crypto API. There is no standard "deinit"
 | 
			
		||||
    // function.
 | 
			
		||||
    psa_status_t status = psa_crypto_init();
 | 
			
		||||
    if (status != PSA_SUCCESS) {
 | 
			
		||||
        tr_err("psa_crypto_init() failed (" PRIu32 ")", status);
 | 
			
		||||
    }
 | 
			
		||||
#endif /* MBEDTLS_USE_PSA_CRYPTO */
 | 
			
		||||
 | 
			
		||||
#if defined(MBEDTLS_PLATFORM_C)
 | 
			
		||||
    int ret = mbedtls_platform_setup(nullptr);
 | 
			
		||||
    if (ret != 0) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
{
 | 
			
		||||
    "config": {
 | 
			
		||||
        "echo-server-addr" : {
 | 
			
		||||
            "help" : "IP address of echo server",
 | 
			
		||||
            "value" : "\"echo.mbedcloudtesting.com\""
 | 
			
		||||
        },
 | 
			
		||||
        "echo-server-port" : {
 | 
			
		||||
            "help" : "Port of echo server",
 | 
			
		||||
            "value" : "7"
 | 
			
		||||
        },
 | 
			
		||||
        "echo-server-discard-port" : {
 | 
			
		||||
            "help" : "Discard port of echo server",
 | 
			
		||||
            "value" : "9"
 | 
			
		||||
        },
 | 
			
		||||
        "echo-server-port-tls" : {
 | 
			
		||||
            "help" : "Port of echo server for TLS",
 | 
			
		||||
            "value" : "2007"
 | 
			
		||||
        },
 | 
			
		||||
        "echo-server-discard-port-tls" : {
 | 
			
		||||
            "help" : "Discard port of echo server for TLS",
 | 
			
		||||
            "value" : "2009"
 | 
			
		||||
        },
 | 
			
		||||
        "sim-blockdevice": {
 | 
			
		||||
            "help": "Simulated block device, requires sufficient heap",
 | 
			
		||||
            "macro_name": "MBED_TEST_SIM_BLOCKDEVICE",
 | 
			
		||||
            "value": "HeapBlockDevice"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "target_overrides": {
 | 
			
		||||
        "*": {
 | 
			
		||||
            "target.network-default-interface-type": "ETHERNET",
 | 
			
		||||
            "target.features_add": [
 | 
			
		||||
                "EXPERIMENTAL_API"
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,9 @@
 | 
			
		|||
{
 | 
			
		||||
    "ETHERNET" : "EthernetInterface.json",
 | 
			
		||||
    "EXPERIMENTAL": "experimental.json",
 | 
			
		||||
    "HEAPBLOCKDEVICE": "HeapBlockDevice.json",
 | 
			
		||||
    "HEAPBLOCKDEVICE_AND_ETHERNET": "HeapBlockDeviceAndEthernetInterface.json",
 | 
			
		||||
    "HEAPBLOCKDEVICE_AND_ETHERNET_AND_EXPERIMENTAL": "HeapBlockDeviceAndEthernetAndExperimental.json",
 | 
			
		||||
    "HEAPBLOCKDEVICE_AND_WIFI": "HeapBlockDeviceAndWifiInterface.json",
 | 
			
		||||
    "ESP8266_WIFI" : "ESP8266Interface.json",
 | 
			
		||||
    "ISM43362_WIFI" : "ISM43362Interface.json",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
{
 | 
			
		||||
    "target_overrides": {
 | 
			
		||||
        "*": {
 | 
			
		||||
             "target.features_add": [
 | 
			
		||||
                 "EXPERIMENTAL_API"
 | 
			
		||||
             ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,21 +1,20 @@
 | 
			
		|||
{
 | 
			
		||||
    "K64F": {
 | 
			
		||||
        "nsapi.socket-stats-enable": true,
 | 
			
		||||
        "default_test_configuration": "HEAPBLOCKDEVICE_AND_ETHERNET",
 | 
			
		||||
        "default_test_configuration": "HEAPBLOCKDEVICE_AND_ETHERNET_AND_EXPERIMENTAL",
 | 
			
		||||
        "test_configurations": ["HEAPBLOCKDEVICE_AND_ETHERNET", "NANOSTACK_MAC_TESTER", "ESP8266_WIFI", "ETHERNET"]
 | 
			
		||||
    },
 | 
			
		||||
    "K66F": {
 | 
			
		||||
        "default_test_configuration": "EXPERIMENTAL"
 | 
			
		||||
    },
 | 
			
		||||
    "NUCLEO_F429ZI": {
 | 
			
		||||
        "nsapi.socket-stats-enable": true,
 | 
			
		||||
        "default_test_configuration": "HEAPBLOCKDEVICE_AND_ETHERNET",
 | 
			
		||||
        "test_configurations": ["HEAPBLOCKDEVICE_AND_ETHERNET", "NANOSTACK_MAC_TESTER"]
 | 
			
		||||
    },
 | 
			
		||||
    "DISCO_L475VG_IOT01A": {
 | 
			
		||||
        "nsapi.socket-stats-enable": true,
 | 
			
		||||
        "default_test_configuration": "NONE",
 | 
			
		||||
        "test_configurations": ["ISM43362_WIFI"]
 | 
			
		||||
    },
 | 
			
		||||
    "DISCO_F413ZH": {
 | 
			
		||||
        "nsapi.socket-stats-enable": true,
 | 
			
		||||
        "default_test_configuration": "NONE",
 | 
			
		||||
        "test_configurations": ["ISM43362_WIFI"]
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue