summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/isteps')
-rw-r--r--src/usr/isteps/istep10/call_proc_cen_ref_clk_enable.C15
-rw-r--r--src/usr/isteps/istep14/call_proc_exit_cache_contained.C24
-rw-r--r--src/usr/isteps/istep14/call_proc_setup_bars.C15
3 files changed, 53 insertions, 1 deletions
diff --git a/src/usr/isteps/istep10/call_proc_cen_ref_clk_enable.C b/src/usr/isteps/istep10/call_proc_cen_ref_clk_enable.C
index 6aba97bc5..f0828b072 100644
--- a/src/usr/isteps/istep10/call_proc_cen_ref_clk_enable.C
+++ b/src/usr/isteps/istep10/call_proc_cen_ref_clk_enable.C
@@ -102,6 +102,11 @@
#include "../../secureboot/common/errlud_secure.H"
#include <sbe/sbe_update.H>
+#ifdef CONFIG_SECUREBOOT
+#include <secureboot/service.H>
+#include <scom/centaurScomCache.H>
+#endif
+
// end includes for post sbe secureboot steps
const uint64_t MS_TO_WAIT_FIRST = 2500; //(2.5 s)
@@ -817,6 +822,16 @@ void* call_proc_cen_ref_clk_enable(void *io_pArgs )
validateSecuritySettings();
+#ifdef CONFIG_SECUREBOOT
+ if(SECUREBOOT::enabled())
+ {
+ SECUREBOOT::CENTAUR_SECURITY::ScomCache& centaurCache =
+ SECUREBOOT::CENTAUR_SECURITY::ScomCache::getInstance();
+ centaurCache.init();
+ centaurCache.enableCache();
+ }
+#endif
+
TARGETING::TargetHandleList functionalProcChipList;
getAllChips(functionalProcChipList, TYPE_PROC, true);
diff --git a/src/usr/isteps/istep14/call_proc_exit_cache_contained.C b/src/usr/isteps/istep14/call_proc_exit_cache_contained.C
index f018c452b..46ed22845 100644
--- a/src/usr/isteps/istep14/call_proc_exit_cache_contained.C
+++ b/src/usr/isteps/istep14/call_proc_exit_cache_contained.C
@@ -51,6 +51,11 @@
#include <util/misc.H>
#include <hwas/common/hwas.H>
+#ifdef CONFIG_SECUREBOOT
+#include <secureboot/service.H>
+#include <scom/centaurScomCache.H>
+#endif
+
using namespace ISTEP;
using namespace ISTEP_ERROR;
using namespace ERRORLOG;
@@ -69,6 +74,24 @@ void* call_proc_exit_cache_contained (void *io_pArgs)
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_proc_exit_cache_contained entry" );
+ errlHndl_t l_errl = nullptr;
+
+#ifdef CONFIG_SECUREBOOT
+ if(SECUREBOOT::enabled())
+ {
+ SECUREBOOT::CENTAUR_SECURITY::ScomCache& centaurCache =
+ SECUREBOOT::CENTAUR_SECURITY::ScomCache::getInstance();
+
+ l_errl = centaurCache.verify();
+ if(l_errl)
+ {
+ l_stepError.addErrorDetails(l_errl);
+ errlCommit(l_errl, HWPF_COMP_ID );
+ }
+
+ centaurCache.destroy();
+ }
+#endif
// @@@@@ CUSTOM BLOCK: @@@@@
// figure out what targets we need
@@ -87,7 +110,6 @@ void* call_proc_exit_cache_contained (void *io_pArgs)
//Check that minimum hardware requirement is meet.
//If not, log error and do not proceed
bool l_bootable;
- errlHndl_t l_errl = nullptr;
l_errl = HWAS::checkMinimumHardware(l_sys, &l_bootable);
if (!l_bootable && !l_errl)
{
diff --git a/src/usr/isteps/istep14/call_proc_setup_bars.C b/src/usr/isteps/istep14/call_proc_setup_bars.C
index e42ba9a07..08d1708d3 100644
--- a/src/usr/isteps/istep14/call_proc_setup_bars.C
+++ b/src/usr/isteps/istep14/call_proc_setup_bars.C
@@ -22,6 +22,7 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
+#include <config.h>
#include <errl/errlentry.H>
#include <isteps/hwpisteperror.H>
#include <initservice/isteps_trace.H>
@@ -48,6 +49,10 @@
#include <attribute_ids.H>
+#ifdef CONFIG_SECUREBOOT
+#include <scom/centaurScomCache.H>
+#endif
+
using namespace ISTEP_ERROR;
using namespace ERRORLOG;
@@ -188,6 +193,7 @@ void* call_proc_setup_bars (void *io_pArgs)
} // end if !l_errl
+#ifdef CONFIG_SECUREBOOT
// Assuming no errors, secure any Centaurs
if ( l_stepError.isNull() )
{
@@ -247,7 +253,16 @@ void* call_proc_setup_bars (void *io_pArgs)
}
}
}
+
+ if(SECUREBOOT::CENTAUR_SECURITY::ScomCache::getInstance().
+ cacheEnabled())
+ {
+ SECUREBOOT::CENTAUR_SECURITY::ScomCache::getInstance().
+ disableCache();
+ }
+
}
+#endif
if ( l_errl )
{
OpenPOWER on IntegriCloud