summaryrefslogtreecommitdiffstats
path: root/src/include/securerom/ROM.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/securerom/ROM.H')
-rw-r--r--src/include/securerom/ROM.H38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/include/securerom/ROM.H b/src/include/securerom/ROM.H
index 9d928de28..fbfbae3e0 100644
--- a/src/include/securerom/ROM.H
+++ b/src/include/securerom/ROM.H
@@ -278,5 +278,43 @@ struct sb_flags_t
bool hw_key_transition; ///< Indicates this is a key transition container
};
+/**
+ * @brief Type used to specify Secure Boot function types
+ */
+typedef uint32_t sbFuncType_t;
+/**
+ * @brief Secure Boot function types
+ */
+enum SB_FUNC_TYPES : sbFuncType_t
+{
+ SHA512 = 0x0000,
+ ECDSA521 = 0x0001,
+ MAX_TYPES,
+ INVALID = 0xFFFF
+};
+
+/**
+ * @brief Type used to specify Secure Boot function type versions
+ */
+typedef uint32_t sbFuncVer_t;
+/**
+ * @brief Secure Boot function type versions
+ */
+enum SB_FUNC_VERS : sbFuncVer_t
+{
+ // All external function definitions extern'd in ROM.H and implemented in
+ // rom_entry.S
+
+ // SHA512 Hash function definition(s) per version
+ SHA512_INIT = 0x0001, // void call_rom_SHA512(void*, const sha2_byte *, size_t, sha2_hash_t*);
+
+ // ECDSA521 function definition(s) per version
+ ECDSA521_INIT = 0x0001, // ROM_response call_rom_verify(void*, const ROM_container_raw*, ROM_hw_params*);
+};
+
+/**
+ * @brief Array of current secure rom function types used
+ */
+extern const std::array<sbFuncType_t, SB_FUNC_TYPES::MAX_TYPES> SecRomFuncTypes;
#endif
OpenPOWER on IntegriCloud