Parse TPM event log address from SP manifest
The SPMC can forward the TPM event log address and size as an
"arm,tpm_event_log" compatible node. This change adds support for
parsing these values from the manifest and adding them to the config
store.
Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: Ia2c9b994061055d7b388e57da6dc57dc75b824c1
diff --git a/components/config/loader/sp/sp_config_loader.c b/components/config/loader/sp/sp_config_loader.c
index 94c2e0b..0b8e716 100644
--- a/components/config/loader/sp/sp_config_loader.c
+++ b/components/config/loader/sp/sp_config_loader.c
@@ -226,5 +226,25 @@
}
}
+ /* Find TPM event log */
+ node = fdt_node_offset_by_compatible(fdt, root, "arm,tpm_event_log");
+ if (node >= 0) {
+ uint64_t tpm_event_log_addr = 0;
+ uint32_t tpm_event_log_size = 0;
+
+ rc = dt_get_u64(fdt, node, "tpm_event_log_addr", &tpm_event_log_addr);
+ if (rc)
+ return false;
+
+ rc = dt_get_u32(fdt, node, "tpm_event_log_size", &tpm_event_log_size);
+ if (rc)
+ return false;
+
+ if (!config_store_add(CONFIG_CLASSIFIER_BLOB, "EVENT_LOG", 0,
+ (void *)tpm_event_log_addr, tpm_event_log_size)) {
+ return false;
+ }
+ }
+
return true;
}