CC3XX: Make software fallback not tied to specific define
Where previously it was incompatible with other cryptographic
accelerators as it was disabling software algorithms whenever any
accelerator was enabled, regardless of if that accelerator supported the
required algorithms. The tooling will take care of this correctly
eventually, but for the time being a specific solution is required.
Change-Id: If7cd50fc52b23461edc2f1338c3b78c52275e5d2
Signed-off-by: Raef Coles <raef.coles@arm.com>
diff --git a/lib/ext/mbedcrypto/0004-Driver-wrapper-entry-points-for-CC3XX.patch b/lib/ext/mbedcrypto/0004-Driver-wrapper-entry-points-for-CC3XX.patch
index a8941fc..bf69e64 100644
--- a/lib/ext/mbedcrypto/0004-Driver-wrapper-entry-points-for-CC3XX.patch
+++ b/lib/ext/mbedcrypto/0004-Driver-wrapper-entry-points-for-CC3XX.patch
@@ -1,7 +1,7 @@
-From 353e4dce10bf7957715320b38dd8f96a9e51d7f9 Mon Sep 17 00:00:00 2001
+From 5dc86b266f0372a733f03db6d91003f134e1f51f Mon Sep 17 00:00:00 2001
From: Antonio de Angelis <Antonio.deAngelis@arm.com>
Date: Fri, 15 Jul 2022 12:41:34 +0100
-Subject: [PATCH 4/5] Driver wrapper entry points for CC3XX
+Subject: [PATCH 4/6] Driver wrapper entry points for CC3XX
Manually hardcode PSA driver entry points for the CC3XX driver
into psa_crypto_driver_wrappers.c (and provide missing entry point
@@ -17,9 +17,9 @@
.../psa/crypto_driver_contexts_composites.h | 9 +
.../psa/crypto_driver_contexts_primitives.h | 9 +
library/psa_crypto.c | 21 +-
- library/psa_crypto_driver_wrappers.c | 858 ++++++++++++++----
+ library/psa_crypto_driver_wrappers.c | 546 ++++++++++++++++--
library/psa_crypto_driver_wrappers.h | 14 +
- 5 files changed, 708 insertions(+), 203 deletions(-)
+ 5 files changed, 536 insertions(+), 63 deletions(-)
diff --git a/include/psa/crypto_driver_contexts_composites.h b/include/psa/crypto_driver_contexts_composites.h
index 3f1c8af4b..2fdf9561f 100644
@@ -123,7 +123,7 @@
if( status != PSA_SUCCESS )
{
diff --git a/library/psa_crypto_driver_wrappers.c b/library/psa_crypto_driver_wrappers.c
-index a5ae6a29e..2097db0cb 100644
+index a5ae6a29e..af8456f6e 100644
--- a/library/psa_crypto_driver_wrappers.c
+++ b/library/psa_crypto_driver_wrappers.c
@@ -45,6 +45,16 @@
@@ -154,10 +154,10 @@
/* Support the 'old' SE interface when asked to */
#if defined(MBEDTLS_PSA_CRYPTO_SE_C)
/* PSA_CRYPTO_DRIVER_PRESENT is defined when either a new-style or old-style
-@@ -128,6 +142,21 @@ psa_status_t psa_driver_wrapper_sign_message(
- /* Key is stored in the slot in export representation, so
- * cycle through all known transparent accelerators */
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
+@@ -143,8 +157,30 @@ psa_status_t psa_driver_wrapper_sign_message(
+ if( status != PSA_ERROR_NOT_SUPPORTED )
+ return( status );
+ #endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_sign_message(
+ attributes,
@@ -169,20 +169,10 @@
+ signature,
+ signature_size,
+ signature_length );
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- status = mbedtls_test_transparent_signature_sign_message(
- attributes,
-@@ -143,8 +172,19 @@ psa_status_t psa_driver_wrapper_sign_message(
- if( status != PSA_ERROR_NOT_SUPPORTED )
- return( status );
- #endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
- break;
-+#else /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+- break;
+ /* Fell through, meaning no accelerator supports this operation */
+ return( psa_sign_message_builtin( attributes,
+ key_buffer,
@@ -193,11 +183,10 @@
+ signature,
+ signature_size,
+ signature_length ) );
-+#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
/* Add cases for opaque driver here */
#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
-@@ -168,18 +208,9 @@ psa_status_t psa_driver_wrapper_sign_message(
+@@ -168,18 +204,9 @@ psa_status_t psa_driver_wrapper_sign_message(
default:
/* Key is declared with a lifetime not known to us */
(void)status;
@@ -218,10 +207,10 @@
}
psa_status_t psa_driver_wrapper_verify_message(
-@@ -202,6 +233,20 @@ psa_status_t psa_driver_wrapper_verify_message(
- /* Key is stored in the slot in export representation, so
- * cycle through all known transparent accelerators */
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
+@@ -216,8 +243,28 @@ psa_status_t psa_driver_wrapper_verify_message(
+ if( status != PSA_ERROR_NOT_SUPPORTED )
+ return( status );
+ #endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_verify_message(
+ attributes,
@@ -232,20 +221,10 @@
+ input_length,
+ signature,
+ signature_length );
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- status = mbedtls_test_transparent_signature_verify_message(
- attributes,
-@@ -216,8 +261,18 @@ psa_status_t psa_driver_wrapper_verify_message(
- if( status != PSA_ERROR_NOT_SUPPORTED )
- return( status );
- #endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
- break;
-+#else /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+- break;
+ /* Fell through, meaning no accelerator supports this operation */
+ return( psa_verify_message_builtin( attributes,
+ key_buffer,
@@ -255,11 +234,10 @@
+ input_length,
+ signature,
+ signature_length ) );
-+#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
/* Add cases for opaque driver here */
#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
-@@ -240,17 +295,9 @@ psa_status_t psa_driver_wrapper_verify_message(
+@@ -240,17 +287,9 @@ psa_status_t psa_driver_wrapper_verify_message(
default:
/* Key is declared with a lifetime not known to us */
(void)status;
@@ -279,10 +257,10 @@
}
psa_status_t psa_driver_wrapper_sign_hash(
-@@ -289,6 +336,20 @@ psa_status_t psa_driver_wrapper_sign_hash(
- /* Key is stored in the slot in export representation, so
- * cycle through all known transparent accelerators */
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
+@@ -303,6 +342,18 @@ psa_status_t psa_driver_wrapper_sign_hash(
+ if( status != PSA_ERROR_NOT_SUPPORTED )
+ return( status );
+ #endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_sign_hash( attributes,
+ key_buffer,
@@ -293,40 +271,12 @@
+ signature,
+ signature_size,
+ signature_length );
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- status = mbedtls_test_transparent_signature_sign_hash( attributes,
- key_buffer,
-@@ -303,7 +364,8 @@ psa_status_t psa_driver_wrapper_sign_hash(
- if( status != PSA_ERROR_NOT_SUPPORTED )
- return( status );
- #endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
-+ break;
-+#else /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
/* Fell through, meaning no accelerator supports this operation */
return( psa_sign_hash_builtin( attributes,
- key_buffer,
-@@ -314,6 +376,7 @@ psa_status_t psa_driver_wrapper_sign_hash(
- signature,
- signature_size,
- signature_length ) );
-+#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
-
- /* Add cases for opaque driver here */
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
-@@ -335,6 +398,7 @@ psa_status_t psa_driver_wrapper_sign_hash(
- (void)status;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_wrapper_verify_hash(
-@@ -373,6 +437,19 @@ psa_status_t psa_driver_wrapper_verify_hash(
+@@ -373,6 +424,17 @@ psa_status_t psa_driver_wrapper_verify_hash(
/* Key is stored in the slot in export representation, so
* cycle through all known transparent accelerators */
#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
@@ -339,41 +289,12 @@
+ hash_length,
+ signature,
+ signature_length );
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
#if defined(PSA_CRYPTO_DRIVER_TEST)
status = mbedtls_test_transparent_signature_verify_hash(
attributes,
-@@ -387,8 +464,8 @@ psa_status_t psa_driver_wrapper_verify_hash(
- if( status != PSA_ERROR_NOT_SUPPORTED )
- return( status );
- #endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
--
-+ break;
-+#else /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
- return( psa_verify_hash_builtin( attributes,
- key_buffer,
- key_buffer_size,
-@@ -397,6 +474,7 @@ psa_status_t psa_driver_wrapper_verify_hash(
- hash_length,
- signature,
- signature_length ) );
-+#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
-
- /* Add cases for opaque driver here */
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
-@@ -417,6 +495,7 @@ psa_status_t psa_driver_wrapper_verify_hash(
- (void)status;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- /** Calculate the key buffer size required to store the key material of a key
-@@ -548,6 +627,14 @@ psa_status_t psa_driver_wrapper_generate_key(
+@@ -548,6 +610,12 @@ psa_status_t psa_driver_wrapper_generate_key(
if( PSA_KEY_TYPE_IS_ASYMMETRIC( attributes->core.type ) )
{
/* Cycle through all known transparent accelerators */
@@ -381,17 +302,15 @@
+ status = cc3xx_generate_key(
+ attributes, key_buffer, key_buffer_size,
+ key_buffer_length );
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ break;
++ break;
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
#if defined(PSA_CRYPTO_DRIVER_TEST)
status = mbedtls_test_transparent_generate_key(
attributes, key_buffer, key_buffer_size,
-@@ -759,6 +846,18 @@ psa_status_t psa_driver_wrapper_export_public_key(
- /* Key is stored in the slot in export representation, so
- * cycle through all known transparent accelerators */
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
+@@ -771,6 +839,16 @@ psa_status_t psa_driver_wrapper_export_public_key(
+ if( status != PSA_ERROR_NOT_SUPPORTED )
+ return( status );
+ #endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_export_public_key(
+ attributes,
@@ -400,46 +319,15 @@
+ data,
+ data_size,
+ data_length );
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- status = mbedtls_test_transparent_export_public_key(
- attributes,
-@@ -771,7 +870,8 @@ psa_status_t psa_driver_wrapper_export_public_key(
- if( status != PSA_ERROR_NOT_SUPPORTED )
- return( status );
- #endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
-+ break;
-+#else /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
/* Fell through, meaning no accelerator supports this operation */
return( psa_export_public_key_internal( attributes,
- key_buffer,
-@@ -779,6 +879,7 @@ psa_status_t psa_driver_wrapper_export_public_key(
- data,
- data_size,
- data_length ) );
-+#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
-
- /* Add cases for opaque driver here */
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
-@@ -796,6 +897,7 @@ psa_status_t psa_driver_wrapper_export_public_key(
- /* Key is declared with a lifetime not known to us */
- return( status );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_wrapper_get_builtin_key(
-@@ -908,9 +1010,24 @@ psa_status_t psa_driver_wrapper_cipher_encrypt(
+@@ -908,6 +986,20 @@ psa_status_t psa_driver_wrapper_cipher_encrypt(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
--
--#if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_cipher_encrypt( attributes,
+ key_buffer,
@@ -452,30 +340,15 @@
+ output,
+ output_size,
+ output_length );
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+ break;
-+#elif defined(MBEDTLS_PSA_BUILTIN_CIPHER)
- return( mbedtls_psa_cipher_encrypt( attributes,
- key_buffer,
- key_buffer_size,
-@@ -959,6 +1076,7 @@ psa_status_t psa_driver_wrapper_cipher_encrypt(
- (void)output_length;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
- psa_status_t psa_driver_wrapper_cipher_decrypt(
-@@ -996,9 +1114,22 @@ psa_status_t psa_driver_wrapper_cipher_decrypt(
+ #if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
+@@ -996,6 +1088,18 @@ psa_status_t psa_driver_wrapper_cipher_decrypt(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
--
--#if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_cipher_decrypt( attributes,
+ key_buffer,
@@ -486,29 +359,15 @@
+ output,
+ output_size,
+ output_length );
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+ break;
-+#elif defined(MBEDTLS_PSA_BUILTIN_CIPHER)
- return( mbedtls_psa_cipher_decrypt( attributes,
- key_buffer,
- key_buffer_size,
-@@ -1041,6 +1172,7 @@ psa_status_t psa_driver_wrapper_cipher_decrypt(
- (void)output_length;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
- psa_status_t psa_driver_wrapper_cipher_encrypt_setup(
-@@ -1073,8 +1205,22 @@ psa_status_t psa_driver_wrapper_cipher_encrypt_setup(
+ #if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
+@@ -1073,6 +1177,16 @@ psa_status_t psa_driver_wrapper_cipher_encrypt_setup(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
--#if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_cipher_encrypt_setup(
+ &operation->ctx.cc3xx_driver_ctx,
@@ -516,32 +375,16 @@
+ key_buffer,
+ key_buffer_size,
+ alg );
-+ /* Declared with fallback == true */
-+ if( status == PSA_SUCCESS )
-+ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
-+
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+ break;
-+#elif defined(MBEDTLS_PSA_BUILTIN_CIPHER)
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
/* Fell through, meaning no accelerator supports this operation */
- status = mbedtls_psa_cipher_encrypt_setup( &operation->ctx.mbedtls_ctx,
- attributes,
-@@ -1114,6 +1260,7 @@ psa_status_t psa_driver_wrapper_cipher_encrypt_setup(
- (void)alg;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_wrapper_cipher_decrypt_setup(
-@@ -1146,8 +1293,22 @@ psa_status_t psa_driver_wrapper_cipher_decrypt_setup(
+@@ -1146,6 +1260,16 @@ psa_status_t psa_driver_wrapper_cipher_decrypt_setup(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
--#if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_cipher_decrypt_setup(
+ &operation->ctx.cc3xx_driver_ctx,
@@ -549,41 +392,13 @@
+ key_buffer,
+ key_buffer_size,
+ alg );
-+ /* Declared with fallback == true */
-+ if( status == PSA_SUCCESS )
-+ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
-+
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+ break;
-+#elif defined(MBEDTLS_PSA_BUILTIN_CIPHER)
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
/* Fell through, meaning no accelerator supports this operation */
- status = mbedtls_psa_cipher_decrypt_setup( &operation->ctx.mbedtls_ctx,
- attributes,
-@@ -1186,6 +1347,7 @@ psa_status_t psa_driver_wrapper_cipher_decrypt_setup(
- (void)alg;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_wrapper_cipher_set_iv(
-@@ -1195,13 +1357,6 @@ psa_status_t psa_driver_wrapper_cipher_set_iv(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_cipher_set_iv( &operation->ctx.mbedtls_ctx,
-- iv,
-- iv_length ) );
--#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -1214,6 +1369,17 @@ psa_status_t psa_driver_wrapper_cipher_set_iv(
+@@ -1214,6 +1338,12 @@ psa_status_t psa_driver_wrapper_cipher_set_iv(
&operation->ctx.opaque_test_driver_ctx,
iv, iv_length ) );
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -593,32 +408,10 @@
+ &operation->ctx.cc3xx_driver_ctx,
+ iv, iv_length ) );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_CIPHER)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_cipher_set_iv( &operation->ctx.mbedtls_ctx,
-+ iv,
-+ iv_length ) );
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -1233,16 +1399,6 @@ psa_status_t psa_driver_wrapper_cipher_update(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_cipher_update( &operation->ctx.mbedtls_ctx,
-- input,
-- input_length,
-- output,
-- output_size,
-- output_length ) );
--#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -1257,6 +1413,21 @@ psa_status_t psa_driver_wrapper_cipher_update(
+@@ -1257,6 +1387,13 @@ psa_status_t psa_driver_wrapper_cipher_update(
input, input_length,
output, output_size, output_length ) );
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -629,33 +422,10 @@
+ input, input_length,
+ output, output_size, output_length ) );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_CIPHER)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_cipher_update( &operation->ctx.mbedtls_ctx,
-+ input,
-+ input_length,
-+ output,
-+ output_size,
-+ output_length ) );
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -1277,14 +1448,6 @@ psa_status_t psa_driver_wrapper_cipher_finish(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_cipher_finish( &operation->ctx.mbedtls_ctx,
-- output,
-- output_size,
-- output_length ) );
--#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -1297,6 +1460,18 @@ psa_status_t psa_driver_wrapper_cipher_finish(
+@@ -1297,6 +1434,12 @@ psa_status_t psa_driver_wrapper_cipher_finish(
&operation->ctx.opaque_test_driver_ctx,
output, output_size, output_length ) );
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -665,28 +435,10 @@
+ &operation->ctx.cc3xx_driver_ctx,
+ output, output_size, output_length ) );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX*/
-+#elif defined(MBEDTLS_PSA_BUILTIN_CIPHER)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_cipher_finish( &operation->ctx.mbedtls_ctx,
-+ output,
-+ output_size,
-+ output_length ) );
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -1314,11 +1489,6 @@ psa_status_t psa_driver_wrapper_cipher_abort(
-
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_CIPHER)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_cipher_abort( &operation->ctx.mbedtls_ctx ) );
--#endif /* MBEDTLS_PSA_BUILTIN_CIPHER */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -1337,6 +1507,18 @@ psa_status_t psa_driver_wrapper_cipher_abort(
+@@ -1337,6 +1480,15 @@ psa_status_t psa_driver_wrapper_cipher_abort(
sizeof( operation->ctx.opaque_test_driver_ctx ) );
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -699,13 +451,10 @@
+ sizeof( operation->ctx.cc3xx_driver_ctx ) );
+ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_CIPHER)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_cipher_abort( &operation->ctx.mbedtls_ctx ) );
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -1358,15 +1540,21 @@ psa_status_t psa_driver_wrapper_hash_compute(
+@@ -1358,13 +1510,19 @@ psa_status_t psa_driver_wrapper_hash_compute(
psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
/* Try accelerators first */
@@ -715,21 +464,19 @@
alg, input, input_length, hash, hash_size, hash_length );
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
- #endif
+-#endif
-
++#endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_hash_compute(alg, input, input_length, hash, hash_size,
+ hash_length);
-+ if (status != PSA_ERROR_NOT_SUPPORTED)
-+ return status;
-+#endif
-+#elif defined(MBEDTLS_PSA_BUILTIN_HASH)
++ return status;
++#endif /* defined(PSA_CRYPTO_DRIVER_CC3XX) */
++#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
/* If software fallback is compiled in, try fallback */
--#if defined(MBEDTLS_PSA_BUILTIN_HASH)
+ #if defined(MBEDTLS_PSA_BUILTIN_HASH)
status = mbedtls_psa_hash_compute( alg, input, input_length,
- hash, hash_size, hash_length );
- if( status != PSA_ERROR_NOT_SUPPORTED )
-@@ -1390,6 +1578,7 @@ psa_status_t psa_driver_wrapper_hash_setup(
+@@ -1390,6 +1548,7 @@ psa_status_t psa_driver_wrapper_hash_setup(
psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
/* Try setup on accelerators first */
@@ -737,27 +484,34 @@
#if defined(PSA_CRYPTO_DRIVER_TEST)
status = mbedtls_test_transparent_hash_setup(
&operation->ctx.test_driver_ctx, alg );
-@@ -1400,8 +1589,18 @@ psa_status_t psa_driver_wrapper_hash_setup(
- return( status );
- #endif
+@@ -1398,17 +1557,23 @@ psa_status_t psa_driver_wrapper_hash_setup(
+ if( status != PSA_ERROR_NOT_SUPPORTED )
+ return( status );
+-#endif
++#endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_hash_setup(&operation->ctx.cc3xx_driver_ctx, alg);
-+ if( status == PSA_SUCCESS )
-+ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
-+
-+ if( status != PSA_ERROR_NOT_SUPPORTED) {
-+ return( status );
-+ }
++ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+
-+#elif defined(MBEDTLS_PSA_BUILTIN_HASH)
- /* If software fallback is compiled in, try fallback */
--#if defined(MBEDTLS_PSA_BUILTIN_HASH)
++#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+
+- /* If software fallback is compiled in, try fallback */
+ #if defined(MBEDTLS_PSA_BUILTIN_HASH)
++ /* If software fallback is compiled in, try fallback */
status = mbedtls_psa_hash_setup( &operation->ctx.mbedtls_ctx, alg );
if( status == PSA_SUCCESS )
operation->id = PSA_CRYPTO_MBED_TLS_DRIVER_ID;
-@@ -1422,18 +1621,26 @@ psa_status_t psa_driver_wrapper_hash_clone(
+
+ if( status != PSA_ERROR_NOT_SUPPORTED )
+ return( status );
+-#endif
++#endif /* defined(MBEDTLS_PSA_BUILTIN_HASH) */
+ /* Nothing left to try if we fall through here */
+ (void) status;
+ (void) operation;
+@@ -1422,19 +1587,29 @@ psa_status_t psa_driver_wrapper_hash_clone(
{
switch( source_operation->id )
{
@@ -774,23 +528,27 @@
return( mbedtls_test_transparent_hash_clone(
&source_operation->ctx.test_driver_ctx,
&target_operation->ctx.test_driver_ctx ) );
-+#endif
+-#endif
++#endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ case PSA_CRYPTO_CC3XX_DRIVER_ID:
+ target_operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
+ return( cc3xx_hash_clone(
+ &source_operation->ctx.cc3xx_driver_ctx,
+ &target_operation->ctx.cc3xx_driver_ctx ) );
++
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_HASH)
++#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
++#if defined(MBEDTLS_PSA_BUILTIN_HASH)
+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
+ target_operation->id = PSA_CRYPTO_MBED_TLS_DRIVER_ID;
+ return( mbedtls_psa_hash_clone( &source_operation->ctx.mbedtls_ctx,
+ &target_operation->ctx.mbedtls_ctx ) );
- #endif
++#endif /* defined(MBEDTLS_PSA_BUILTIN_HASH) */
default:
(void) target_operation;
-@@ -1448,16 +1655,23 @@ psa_status_t psa_driver_wrapper_hash_update(
+ return( PSA_ERROR_BAD_STATE );
+@@ -1448,17 +1623,25 @@ psa_status_t psa_driver_wrapper_hash_update(
{
switch( operation->id )
{
@@ -805,21 +563,24 @@
return( mbedtls_test_transparent_hash_update(
&operation->ctx.test_driver_ctx,
input, input_length ) );
-+#endif
+-#endif
++#endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ case PSA_CRYPTO_CC3XX_DRIVER_ID:
+ return( cc3xx_hash_update(
+ &operation->ctx.cc3xx_driver_ctx,
+ input, input_length ) );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_HASH)
++#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
++#if defined(MBEDTLS_PSA_BUILTIN_HASH)
+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
+ return( mbedtls_psa_hash_update( &operation->ctx.mbedtls_ctx,
+ input, input_length ) );
- #endif
++#endif /* defined(MBEDTLS_PSA_BUILTIN_HASH) */
default:
(void) input;
-@@ -1474,16 +1688,23 @@ psa_status_t psa_driver_wrapper_hash_finish(
+ (void) input_length;
+@@ -1474,17 +1657,25 @@ psa_status_t psa_driver_wrapper_hash_finish(
{
switch( operation->id )
{
@@ -834,21 +595,24 @@
return( mbedtls_test_transparent_hash_finish(
&operation->ctx.test_driver_ctx,
hash, hash_size, hash_length ) );
-+#endif
+-#endif
++#endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ case PSA_CRYPTO_CC3XX_DRIVER_ID:
+ return( cc3xx_hash_finish(
+ &operation->ctx.cc3xx_driver_ctx,
+ hash, hash_size, hash_length ) );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_HASH)
++#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
++#if defined(MBEDTLS_PSA_BUILTIN_HASH)
+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
+ return( mbedtls_psa_hash_finish( &operation->ctx.mbedtls_ctx,
+ hash, hash_size, hash_length ) );
- #endif
++#endif /* defined(MBEDTLS_PSA_BUILTIN_HASH) */
default:
(void) hash;
-@@ -1498,14 +1719,20 @@ psa_status_t psa_driver_wrapper_hash_abort(
+ (void) hash_size;
+@@ -1498,15 +1689,22 @@ psa_status_t psa_driver_wrapper_hash_abort(
{
switch( operation->id )
{
@@ -861,23 +625,25 @@
case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
return( mbedtls_test_transparent_hash_abort(
&operation->ctx.test_driver_ctx ) );
-+#endif
+-#endif
++#endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ case PSA_CRYPTO_CC3XX_DRIVER_ID:
+ return( cc3xx_hash_abort(
+ &operation->ctx.cc3xx_driver_ctx ) );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_HASH)
++#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
++#if defined(MBEDTLS_PSA_BUILTIN_HASH)
+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
+ return( mbedtls_psa_hash_abort( &operation->ctx.mbedtls_ctx ) );
- #endif
++#endif /* defined(MBEDTLS_PSA_BUILTIN_HASH) */
default:
return( PSA_ERROR_BAD_STATE );
-@@ -1544,7 +1771,20 @@ psa_status_t psa_driver_wrapper_aead_encrypt(
+ }
+@@ -1544,6 +1742,17 @@ psa_status_t psa_driver_wrapper_aead_encrypt(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_aead_encrypt(
+ attributes, key_buffer, key_buffer_size,
@@ -887,35 +653,15 @@
+ plaintext, plaintext_length,
+ ciphertext, ciphertext_size, ciphertext_length );
+
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+ break;
-+#else /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
/* Fell through, meaning no accelerator supports this operation */
- return( mbedtls_psa_aead_encrypt(
-@@ -1554,6 +1794,7 @@ psa_status_t psa_driver_wrapper_aead_encrypt(
- additional_data, additional_data_length,
- plaintext, plaintext_length,
- ciphertext, ciphertext_size, ciphertext_length ) );
-+#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
-
- /* Add cases for opaque driver here */
-
-@@ -1562,6 +1803,7 @@ psa_status_t psa_driver_wrapper_aead_encrypt(
- (void)status;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_wrapper_aead_decrypt(
-@@ -1596,7 +1838,20 @@ psa_status_t psa_driver_wrapper_aead_decrypt(
+@@ -1596,6 +1805,17 @@ psa_status_t psa_driver_wrapper_aead_decrypt(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_aead_decrypt(
+ attributes, key_buffer, key_buffer_size,
@@ -925,31 +671,12 @@
+ ciphertext, ciphertext_length,
+ plaintext, plaintext_size, plaintext_length );
+
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+ break;
-+#else /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
/* Fell through, meaning no accelerator supports this operation */
- return( mbedtls_psa_aead_decrypt(
-@@ -1606,6 +1861,7 @@ psa_status_t psa_driver_wrapper_aead_decrypt(
- additional_data, additional_data_length,
- ciphertext, ciphertext_length,
- plaintext, plaintext_size, plaintext_length ) );
-+#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
-
- /* Add cases for opaque driver here */
-
-@@ -1614,6 +1870,7 @@ psa_status_t psa_driver_wrapper_aead_decrypt(
- (void)status;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_get_tag_len( psa_aead_operation_t *operation,
-@@ -1622,14 +1879,27 @@ psa_status_t psa_driver_get_tag_len( psa_aead_operation_t *operation,
+@@ -1622,14 +1842,30 @@ psa_status_t psa_driver_get_tag_len( psa_aead_operation_t *operation,
if( operation == NULL || tag_len == NULL )
return( PSA_ERROR_INVALID_ARGUMENT );
@@ -965,28 +692,31 @@
- *tag_len = operation->ctx.transparent_test_driver_ctx.tag_length;
- return ( PSA_SUCCESS );
-#endif
+-#endif
+- *tag_len = operation->ctx.mbedtls_ctx.tag_length;
+- return ( PSA_SUCCESS );
+ case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
+ *tag_len = operation->ctx.transparent_test_driver_ctx.tag_length;
+ return ( PSA_SUCCESS );
- #endif
-- *tag_len = operation->ctx.mbedtls_ctx.tag_length;
-- return ( PSA_SUCCESS );
-+#elif defined(MBEDTLS_PSA_BUILTIN_AEAD)
++#endif /* defined(PSA_CRYPTO_DRIVER_TEST) */
++#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
++#if defined(MBEDTLS_PSA_BUILTIN_AEAD)
+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
+ *tag_len = operation->ctx.mbedtls_ctx.tag_length;
+ return ( PSA_SUCCESS );
-+#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
++#endif /* defined(MBEDTLS_PSA_BUILTIN_AEAD) */
++ default:
++ return( PSA_ERROR_INVALID_ARGUMENT );
+ }
+
+ return( PSA_ERROR_INVALID_ARGUMENT );
}
psa_status_t psa_driver_wrapper_aead_encrypt_setup(
-@@ -1660,7 +1930,18 @@ psa_status_t psa_driver_wrapper_aead_encrypt_setup(
+@@ -1660,6 +1896,15 @@ psa_status_t psa_driver_wrapper_aead_encrypt_setup(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
+ status = cc3xx_aead_encrypt_setup(
@@ -994,39 +724,15 @@
+ attributes, key_buffer, key_buffer_size,
+ alg );
+
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#else /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
/* Fell through, meaning no accelerator supports this operation */
- operation->id = PSA_CRYPTO_MBED_TLS_DRIVER_ID;
-@@ -1668,9 +1949,8 @@ psa_status_t psa_driver_wrapper_aead_encrypt_setup(
- &operation->ctx.mbedtls_ctx, attributes,
- key_buffer, key_buffer_size,
- alg );
--
-- return( status );
--
-+#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
-+ break;
- /* Add cases for opaque driver here */
-
- default:
-@@ -1678,6 +1958,7 @@ psa_status_t psa_driver_wrapper_aead_encrypt_setup(
- (void)status;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_wrapper_aead_decrypt_setup(
-@@ -1709,7 +1990,19 @@ psa_status_t psa_driver_wrapper_aead_decrypt_setup(
+@@ -1709,6 +1954,16 @@ psa_status_t psa_driver_wrapper_aead_decrypt_setup(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
+ status = cc3xx_aead_decrypt_setup(
@@ -1035,50 +741,12 @@
+ key_buffer, key_buffer_size,
+ alg );
+
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#else /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
/* Fell through, meaning no accelerator supports this operation */
- operation->id = PSA_CRYPTO_MBED_TLS_DRIVER_ID;
-@@ -1718,9 +2011,8 @@ psa_status_t psa_driver_wrapper_aead_decrypt_setup(
- attributes,
- key_buffer, key_buffer_size,
- alg );
--
-- return( status );
--
-+#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
-+ break;
- /* Add cases for opaque driver here */
-
- default:
-@@ -1728,6 +2020,7 @@ psa_status_t psa_driver_wrapper_aead_decrypt_setup(
- (void)status;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_wrapper_aead_set_nonce(
-@@ -1737,14 +2030,6 @@ psa_status_t psa_driver_wrapper_aead_set_nonce(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_AEAD)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_aead_set_nonce( &operation->ctx.mbedtls_ctx,
-- nonce,
-- nonce_length ) );
--
--#endif /* MBEDTLS_PSA_BUILTIN_AEAD */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -1755,6 +2040,20 @@ psa_status_t psa_driver_wrapper_aead_set_nonce(
+@@ -1755,6 +2010,13 @@ psa_status_t psa_driver_wrapper_aead_set_nonce(
/* Add cases for opaque driver here */
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -1088,33 +756,11 @@
+ &operation->ctx.cc3xx_driver_ctx,
+ nonce, nonce_length ) );
+
-+ /* Add cases for opaque driver here */
-+
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_AEAD)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_aead_set_nonce( &operation->ctx.mbedtls_ctx,
-+ nonce,
-+ nonce_length ) );
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -1771,14 +2070,6 @@ psa_status_t psa_driver_wrapper_aead_set_lengths(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_AEAD)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_aead_set_lengths( &operation->ctx.mbedtls_ctx,
-- ad_length,
-- plaintext_length ) );
--
--#endif /* MBEDTLS_PSA_BUILTIN_AEAD */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -1789,6 +2080,20 @@ psa_status_t psa_driver_wrapper_aead_set_lengths(
+@@ -1789,6 +2051,13 @@ psa_status_t psa_driver_wrapper_aead_set_lengths(
/* Add cases for opaque driver here */
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -1124,33 +770,11 @@
+ &operation->ctx.cc3xx_driver_ctx,
+ ad_length, plaintext_length ) );
+
-+ /* Add cases for opaque driver here */
-+
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_AEAD)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_aead_set_lengths( &operation->ctx.mbedtls_ctx,
-+ ad_length,
-+ plaintext_length ) );
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -1805,14 +2110,6 @@ psa_status_t psa_driver_wrapper_aead_update_ad(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_AEAD)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_aead_update_ad( &operation->ctx.mbedtls_ctx,
-- input,
-- input_length ) );
--
--#endif /* MBEDTLS_PSA_BUILTIN_AEAD */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -1823,6 +2120,20 @@ psa_status_t psa_driver_wrapper_aead_update_ad(
+@@ -1823,6 +2092,13 @@ psa_status_t psa_driver_wrapper_aead_update_ad(
/* Add cases for opaque driver here */
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -1160,34 +784,11 @@
+ &operation->ctx.cc3xx_driver_ctx,
+ input, input_length ) );
+
-+ /* Add cases for opaque driver here */
-+
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_AEAD)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_aead_update_ad( &operation->ctx.mbedtls_ctx,
-+ input,
-+ input_length ) );
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -1842,15 +2153,6 @@ psa_status_t psa_driver_wrapper_aead_update(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_AEAD)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_aead_update( &operation->ctx.mbedtls_ctx,
-- input, input_length,
-- output, output_size,
-- output_length ) );
--
--#endif /* MBEDTLS_PSA_BUILTIN_AEAD */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -1862,6 +2164,22 @@ psa_status_t psa_driver_wrapper_aead_update(
+@@ -1862,6 +2138,14 @@ psa_status_t psa_driver_wrapper_aead_update(
/* Add cases for opaque driver here */
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -1198,36 +799,11 @@
+ input, input_length, output, output_size,
+ output_length ) );
+
-+ /* Add cases for opaque driver here */
-+
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_AEAD)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_aead_update( &operation->ctx.mbedtls_ctx,
-+ input, input_length,
-+ output, output_size,
-+ output_length ) );
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -1885,16 +2203,6 @@ psa_status_t psa_driver_wrapper_aead_finish(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_AEAD)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_aead_finish( &operation->ctx.mbedtls_ctx,
-- ciphertext,
-- ciphertext_size,
-- ciphertext_length, tag,
-- tag_size, tag_length ) );
--
--#endif /* MBEDTLS_PSA_BUILTIN_AEAD */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -1906,6 +2214,23 @@ psa_status_t psa_driver_wrapper_aead_finish(
+@@ -1906,6 +2190,14 @@ psa_status_t psa_driver_wrapper_aead_finish(
/* Add cases for opaque driver here */
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -1238,35 +814,14 @@
+ ciphertext, ciphertext_size,
+ ciphertext_length, tag, tag_size, tag_length ) );
+
-+ /* Add cases for opaque driver here */
-+
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_AEAD)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_aead_finish( &operation->ctx.mbedtls_ctx,
-+ ciphertext,
-+ ciphertext_size,
-+ ciphertext_length, tag,
-+ tag_size, tag_length ) );
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -1929,7 +2254,28 @@ psa_status_t psa_driver_wrapper_aead_verify(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_AEAD)
-+#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
-+#if defined(PSA_CRYPTO_DRIVER_TEST)
-+ case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-+ return( mbedtls_test_transparent_aead_verify(
-+ &operation->ctx.transparent_test_driver_ctx,
-+ plaintext, plaintext_size,
-+ plaintext_length, tag, tag_length ) );
-+
-+ /* Add cases for opaque driver here */
-+
-+#endif /* PSA_CRYPTO_DRIVER_TEST */
+@@ -1970,6 +2262,14 @@ psa_status_t psa_driver_wrapper_aead_verify(
+ /* Add cases for opaque driver here */
+
+ #endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ case PSA_CRYPTO_CC3XX_DRIVER_ID:
+ return( cc3xx_aead_verify(
@@ -1274,48 +829,11 @@
+ plaintext, plaintext_size,
+ plaintext_length, tag, tag_length ) );
+
-+ /* Add cases for opaque driver here */
-+
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_AEAD)
- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
- {
- psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
-@@ -1956,20 +2302,6 @@ psa_status_t psa_driver_wrapper_aead_verify(
-
- return( status );
- }
--
--#endif /* MBEDTLS_PSA_BUILTIN_AEAD */
--
--#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
--#if defined(PSA_CRYPTO_DRIVER_TEST)
-- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-- return( mbedtls_test_transparent_aead_verify(
-- &operation->ctx.transparent_test_driver_ctx,
-- plaintext, plaintext_size,
-- plaintext_length, tag, tag_length ) );
--
-- /* Add cases for opaque driver here */
--
--#endif /* PSA_CRYPTO_DRIVER_TEST */
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -1987,12 +2319,6 @@ psa_status_t psa_driver_wrapper_aead_abort(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_AEAD)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_aead_abort( &operation->ctx.mbedtls_ctx ) );
--
--#endif /* MBEDTLS_PSA_BUILTIN_AEAD */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -2002,6 +2328,17 @@ psa_status_t psa_driver_wrapper_aead_abort(
+@@ -2002,6 +2302,12 @@ psa_status_t psa_driver_wrapper_aead_abort(
/* Add cases for opaque driver here */
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -1324,144 +842,67 @@
+ return( cc3xx_aead_abort(
+ &operation->ctx.cc3xx_driver_ctx ) );
+
-+ /* Add cases for opaque driver here */
-+
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+#elif defined(MBEDTLS_PSA_BUILTIN_AEAD)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_aead_abort( &operation->ctx.mbedtls_ctx ) );
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
}
-@@ -2041,8 +2378,16 @@ psa_status_t psa_driver_wrapper_mac_compute(
+@@ -2041,6 +2347,12 @@ psa_status_t psa_driver_wrapper_mac_compute(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
--#if defined(MBEDTLS_PSA_BUILTIN_MAC)
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_mac_compute(attributes, key_buffer, key_buffer_size, alg,
+ input, input_length,
+ mac, mac_size, mac_length);
-+ /* Declared with fallback == true */
-+ if( status != PSA_ERROR_NOT_SUPPORTED )
-+ return( status );
++ return( status );
+#endif /* PSA_CRYPTO_DRIVER_CC3XX */
-+ break;
-+#elif defined(MBEDTLS_PSA_BUILTIN_MAC)
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #if defined(MBEDTLS_PSA_BUILTIN_MAC)
/* Fell through, meaning no accelerator supports this operation */
- status = mbedtls_psa_mac_compute(
- attributes, key_buffer, key_buffer_size, alg,
-@@ -2077,6 +2422,7 @@ psa_status_t psa_driver_wrapper_mac_compute(
- (void) status;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_wrapper_mac_sign_setup(
-@@ -2109,8 +2455,19 @@ psa_status_t psa_driver_wrapper_mac_sign_setup(
+@@ -2109,6 +2421,15 @@ psa_status_t psa_driver_wrapper_mac_sign_setup(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
--#if defined(MBEDTLS_PSA_BUILTIN_MAC)
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_mac_sign_setup(
+ &operation->ctx.cc3xx_driver_ctx,
+ attributes,
+ key_buffer, key_buffer_size,
+ alg);
-+ if (status == PSA_SUCCESS)
-+ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
-+ if (status != PSA_ERROR_NOT_SUPPORTED)
-+ return status;
-+#endif
-+ break;
-+#elif defined(MBEDTLS_PSA_BUILTIN_MAC)
++ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
++ return status;
++#endif /* defined(PSA_CRYPTO_DRIVER_CC3XX) */
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #if defined(MBEDTLS_PSA_BUILTIN_MAC)
/* Fell through, meaning no accelerator supports this operation */
- status = mbedtls_psa_mac_sign_setup( &operation->ctx.mbedtls_ctx,
- attributes,
-@@ -2149,6 +2506,7 @@ psa_status_t psa_driver_wrapper_mac_sign_setup(
- (void) alg;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_wrapper_mac_verify_setup(
-@@ -2181,8 +2539,19 @@ psa_status_t psa_driver_wrapper_mac_verify_setup(
+@@ -2181,6 +2502,15 @@ psa_status_t psa_driver_wrapper_mac_verify_setup(
if( status != PSA_ERROR_NOT_SUPPORTED )
return( status );
#endif /* PSA_CRYPTO_DRIVER_TEST */
--#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
--#if defined(MBEDTLS_PSA_BUILTIN_MAC)
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ status = cc3xx_mac_verify_setup(
+ &operation->ctx.cc3xx_driver_ctx,
+ attributes,
+ key_buffer, key_buffer_size,
+ alg);
-+ if (status == PSA_SUCCESS)
-+ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
-+ if (status != PSA_ERROR_NOT_SUPPORTED)
-+ return status;
-+#endif
-+ break;
-+#elif defined(MBEDTLS_PSA_BUILTIN_MAC)
++ operation->id = PSA_CRYPTO_CC3XX_DRIVER_ID;
++ return status;
++#endif /* defined(PSA_CRYPTO_DRIVER_CC3XX) */
+ #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
+ #if defined(MBEDTLS_PSA_BUILTIN_MAC)
/* Fell through, meaning no accelerator supports this operation */
- status = mbedtls_psa_mac_verify_setup( &operation->ctx.mbedtls_ctx,
- attributes,
-@@ -2221,6 +2590,7 @@ psa_status_t psa_driver_wrapper_mac_verify_setup(
- (void) alg;
- return( PSA_ERROR_INVALID_ARGUMENT );
- }
-+ return status;
- }
-
- psa_status_t psa_driver_wrapper_mac_update(
-@@ -2230,12 +2600,6 @@ psa_status_t psa_driver_wrapper_mac_update(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_MAC)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_mac_update( &operation->ctx.mbedtls_ctx,
-- input, input_length ) );
--#endif /* MBEDTLS_PSA_BUILTIN_MAC */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -2248,6 +2612,14 @@ psa_status_t psa_driver_wrapper_mac_update(
+@@ -2248,6 +2578,10 @@ psa_status_t psa_driver_wrapper_mac_update(
&operation->ctx.opaque_test_driver_ctx,
input, input_length ) );
#endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ case PSA_CRYPTO_CC3XX_DRIVER_ID:
+ return(cc3xx_mac_update(&operation->ctx.cc3xx_driver_ctx, input, input_length));
-+#endif
-+#elif defined(MBEDTLS_PSA_BUILTIN_MAC)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_mac_update( &operation->ctx.mbedtls_ctx,
-+ input, input_length ) );
++#endif /* defined(PSA_CRYPTO_DRIVER_CC3XX) */
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
default:
(void) input;
-@@ -2264,12 +2636,6 @@ psa_status_t psa_driver_wrapper_mac_sign_finish(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_MAC)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_mac_sign_finish( &operation->ctx.mbedtls_ctx,
-- mac, mac_size, mac_length ) );
--#endif /* MBEDTLS_PSA_BUILTIN_MAC */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -2282,6 +2648,15 @@ psa_status_t psa_driver_wrapper_mac_sign_finish(
+@@ -2282,6 +2616,11 @@ psa_status_t psa_driver_wrapper_mac_sign_finish(
&operation->ctx.opaque_test_driver_ctx,
mac, mac_size, mac_length ) );
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -1469,28 +910,11 @@
+ case PSA_CRYPTO_CC3XX_DRIVER_ID:
+ return(cc3xx_mac_sign_finish(&operation->ctx.cc3xx_driver_ctx,
+ mac, mac_size, mac_length));
-+#endif
-+#elif defined(MBEDTLS_PSA_BUILTIN_MAC)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_mac_sign_finish( &operation->ctx.mbedtls_ctx,
-+ mac, mac_size, mac_length ) );
++#endif /* defined(PSA_CRYPTO_DRIVER_CC3XX) */
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
default:
(void) mac;
-@@ -2298,12 +2673,6 @@ psa_status_t psa_driver_wrapper_mac_verify_finish(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_MAC)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_mac_verify_finish( &operation->ctx.mbedtls_ctx,
-- mac, mac_length ) );
--#endif /* MBEDTLS_PSA_BUILTIN_MAC */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -2316,6 +2685,16 @@ psa_status_t psa_driver_wrapper_mac_verify_finish(
+@@ -2316,6 +2655,12 @@ psa_status_t psa_driver_wrapper_mac_verify_finish(
&operation->ctx.opaque_test_driver_ctx,
mac, mac_length ) );
#endif /* PSA_CRYPTO_DRIVER_TEST */
@@ -1499,41 +923,22 @@
+ return(cc3xx_mac_verify_finish(
+ &operation->ctx.cc3xx_driver_ctx,
+ mac, mac_length));
-+#endif
-+#elif defined(MBEDTLS_PSA_BUILTIN_MAC)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_mac_verify_finish( &operation->ctx.mbedtls_ctx,
-+ mac, mac_length ) );
++#endif /* defined(PSA_CRYPTO_DRIVER_CC3XX) */
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
default:
(void) mac;
-@@ -2329,11 +2708,6 @@ psa_status_t psa_driver_wrapper_mac_abort(
- {
- switch( operation->id )
- {
--#if defined(MBEDTLS_PSA_BUILTIN_MAC)
-- case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-- return( mbedtls_psa_mac_abort( &operation->ctx.mbedtls_ctx ) );
--#endif /* MBEDTLS_PSA_BUILTIN_MAC */
--
- #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
- #if defined(PSA_CRYPTO_DRIVER_TEST)
- case PSA_CRYPTO_TRANSPARENT_TEST_DRIVER_ID:
-@@ -2343,6 +2717,13 @@ psa_status_t psa_driver_wrapper_mac_abort(
+@@ -2343,6 +2688,10 @@ psa_status_t psa_driver_wrapper_mac_abort(
return( mbedtls_test_opaque_mac_abort(
&operation->ctx.opaque_test_driver_ctx ) );
#endif /* PSA_CRYPTO_DRIVER_TEST */
+#if defined(PSA_CRYPTO_DRIVER_CC3XX)
+ case PSA_CRYPTO_CC3XX_DRIVER_ID:
+ return(cc3xx_mac_abort(&operation->ctx.cc3xx_driver_ctx));
-+#endif
-+#elif defined(MBEDTLS_PSA_BUILTIN_MAC)
-+ case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-+ return( mbedtls_psa_mac_abort( &operation->ctx.mbedtls_ctx ) );
++#endif /* defined(PSA_CRYPTO_DRIVER_CC3XX) */
#endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
default:
return( PSA_ERROR_INVALID_ARGUMENT );
-@@ -2350,7 +2731,58 @@ psa_status_t psa_driver_wrapper_mac_abort(
+@@ -2350,7 +2699,58 @@ psa_status_t psa_driver_wrapper_mac_abort(
}
/*
@@ -1593,7 +998,7 @@
*/
psa_status_t psa_driver_wrapper_asymmetric_encrypt(
const psa_key_attributes_t *attributes, const uint8_t *key_buffer,
-@@ -2368,6 +2800,20 @@ psa_status_t psa_driver_wrapper_asymmetric_encrypt(
+@@ -2368,6 +2768,20 @@ psa_status_t psa_driver_wrapper_asymmetric_encrypt(
/* Key is stored in the slot in export representation, so
* cycle through all known transparent accelerators */
#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
@@ -1614,7 +1019,7 @@
#if defined(PSA_CRYPTO_DRIVER_TEST)
status = mbedtls_test_transparent_asymmetric_encrypt( attributes,
key_buffer, key_buffer_size, alg, input, input_length,
-@@ -2426,6 +2872,20 @@ psa_status_t psa_driver_wrapper_asymmetric_decrypt(
+@@ -2426,6 +2840,20 @@ psa_status_t psa_driver_wrapper_asymmetric_decrypt(
/* Key is stored in the slot in export representation, so
* cycle through all known transparent accelerators */
#if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
@@ -1661,5 +1066,5 @@
/* End of automatically generated file. */
--
-2.25.1
+2.34.1