summaryrefslogtreecommitdiffstats
path: root/src/include/usr/secureboot
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/usr/secureboot')
-rw-r--r--src/include/usr/secureboot/service.H21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/include/usr/secureboot/service.H b/src/include/usr/secureboot/service.H
index c4dc31334..7203ae879 100644
--- a/src/include/usr/secureboot/service.H
+++ b/src/include/usr/secureboot/service.H
@@ -284,9 +284,15 @@ namespace SECUREBOOT
* never return from this call) or not (and return from this call).
* In general, code should wait for shutdown unless early in boot before
* basic services are up, or in a resource provider path.
+ * @param[in] i_calledByRP Indicates that this function is being called from
+ * within a resource provider message handler, which lets the
+ * implementation know that it needs to take precautionary measures to
+ * avoid deadlock scenarios. If called by a resource provider pass true.
+ * If not, false.
*/
- void handleSecurebootFailure(
- errlHndl_t &io_err, bool i_waitForShutdown = true);
+ void handleSecurebootFailure(errlHndl_t &io_err,
+ bool i_waitForShutdown = true,
+ bool i_calledByRP = false);
/**
* @brief Adds the values of the Security Registers of the processors in
@@ -297,18 +303,23 @@ namespace SECUREBOOT
* NOTE: The state of the system/processors
* (ie, SCOM vs FSI) determines which registers can
* be included.
- *
+ * @param[in] i_calledByRP See the handleSecurebootFailure function's
+ * "called by resource provider" option.
* @return N/A
*/
- void addSecurityRegistersToErrlog(errlHndl_t & io_err);
+ void addSecurityRegistersToErrlog(errlHndl_t & io_err,
+ bool i_calledByRP = false);
/**
* @brief Common handler for adding all relevant secureboot information to
* the user details section of an error log
* @param[in/out] io_err Error Log to add secure info to.
* Must not be nullptr.
+ * @param[in] i_calledByRP See the handleSecurebootFailure function's
+ * "called by resource provider" option.
*/
- void addSecureUserDetailsToErrolog(errlHndl_t & io_err);
+ void addSecureUserDetailsToErrlog(errlHndl_t & io_err,
+ bool i_calledByRP = false);
/*
* @brief Determines if Attribute Overrides are Allowed
OpenPOWER on IntegriCloud