Add platform support
TS project structure and build system extended to accommodate
hardware specific drivers. The concept of a platform is introduced
to allow hardware specific drivers from external providers to be
used. This change implements the Portability Model described in
the project documentation.
Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I61e678ae103e0bf139f2c440ba6cd010620af37e
diff --git a/components/service/crypto/provider/mbedcrypto/crypto_provider.c b/components/service/crypto/provider/mbedcrypto/crypto_provider.c
index bbbf169..a12f625 100644
--- a/components/service/crypto/provider/mbedcrypto/crypto_provider.c
+++ b/components/service/crypto/provider/mbedcrypto/crypto_provider.c
@@ -7,6 +7,7 @@
#include <stdlib.h>
#include <protocols/service/crypto/packed-c/opcodes.h>
#include <service/crypto/provider/mbedcrypto/crypto_provider.h>
+#include <service/crypto/provider/mbedcrypto/entropy_adapter/entropy_adapter.h>
#include <service/secure_storage/client/psa/its/its_client.h>
#include <protocols/rpc/common/packed-c/status.h>
#include <psa/crypto.h>
@@ -44,10 +45,13 @@
};
struct rpc_interface *mbed_crypto_provider_init(struct mbed_crypto_provider *context,
- struct rpc_caller *storage_provider)
+ struct rpc_caller *storage_provider,
+ void *entropy_adapter_config)
{
struct rpc_interface *rpc_interface = NULL;
+ entropy_adapter_init(entropy_adapter_config);
+
/*
* A storage provider is required for persistent key storage. As this
* is a mandatory feature of the crypto service, insist on a storage
@@ -72,6 +76,7 @@
void mbed_crypto_provider_deinit(struct mbed_crypto_provider *context)
{
(void)context;
+ entropy_adapter_deinit();
}
void mbed_crypto_provider_register_serializer(struct mbed_crypto_provider *context,