summaryrefslogtreecommitdiffstats
path: root/src/include/usr/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/usr/runtime')
-rw-r--r--src/include/usr/runtime/common/runtime_utils.H11
-rw-r--r--src/include/usr/runtime/populate_hbruntime.H8
-rw-r--r--src/include/usr/runtime/preverifiedlidmgr.H8
3 files changed, 26 insertions, 1 deletions
diff --git a/src/include/usr/runtime/common/runtime_utils.H b/src/include/usr/runtime/common/runtime_utils.H
index d63a24d7b..c7f318bc1 100644
--- a/src/include/usr/runtime/common/runtime_utils.H
+++ b/src/include/usr/runtime/common/runtime_utils.H
@@ -45,4 +45,15 @@ extern const PreVerifyVector preVerifiedPnorSections;
*/
bool isPreVerifiedSection(const PNOR::SectionId i_section);
+/**
+ * @brief Determines whether the given section is pre-verified and if so, if
+ * it's expected to be secure
+ *
+ * @param[in] i_section PNOR section to test.
+ *
+ * @return bool True if pre-verified section is expected to be secure,
+* false otherwise.
+ */
+bool isPreVerifiedSectionSecure(const PNOR::SectionId i_section);
+
} \ No newline at end of file
diff --git a/src/include/usr/runtime/populate_hbruntime.H b/src/include/usr/runtime/populate_hbruntime.H
index 03d8b80de..9f0466172 100644
--- a/src/include/usr/runtime/populate_hbruntime.H
+++ b/src/include/usr/runtime/populate_hbruntime.H
@@ -23,6 +23,8 @@
/* */
/* IBM_PROLOG_END_TAG */
#include <hdat/hdat.H>
+#include <vector>
+#include <utility>
namespace RUNTIME
{
@@ -68,9 +70,13 @@ errlHndl_t unmapVirtAddr(uint64_t i_addr);
* @brief Pre verify Pnor sections and load into HB reserved memory
*
* @param[in] i_sec - pnor section to pre-verify and load
+ * @param[in] i_verified - Indicates if pnor section is expected to have a
+ * secure header.
+ * e.g. RINGOVD currently never has a secure header
*
* @return Error handle if error
*/
-errlHndl_t hbResvLoadSecureSection (const PNOR::SectionId i_sec);
+errlHndl_t hbResvLoadSecureSection (const PNOR::SectionId i_sec,
+ const bool i_verified);
} // End of Namespace \ No newline at end of file
diff --git a/src/include/usr/runtime/preverifiedlidmgr.H b/src/include/usr/runtime/preverifiedlidmgr.H
index 185a0d24f..4b087e102 100644
--- a/src/include/usr/runtime/preverifiedlidmgr.H
+++ b/src/include/usr/runtime/preverifiedlidmgr.H
@@ -171,6 +171,14 @@ class PreVerifiedLidMgr
// Depends on the payload kind
uint64_t (*getNextAddress)(const size_t);
+ // Add fake headers during pnor loads
+ // Use Case: Secureboot compiled out or unsigned sections need a header
+ // added so runtime can parse it for the section size
+ static bool cv_addFakeHdrs;
+
+ // Current Pnor section ID we are processing. Used to generate fake header
+ static PNOR::SectionId cv_curPnorSecId;
+
/**
* @brief Get aligned reserved memory size for OPAL
* Note: Historically we have used the aligned size for OPAL
OpenPOWER on IntegriCloud