Add event log parameter handling in SP

A generic publish/subscribe mechanism is implemented to allow
boot information such as the TPM event log to be passed to
specific SPs, based on subscriptions specified in the SP
manifest.  This change implements the in-SP handling
for the initialization parameters.  The env_test has
been extended to include tests that check that the
event log is being passed and stored in the config store.

Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I89211ebffd9e2d1768eaf5736e6b28dceafb0a02
diff --git a/deployments/attestation/opteesp/attestation_sp.c b/deployments/attestation/opteesp/attestation_sp.c
index ce45516..f597e7e 100644
--- a/deployments/attestation/opteesp/attestation_sp.c
+++ b/deployments/attestation/opteesp/attestation_sp.c
@@ -23,7 +23,6 @@
 
 
 /* Temporary dependencies */
-#include <service/attestation/claims/sources/event_log/mock/mock_event_log.h>
 #include <psa/crypto.h>
 
 
@@ -43,9 +42,9 @@
 	/* Claim source objects */
 	struct claim_source *claim_source;
 	struct event_log_claim_source event_log_claim_source;
-    struct boot_seed_generator boot_seed_claim_source;
-    struct null_lifecycle_claim_source lifecycle_claim_source;
-    struct instance_id_claim_source instance_id_claim_source;
+	struct boot_seed_generator boot_seed_claim_source;
+	struct null_lifecycle_claim_source lifecycle_claim_source;
+	struct instance_id_claim_source instance_id_claim_source;
 
 	/*********************************************************
 	 * Boot phase
@@ -57,35 +56,34 @@
 
 	/**
 	 * Register claim sources for deployment
-     */
+	 */
 	claims_register_init();
 
-    /* Boot measurement claim source - uses mock event log */
-    claim_source = event_log_claim_source_init(&event_log_claim_source,
-        mock_event_log_start(), mock_event_log_size());
-    claims_register_add_claim_source(CLAIM_CATEGORY_BOOT_MEASUREMENT, claim_source);
+	/* Boot measurement claim source */
+	claim_source = event_log_claim_source_init_from_config(&event_log_claim_source);
+	claims_register_add_claim_source(CLAIM_CATEGORY_BOOT_MEASUREMENT, claim_source);
 
-    /* Boot seed claim source */
-    claim_source = boot_seed_generator_init(&boot_seed_claim_source);
-    claims_register_add_claim_source(CLAIM_CATEGORY_DEVICE, claim_source);
+	/* Boot seed claim source */
+	claim_source = boot_seed_generator_init(&boot_seed_claim_source);
+	claims_register_add_claim_source(CLAIM_CATEGORY_DEVICE, claim_source);
 
-    /* Lifecycle state claim source */
-    claim_source = null_lifecycle_claim_source_init(&lifecycle_claim_source);
-    claims_register_add_claim_source(CLAIM_CATEGORY_DEVICE, claim_source);
+	/* Lifecycle state claim source */
+	claim_source = null_lifecycle_claim_source_init(&lifecycle_claim_source);
+	claims_register_add_claim_source(CLAIM_CATEGORY_DEVICE, claim_source);
 
-    /* Instance ID claim source */
-    claim_source = instance_id_claim_source_init(&instance_id_claim_source);
-    claims_register_add_claim_source(CLAIM_CATEGORY_DEVICE, claim_source);
+	/* Instance ID claim source */
+	claim_source = instance_id_claim_source_init(&instance_id_claim_source);
+	claims_register_add_claim_source(CLAIM_CATEGORY_DEVICE, claim_source);
 
 	/**
 	 * Initialize the service provider
-     */
+	 */
  	psa_crypto_init(); /* temporary */
 
-    attest_iface = attest_provider_init(&attest_provider, ATTEST_KEY_MNGR_VOLATILE_IAK);
+	attest_iface = attest_provider_init(&attest_provider, ATTEST_KEY_MNGR_VOLATILE_IAK);
 
-    attest_provider_register_serializer(&attest_provider,
-        TS_RPC_ENCODING_PACKED_C, packedc_attest_provider_serializer_instance());
+	attest_provider_register_serializer(&attest_provider,
+		TS_RPC_ENCODING_PACKED_C, packedc_attest_provider_serializer_instance());
 
 	ffa_call_ep_init(&ffarpc_call_ep, attest_iface);
 
diff --git a/deployments/attestation/opteesp/default_attestation.dts.in b/deployments/attestation/opteesp/default_attestation.dts.in
index a184164..1a74397 100644
--- a/deployments/attestation/opteesp/default_attestation.dts.in
+++ b/deployments/attestation/opteesp/default_attestation.dts.in
@@ -16,4 +16,13 @@
 	execution-state = <0>; /* AArch64 */
 	xlat-granule = <0>; /* 4KiB */
 	messaging-method = <0>; /* Direct messaging only */
+
+	boot-params {
+		compatible = "arm,ffa-manifest-boot-params";
+
+		event-log {
+			param = "EVENT_LOG";		/* The init parameter name */
+			tag = "arm,event-log";		/* Object identifier */
+		};
+	};
 };