Refactor FF-A boot info
Refactor the FF-A boot info related types to prepare for adding the FF-A
v1.1 structures.
Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
Change-Id: I03dd0275d367611e6156c4ba47bdbacb62296001
diff --git a/components/messaging/ffa/libsp/include/ffa_api_defines.h b/components/messaging/ffa/libsp/include/ffa_api_defines.h
index 163a0cd..03b1198 100644
--- a/components/messaging/ffa/libsp/include/ffa_api_defines.h
+++ b/components/messaging/ffa/libsp/include/ffa_api_defines.h
@@ -66,6 +66,9 @@
/* Special value for MBZ parameters */
#define FFA_PARAM_MBZ UINT32_C(0x0)
+/* Boot information signature */
+#define FFA_BOOT_INFO_SIGNATURE_V1_0 UINT32_C(0x412D4646) /* FF-A ASCII */
+
/* FFA_VERSION */
#define FFA_VERSION_MAJOR UINT32_C(1)
#define FFA_VERSION_MAJOR_SHIFT UINT32_C(16)
diff --git a/components/messaging/ffa/libsp/include/ffa_api_types.h b/components/messaging/ffa/libsp/include/ffa_api_types.h
index b1be7ac..8333488 100644
--- a/components/messaging/ffa/libsp/include/ffa_api_types.h
+++ b/components/messaging/ffa/libsp/include/ffa_api_types.h
@@ -11,25 +11,30 @@
#include <stdint.h>
/**
- * Init info
+ * Boot info
*/
/**
* @brief Boot protocol name-value pairs
*/
-struct ffa_name_value_pair {
+struct ffa_name_value_pair_v1_0 {
uint32_t name[4]; /**< Name of the item */
uintptr_t value; /**< Value of the item */
size_t size; /**< Size of the referenced value */
};
/**
- * @brief Structure for passing boot protocol data
+ * @brief Structure for passing boot protocol data (FF-A v1.0)
*/
-struct ffa_init_info {
+struct ffa_boot_info_v1_0 {
uint32_t magic; /**< FF-A */
uint32_t count; /**< Count of name value size pairs */
- struct ffa_name_value_pair nvp[]; /**< Array of name value size pairs */
+ struct ffa_name_value_pair_v1_0 nvp[]; /**< Array of name value size pairs */
+};
+
+union ffa_boot_info {
+ uint32_t signature;
+ struct ffa_boot_info_v1_0 boot_info_v1_0;
};
/**
diff --git a/components/messaging/ffa/libsp/include/sp_api.h b/components/messaging/ffa/libsp/include/sp_api.h
index 3c432bb..b220c91 100644
--- a/components/messaging/ffa/libsp/include/sp_api.h
+++ b/components/messaging/ffa/libsp/include/sp_api.h
@@ -30,9 +30,9 @@
* @brief Entry point of the SP's application code. SPs must implement this
* function.
*
- * @param init_info The boot info
+ * @param boot_info The boot info
*/
-void __noreturn sp_main(struct ffa_init_info *init_info);
+void __noreturn sp_main(union ffa_boot_info *boot_info);
#ifdef __cplusplus
}