summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep10
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/isteps/istep10')
-rw-r--r--src/usr/isteps/istep10/call_host_rng_bist.C5
-rw-r--r--src/usr/isteps/istep10/call_host_slave_sbe_update.C22
-rw-r--r--src/usr/isteps/istep10/call_host_update_redundant_tpm.C25
-rw-r--r--src/usr/isteps/istep10/call_proc_abus_scominit.C3
-rw-r--r--src/usr/isteps/istep10/call_proc_build_smp.C2
-rw-r--r--src/usr/isteps/istep10/call_proc_cen_ref_clk_enable.C60
-rw-r--r--src/usr/isteps/istep10/call_proc_chiplet_scominit.C6
-rw-r--r--src/usr/isteps/istep10/call_proc_enable_osclite.C3
-rw-r--r--src/usr/isteps/istep10/call_proc_npu_scominit.C4
-rw-r--r--src/usr/isteps/istep10/call_proc_pcie_scominit.C3
-rw-r--r--src/usr/isteps/istep10/call_proc_scomoverride_chiplets.C3
-rw-r--r--src/usr/isteps/istep10/host_proc_pcie_scominit.C1
-rw-r--r--src/usr/isteps/istep10/makefile3
13 files changed, 103 insertions, 37 deletions
diff --git a/src/usr/isteps/istep10/call_host_rng_bist.C b/src/usr/isteps/istep10/call_host_rng_bist.C
index 68d243547..70b82a274 100644
--- a/src/usr/isteps/istep10/call_host_rng_bist.C
+++ b/src/usr/isteps/istep10/call_host_rng_bist.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2017 */
+/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -55,7 +55,6 @@
#include <devicefw/userif.H>
#include <vpd/mvpdenums.H>
-#include <config.h>
#include <fapi2/plat_hwp_invoker.H>
#include <p9_rng_init_phase1.H>
@@ -121,7 +120,7 @@ void* call_host_rng_bist( void *io_pArgs )
{
l_err->addHwCallout( l_nxTarget,
HWAS::SRCI_PRIORITY_HIGH,
- HWAS::DECONFIG,
+ HWAS::DELAYED_DECONFIG,
HWAS::GARD_NULL );
}
}
diff --git a/src/usr/isteps/istep10/call_host_slave_sbe_update.C b/src/usr/isteps/istep10/call_host_slave_sbe_update.C
index 6e230fc38..d008e8cbd 100644
--- a/src/usr/isteps/istep10/call_host_slave_sbe_update.C
+++ b/src/usr/isteps/istep10/call_host_slave_sbe_update.C
@@ -249,6 +249,7 @@ void* call_host_slave_sbe_update (void *io_pArgs)
{
errlHndl_t l_errl = NULL;
IStepError l_StepError;
+ bool l_testAltMaster = true;
TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_host_slave_sbe_update entry" );
@@ -275,7 +276,6 @@ void* call_host_slave_sbe_update (void *io_pArgs)
errlCommit( l_errl, HWPF_COMP_ID );
}
- #ifndef CONFIG_AXONE_BRING_UP
// Call to check state of Processor SBE SEEPROMs and
// make any necessary updates
l_errl = SBE::updateProcessorSbeSeeproms(
@@ -290,8 +290,6 @@ void* call_host_slave_sbe_update (void *io_pArgs)
break;
}
- #endif
-
// Run LPC Init on Alt Master Procs
// Get list of all processors
TARGETING::TargetHandleList l_procList;
@@ -325,6 +323,7 @@ void* call_host_slave_sbe_update (void *io_pArgs)
l_errl->removeDeconfigure();
// Commit error
errlCommit( l_errl, HWPF_COMP_ID );
+ l_testAltMaster = false;
}
else
{
@@ -337,14 +336,17 @@ void* call_host_slave_sbe_update (void *io_pArgs)
// Call to Validate any Alternative Master's connection to PNOR
// Any error returned should not fail istep
- l_errl = PNOR::validateAltMaster();
- if (l_errl)
+ if (l_testAltMaster == true)
{
- //Remove any deconfigure information, we only need the PNOR Part callout and do not want
- // to deconfigure the entire proc because of a PNOR part problem
- l_errl->removeDeconfigure();
- // Commit error
- errlCommit( l_errl, HWPF_COMP_ID );
+ l_errl = PNOR::validateAltMaster();
+ if (l_errl)
+ {
+ //Remove any deconfigure information, we only need the PNOR Part callout and do not want
+ // to deconfigure the entire proc because of a PNOR part problem
+ l_errl->removeDeconfigure();
+ // Commit error
+ errlCommit( l_errl, HWPF_COMP_ID );
+ }
}
// Set SEEPROM_VERSIONS_MATCH attributes for each processor
diff --git a/src/usr/isteps/istep10/call_host_update_redundant_tpm.C b/src/usr/isteps/istep10/call_host_update_redundant_tpm.C
index 878b1b1e3..4f872f995 100644
--- a/src/usr/isteps/istep10/call_host_update_redundant_tpm.C
+++ b/src/usr/isteps/istep10/call_host_update_redundant_tpm.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2018 */
+/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -35,11 +35,11 @@
#include <errl/errludtarget.H>
#include <attributetraits.H>
-#include <config.h>
#include <util/align.H>
#include <util/algorithm.H>
#include <istepHelperFuncs.H>
#include <secureboot/trustedbootif.H>
+#include <secureboot/phys_presence_if.H>
namespace ISTEP_10
{
@@ -50,6 +50,7 @@ void* call_host_update_redundant_tpm (void *io_pArgs)
ENTER_MRK"call_host_update_redundant_tpm");
ISTEP_ERROR::IStepError l_istepError;
+
#ifdef CONFIG_TPMDD
TARGETING::Target* l_backupTpm = nullptr;
@@ -67,6 +68,26 @@ void* call_host_update_redundant_tpm (void *io_pArgs)
} while(0);
#endif
+#ifdef CONFIG_PHYS_PRES_PWR_BUTTON
+ // Check to see if a Physical Presence Window should be opened,
+ // and if so, open it. This could result in the system being shutdown
+ // to allow the system administrator to assert physical presence
+ errlHndl_t l_err = nullptr;
+ l_err = SECUREBOOT::handlePhysPresenceWindow();
+ if (l_err)
+ {
+ // @TODO RTC 210301 - Handle Error Log Correctly, but for now
+ // just delete it
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_host_update_redundant_tpm: Error back from "
+ "SECUREBOOT::handlePhysPresence: rc=0x%X, plid=0x%X. "
+ "Deleting error for now",
+ ERRL_GETRC_SAFE(l_err), ERRL_GETPLID_SAFE(l_err));
+ delete l_err;
+ l_err = nullptr;
+ }
+#endif
+
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
EXIT_MRK"call_host_update_redundant_tpm");
diff --git a/src/usr/isteps/istep10/call_proc_abus_scominit.C b/src/usr/isteps/istep10/call_proc_abus_scominit.C
index 745fabae3..cefb9f6d0 100644
--- a/src/usr/isteps/istep10/call_proc_abus_scominit.C
+++ b/src/usr/isteps/istep10/call_proc_abus_scominit.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2017 */
+/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -58,7 +58,6 @@
#include <devicefw/userif.H>
#include <vpd/mvpdenums.H>
-#include <config.h>
namespace ISTEP_10
diff --git a/src/usr/isteps/istep10/call_proc_build_smp.C b/src/usr/isteps/istep10/call_proc_build_smp.C
index b3ce48516..599e6f98e 100644
--- a/src/usr/isteps/istep10/call_proc_build_smp.C
+++ b/src/usr/isteps/istep10/call_proc_build_smp.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2018 */
+/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
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 67a11b775..81478303a 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
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2019 */
+/* Contributors Listed Below - COPYRIGHT 2015,2020 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -80,7 +80,6 @@
#include <errl/errludtarget.H>
#include <attributetraits.H>
-#include <config.h>
#include <util/align.H>
#include <util/algorithm.H>
@@ -1064,9 +1063,25 @@ void* call_proc_cen_ref_clk_enable(void *io_pArgs )
"for 0x%.08X", TARGETING::get_huid(l_ocmb));
fapi2::Target <fapi2::TARGET_TYPE_OCMB_CHIP> l_fapi_ocmb_target(l_ocmb);
- FAPI_INVOKE_HWP(l_errl,
- exp_check_for_ready,
- l_fapi_ocmb_target);
+
+ // TODO CQ:SW482291 Remove this retry workaround when ocmb check_for_ready timeout issue is resolved
+ for(uint8_t i = 0; i < 10; i++)
+ {
+ FAPI_INVOKE_HWP(l_errl,
+ exp_check_for_ready,
+ l_fapi_ocmb_target);
+
+ // Preserve the error log if this is the last loop.
+ if(l_errl == NULL || i == 9)
+ {
+ break;
+ }
+ else
+ {
+ delete l_errl;
+ l_errl = NULL;
+ }
+ }
if (l_errl)
{
@@ -1086,8 +1101,41 @@ void* call_proc_cen_ref_clk_enable(void *io_pArgs )
else
{
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "SUCCESS : exp_check_for_ready"
+ "SUCCESS : exp_check_for_ready "
"completed ok");
+
+ size_t size = 0;
+
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "Read IDEC from OCMB 0x%.8X",
+ TARGETING::get_huid(l_ocmb));
+
+ // This write gets translated into a read of the explorer chip
+ // in the device driver. First, a read of the chip's IDEC
+ // register occurs then ATTR_EC, ATTR_HDAT_EC, and ATTR_CHIP_ID
+ // are set with the values found in that register. So, this
+ // deviceWrite functions more as a setter for an OCMB target's
+ // attributes.
+ // Pass 2 as a va_arg to signal the ocmbIDEC function to execute
+ // phase 2 of it's read process.
+ const uint64_t Phase2 = 2;
+ l_errl = DeviceFW::deviceWrite(l_ocmb,
+ nullptr,
+ size,
+ DEVICE_IDEC_ADDRESS(),
+ Phase2);
+ if (l_errl)
+ {
+ // read of ID/EC failed even though we THOUGHT we were
+ // present.
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "OCMB 0x%.8X - read IDEC failed (eid 0x%X) - bad",
+ TARGETING::get_huid(l_ocmb), l_errl->eid());
+
+ // commit the error but keep going
+ errlCommit(l_errl, HWAS_COMP_ID);
+ // l_errl is now nullptr
+ }
}
}
#endif
diff --git a/src/usr/isteps/istep10/call_proc_chiplet_scominit.C b/src/usr/isteps/istep10/call_proc_chiplet_scominit.C
index 8e2950163..c0b9f2619 100644
--- a/src/usr/isteps/istep10/call_proc_chiplet_scominit.C
+++ b/src/usr/isteps/istep10/call_proc_chiplet_scominit.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2018 */
+/* Contributors Listed Below - COPYRIGHT 2015,2020 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -74,6 +74,8 @@ void* call_proc_chiplet_scominit( void *io_pArgs )
TRACFCOMP(g_trac_isteps_trace, ENTER_MRK"call_proc_chiplet_scominit entry" );
+ do{
+
if (!INITSERVICE::isSMPWrapConfig())
{
// Make the FAPI call to p9_chiplet_scominit
@@ -108,6 +110,8 @@ void* call_proc_chiplet_scominit( void *io_pArgs )
}
}
+ }while(0);
+
TRACFCOMP(g_trac_isteps_trace, EXIT_MRK"call_proc_chiplet_scominit exit" );
return l_stepError.getErrorHandle();
diff --git a/src/usr/isteps/istep10/call_proc_enable_osclite.C b/src/usr/isteps/istep10/call_proc_enable_osclite.C
index dd3c6147e..ccfa653b6 100644
--- a/src/usr/isteps/istep10/call_proc_enable_osclite.C
+++ b/src/usr/isteps/istep10/call_proc_enable_osclite.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2017 */
+/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -55,7 +55,6 @@
#include <devicefw/userif.H>
#include <vpd/mvpdenums.H>
-#include <config.h>
// -- prototype includes --
// Add any customized routines that you don't want overwritten into
diff --git a/src/usr/isteps/istep10/call_proc_npu_scominit.C b/src/usr/isteps/istep10/call_proc_npu_scominit.C
index c29be9535..7fd76d010 100644
--- a/src/usr/isteps/istep10/call_proc_npu_scominit.C
+++ b/src/usr/isteps/istep10/call_proc_npu_scominit.C
@@ -67,7 +67,6 @@ void* call_proc_npu_scominit( void *io_pArgs )
{
IStepError l_stepError;
- #ifndef CONFIG_AXONE_BRING_UP
TRACFCOMP(g_trac_isteps_trace, ENTER_MRK"call_proc_npu_scominit entry");
if (!INITSERVICE::isSMPWrapConfig())
{
@@ -76,9 +75,6 @@ void* call_proc_npu_scominit( void *io_pArgs )
HWPF_COMP_ID, TYPE_PROC);
}
TRACFCOMP(g_trac_isteps_trace, EXIT_MRK"call_proc_npu_scominit exit");
- #else
- TRACFCOMP(g_trac_isteps_trace, "Skipping call_proc_npu_scominit in Axone during bringup");
- #endif
return l_stepError.getErrorHandle();
}
diff --git a/src/usr/isteps/istep10/call_proc_pcie_scominit.C b/src/usr/isteps/istep10/call_proc_pcie_scominit.C
index 664a966e9..82bd05f55 100644
--- a/src/usr/isteps/istep10/call_proc_pcie_scominit.C
+++ b/src/usr/isteps/istep10/call_proc_pcie_scominit.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2017 */
+/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -58,7 +58,6 @@
#include <devicefw/userif.H>
#include <vpd/mvpdenums.H>
-#include <config.h>
#include "host_proc_pcie_scominit.H"
#include <p9_pcie_scominit.H>
diff --git a/src/usr/isteps/istep10/call_proc_scomoverride_chiplets.C b/src/usr/isteps/istep10/call_proc_scomoverride_chiplets.C
index 0d4c6d58f..9476672e8 100644
--- a/src/usr/isteps/istep10/call_proc_scomoverride_chiplets.C
+++ b/src/usr/isteps/istep10/call_proc_scomoverride_chiplets.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2017 */
+/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -58,7 +58,6 @@
#include <devicefw/userif.H>
#include <vpd/mvpdenums.H>
-#include <config.h>
#include <p9_scomoverride_chiplets.H>
diff --git a/src/usr/isteps/istep10/host_proc_pcie_scominit.C b/src/usr/isteps/istep10/host_proc_pcie_scominit.C
index 8895ed405..69a41ab36 100644
--- a/src/usr/isteps/istep10/host_proc_pcie_scominit.C
+++ b/src/usr/isteps/istep10/host_proc_pcie_scominit.C
@@ -44,7 +44,6 @@
#include <fapi2/target.H>
#include <fapi2/plat_hwp_invoker.H>
#include <devicefw/userif.H>
-#include <config.h>
#include "host_proc_pcie_scominit.H"
#include <hwas/common/hwas.H>
#include <hwas/common/deconfigGard.H>
diff --git a/src/usr/isteps/istep10/makefile b/src/usr/isteps/istep10/makefile
index ac6233867..2590c4f63 100644
--- a/src/usr/isteps/istep10/makefile
+++ b/src/usr/isteps/istep10/makefile
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2015,2019
+# Contributors Listed Below - COPYRIGHT 2015,2020
# [+] International Business Machines Corp.
#
#
@@ -51,6 +51,7 @@ EXTRAINCDIR += ${INITFILES_HWP_PATH}
EXTRAINCDIR += ${PERV_HWP_PATH}
EXTRAINCDIR += ${OCMB_HWP_PATH}
EXTRAINCDIR += ${ROOTPATH}/src/import/
+EXTRAINCDIR += ${ROOTPATH}/obj/genfiles/chips/ocmb/explorer/procedures/hwp/memory/lib/
OBJS += call_proc_build_smp.o
OpenPOWER on IntegriCloud