diff --git a/Makefile b/Makefile index 885948c112..650a97daaf 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ no_test: programs programs: lib mbedtls_test $(MAKE) -C programs -lib: +lib: generated_files $(MAKE) -C library tests: lib mbedtls_test diff --git a/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja b/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja index 39d69684e4..d02bbc5949 100644 --- a/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja +++ b/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.c.jinja @@ -82,7 +82,15 @@ #include "psa_crypto_se.h" #endif -__attribute__((unused)) +#if defined(_MSC_VER) +#pragma warning( push ) +#pragma warning( disable : 4100) +#define UN_USED_DISABLE +#else +#define UN_USED_DISABLE __attribute__((unused)) +#endif + +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_init( void ) { psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; @@ -107,7 +115,7 @@ static inline psa_status_t psa_driver_wrapper_init( void ) return( PSA_SUCCESS ); } -__attribute__((unused)) +UN_USED_DISABLE static inline void psa_driver_wrapper_free( void ) { #if defined(MBEDTLS_PSA_CRYPTO_SE_C) @@ -123,7 +131,7 @@ static inline void psa_driver_wrapper_free( void ) } /* Start delegation functions */ -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_sign_message( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, @@ -199,7 +207,7 @@ static inline psa_status_t psa_driver_wrapper_sign_message( signature_length ) ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_verify_message( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, @@ -271,7 +279,7 @@ static inline psa_status_t psa_driver_wrapper_verify_message( signature_length ) ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_sign_hash( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, @@ -376,7 +384,7 @@ static inline psa_status_t psa_driver_wrapper_sign_hash( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_verify_hash( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, @@ -478,7 +486,7 @@ static inline psa_status_t psa_driver_wrapper_verify_hash( } } -__attribute__((unused)) +UN_USED_DISABLE static inline uint32_t psa_driver_wrapper_sign_hash_get_num_ops( psa_sign_hash_interruptible_operation_t *operation ) { @@ -502,7 +510,7 @@ static inline uint32_t psa_driver_wrapper_sign_hash_get_num_ops( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline uint32_t psa_driver_wrapper_verify_hash_get_num_ops( psa_verify_hash_interruptible_operation_t *operation ) { @@ -527,7 +535,7 @@ static inline uint32_t psa_driver_wrapper_verify_hash_get_num_ops( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_sign_hash_start( psa_sign_hash_interruptible_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, @@ -581,7 +589,7 @@ static inline psa_status_t psa_driver_wrapper_sign_hash_start( return( status ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_sign_hash_complete( psa_sign_hash_interruptible_operation_t *operation, uint8_t *signature, size_t signature_size, @@ -609,7 +617,7 @@ static inline psa_status_t psa_driver_wrapper_sign_hash_complete( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_sign_hash_abort( psa_sign_hash_interruptible_operation_t *operation ) { @@ -629,7 +637,7 @@ static inline psa_status_t psa_driver_wrapper_sign_hash_abort( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_verify_hash_start( psa_verify_hash_interruptible_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, @@ -688,7 +696,7 @@ static inline psa_status_t psa_driver_wrapper_verify_hash_start( return( status ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_verify_hash_complete( psa_verify_hash_interruptible_operation_t *operation ) { @@ -710,7 +718,7 @@ static inline psa_status_t psa_driver_wrapper_verify_hash_complete( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_verify_hash_abort( psa_verify_hash_interruptible_operation_t *operation ) { @@ -743,7 +751,7 @@ static inline psa_status_t psa_driver_wrapper_verify_hash_abort( * \retval #PSA_ERROR_INVALID_ARGUMENT \emptydescription * \retval #PSA_ERROR_NOT_SUPPORTED \emptydescription */ - __attribute__((unused)) + UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_get_key_buffer_size_from_key_data( const psa_key_attributes_t *attributes, const uint8_t *data, @@ -788,7 +796,7 @@ static inline psa_status_t psa_driver_wrapper_get_key_buffer_size_from_key_data( * \retval #PSA_ERROR_INVALID_ARGUMENT * The key is declared with a lifetime not known to us. */ -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_get_key_buffer_size( const psa_key_attributes_t *attributes, size_t *key_buffer_size ) @@ -825,7 +833,7 @@ static inline psa_status_t psa_driver_wrapper_get_key_buffer_size( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_generate_key( const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length ) @@ -912,7 +920,7 @@ static inline psa_status_t psa_driver_wrapper_generate_key( return( status ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_import_key( const psa_key_attributes_t *attributes, const uint8_t *data, @@ -994,7 +1002,7 @@ bits {% endwith %} } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_export_key( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, @@ -1057,7 +1065,7 @@ data_length {% endwith %} } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_get_builtin_key( psa_drv_slot_number_t slot_number, psa_key_attributes_t *attributes, @@ -1089,7 +1097,7 @@ key_buffer_length {% endwith %} } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_copy_key( psa_key_attributes_t *attributes, const uint8_t *source_key, size_t source_key_length, @@ -1142,7 +1150,7 @@ target_key_buffer_length /* * Cipher functions */ -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_cipher_encrypt( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, @@ -1235,7 +1243,7 @@ static inline psa_status_t psa_driver_wrapper_cipher_encrypt( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_cipher_decrypt( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, @@ -1318,7 +1326,7 @@ static inline psa_status_t psa_driver_wrapper_cipher_decrypt( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_cipher_encrypt_setup( psa_cipher_operation_t *operation, const psa_key_attributes_t *attributes, @@ -1392,7 +1400,7 @@ static inline psa_status_t psa_driver_wrapper_cipher_encrypt_setup( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_cipher_decrypt_setup( psa_cipher_operation_t *operation, const psa_key_attributes_t *attributes, @@ -1466,7 +1474,7 @@ static inline psa_status_t psa_driver_wrapper_cipher_decrypt_setup( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_cipher_set_iv( psa_cipher_operation_t *operation, const uint8_t *iv, @@ -1502,7 +1510,7 @@ static inline psa_status_t psa_driver_wrapper_cipher_set_iv( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_cipher_update( psa_cipher_operation_t *operation, const uint8_t *input, @@ -1549,7 +1557,7 @@ static inline psa_status_t psa_driver_wrapper_cipher_update( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_cipher_finish( psa_cipher_operation_t *operation, uint8_t *output, @@ -1588,7 +1596,7 @@ static inline psa_status_t psa_driver_wrapper_cipher_finish( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_cipher_abort( psa_cipher_operation_t *operation ) { @@ -1629,7 +1637,7 @@ static inline psa_status_t psa_driver_wrapper_cipher_abort( /* * Hashing functions */ -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_hash_compute( psa_algorithm_t alg, const uint8_t *input, @@ -1666,7 +1674,7 @@ static inline psa_status_t psa_driver_wrapper_hash_compute( return( PSA_ERROR_NOT_SUPPORTED ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_hash_setup( psa_hash_operation_t *operation, psa_algorithm_t alg ) @@ -1700,7 +1708,7 @@ static inline psa_status_t psa_driver_wrapper_hash_setup( return( PSA_ERROR_NOT_SUPPORTED ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_hash_clone( const psa_hash_operation_t *source_operation, psa_hash_operation_t *target_operation ) @@ -1726,7 +1734,7 @@ static inline psa_status_t psa_driver_wrapper_hash_clone( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_hash_update( psa_hash_operation_t *operation, const uint8_t *input, @@ -1752,7 +1760,7 @@ static inline psa_status_t psa_driver_wrapper_hash_update( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_hash_finish( psa_hash_operation_t *operation, uint8_t *hash, @@ -1780,7 +1788,7 @@ static inline psa_status_t psa_driver_wrapper_hash_finish( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_hash_abort( psa_hash_operation_t *operation ) { @@ -1800,7 +1808,7 @@ static inline psa_status_t psa_driver_wrapper_hash_abort( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_encrypt( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, @@ -1853,7 +1861,7 @@ static inline psa_status_t psa_driver_wrapper_aead_encrypt( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_decrypt( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, @@ -1906,7 +1914,7 @@ static inline psa_status_t psa_driver_wrapper_aead_decrypt( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_encrypt_setup( psa_aead_operation_t *operation, const psa_key_attributes_t *attributes, @@ -1955,7 +1963,7 @@ static inline psa_status_t psa_driver_wrapper_aead_encrypt_setup( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_decrypt_setup( psa_aead_operation_t *operation, const psa_key_attributes_t *attributes, @@ -2006,7 +2014,7 @@ static inline psa_status_t psa_driver_wrapper_aead_decrypt_setup( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_set_nonce( psa_aead_operation_t *operation, const uint8_t *nonce, @@ -2041,7 +2049,7 @@ static inline psa_status_t psa_driver_wrapper_aead_set_nonce( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_set_lengths( psa_aead_operation_t *operation, size_t ad_length, @@ -2076,7 +2084,7 @@ static inline psa_status_t psa_driver_wrapper_aead_set_lengths( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_update_ad( psa_aead_operation_t *operation, const uint8_t *input, @@ -2111,7 +2119,7 @@ static inline psa_status_t psa_driver_wrapper_aead_update_ad( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_update( psa_aead_operation_t *operation, const uint8_t *input, @@ -2154,7 +2162,7 @@ static inline psa_status_t psa_driver_wrapper_aead_update( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_finish( psa_aead_operation_t *operation, uint8_t *ciphertext, @@ -2200,7 +2208,7 @@ static inline psa_status_t psa_driver_wrapper_aead_finish( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_verify( psa_aead_operation_t *operation, uint8_t *plaintext, @@ -2264,7 +2272,7 @@ static inline psa_status_t psa_driver_wrapper_aead_verify( return( PSA_ERROR_INVALID_ARGUMENT ); } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_aead_abort( psa_aead_operation_t *operation ) { @@ -2294,7 +2302,7 @@ static inline psa_status_t psa_driver_wrapper_aead_abort( /* * MAC functions */ -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_mac_compute( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, @@ -2363,7 +2371,7 @@ static inline psa_status_t psa_driver_wrapper_mac_compute( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_mac_sign_setup( psa_mac_operation_t *operation, const psa_key_attributes_t *attributes, @@ -2436,7 +2444,7 @@ static inline psa_status_t psa_driver_wrapper_mac_sign_setup( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_mac_verify_setup( psa_mac_operation_t *operation, const psa_key_attributes_t *attributes, @@ -2509,7 +2517,7 @@ static inline psa_status_t psa_driver_wrapper_mac_verify_setup( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_mac_update( psa_mac_operation_t *operation, const uint8_t *input, @@ -2543,7 +2551,7 @@ static inline psa_status_t psa_driver_wrapper_mac_update( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_mac_sign_finish( psa_mac_operation_t *operation, uint8_t *mac, @@ -2579,7 +2587,7 @@ static inline psa_status_t psa_driver_wrapper_mac_sign_finish( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_mac_verify_finish( psa_mac_operation_t *operation, const uint8_t *mac, @@ -2613,7 +2621,7 @@ static inline psa_status_t psa_driver_wrapper_mac_verify_finish( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_mac_abort( psa_mac_operation_t *operation ) { @@ -2642,7 +2650,7 @@ static inline psa_status_t psa_driver_wrapper_mac_abort( /* * Asymmetric cryptography */ -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_asymmetric_encrypt( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *input, @@ -2701,7 +2709,7 @@ static inline psa_status_t psa_driver_wrapper_asymmetric_encrypt( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_asymmetric_decrypt( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *input, @@ -2760,7 +2768,7 @@ static inline psa_status_t psa_driver_wrapper_asymmetric_decrypt( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_key_agreement( const psa_key_attributes_t *attributes, const uint8_t *key_buffer, @@ -2848,7 +2856,7 @@ static inline psa_status_t psa_driver_wrapper_key_agreement( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_pake_setup( psa_pake_operation_t *operation, const psa_crypto_driver_pake_inputs_t *inputs ) @@ -2893,7 +2901,7 @@ static inline psa_status_t psa_driver_wrapper_pake_setup( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_pake_output( psa_pake_operation_t *operation, psa_crypto_driver_pake_step_t step, @@ -2926,7 +2934,7 @@ static inline psa_status_t psa_driver_wrapper_pake_output( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_pake_input( psa_pake_operation_t *operation, psa_crypto_driver_pake_step_t step, @@ -2959,7 +2967,7 @@ static inline psa_status_t psa_driver_wrapper_pake_input( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_pake_get_implicit_key( psa_pake_operation_t *operation, uint8_t *output, size_t output_size, @@ -2989,7 +2997,7 @@ static inline psa_status_t psa_driver_wrapper_pake_get_implicit_key( } } -__attribute__((unused)) +UN_USED_DISABLE static inline psa_status_t psa_driver_wrapper_pake_abort( psa_pake_operation_t * operation ) { @@ -3012,4 +3020,8 @@ static inline psa_status_t psa_driver_wrapper_pake_abort( } } +#if defined(_MSC_VER) +#pragma warning( pop ) +#endif + #endif /* MBEDTLS_PSA_CRYPTO_C */