summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2017-09-18 13:49:09 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2017-11-01 15:34:36 -0400
commit08d89ba2b8784fc69abc051a1d905a770405b6b9 (patch)
tree11564bf8944d35af5a9d6a120da41ae1790ca181 /src/usr/isteps
parent7f4fb82f60a51dc3742e11022867114b76cfb41d (diff)
downloadtalos-hostboot-08d89ba2b8784fc69abc051a1d905a770405b6b9.tar.gz
talos-hostboot-08d89ba2b8784fc69abc051a1d905a770405b6b9.zip
Remove support for P9N (Nimbus) DD1.0
- Will error out during IPL - Gracefully handle removal of DD1.0 inits, tied to hw091517b.910 HCODE image Change-Id: I7b4c53b38863a8251a8c02d7df83a3ff713f52d7 CMVC-Prereq: 1034628 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46356 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/usr/isteps')
-rw-r--r--src/usr/isteps/istep06/host_set_ipl_parms.C44
-rw-r--r--src/usr/isteps/istep06/host_start_occ_xstop_handler.C3
2 files changed, 46 insertions, 1 deletions
diff --git a/src/usr/isteps/istep06/host_set_ipl_parms.C b/src/usr/isteps/istep06/host_set_ipl_parms.C
index 8fe9f12cc..c42f90998 100644
--- a/src/usr/isteps/istep06/host_set_ipl_parms.C
+++ b/src/usr/isteps/istep06/host_set_ipl_parms.C
@@ -31,7 +31,9 @@
#include <initservice/isteps_trace.H>
#include <util/utilsemipersist.H>
#include <hwas/common/deconfigGard.H>
-
+#include <arch/pvrformat.H>
+#include <sys/mmio.h>
+#include <console/consoleif.H>
namespace ISTEP_06
{
@@ -77,6 +79,46 @@ void* host_set_ipl_parms( void *io_pArgs )
Util::writeSemiPersistData(l_semiData);
+ // Add a check to indicate that Nimbus DD1.0 is NOT supported
+ // and prevent a boot
+ PVR_t l_pvr( mmio_pvr_read() & 0xFFFFFFFF );
+ if( l_pvr.isNimbusDD1() )
+ {
+#ifdef CONFIG_CONSOLE
+ CONSOLE::displayf(ISTEP_COMP_NAME,
+ "P9N (Nimbus) DD1.0 is not supported in this driver");
+ CONSOLE::displayf(ISTEP_COMP_NAME,
+ "Please update the system's processor modules");
+#endif
+
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "DD1.0 is NOT SUPPORTED anymore. "
+ "Please upgrade proc modules");
+ /*@
+ * @errortype
+ * @moduleid ISTEP::MOD_SET_IPL_PARMS
+ * @reasoncode ISTEP::RC_P9N_DD1_NOT_SUPPORTED
+ * @userdata1 PVR of master proc
+ * @devdesc P9N (Nimbus) DD1.x is not supported
+ * in this firmware driver. Please update
+ * your module or use a different driver
+ * @custdesc A problem occurred during the IPL
+ * of the system.
+ */
+ uint64_t l_dummy = 0x0;
+ l_err = new ERRORLOG::ErrlEntry(
+ ERRORLOG::ERRL_SEV_UNRECOVERABLE,
+ ISTEP::MOD_SET_IPL_PARMS,
+ ISTEP::RC_P9N_DD1_NOT_SUPPORTED,
+ l_pvr.word,
+ l_dummy);
+ // Create IStep error log and cross ref error that occurred
+ l_stepError.addErrorDetails( l_err );
+ errlCommit( l_err, ISTEP_COMP_ID );
+ }
+
+
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "host_set_ipl_parms exit" );
return l_stepError.getErrorHandle();
diff --git a/src/usr/isteps/istep06/host_start_occ_xstop_handler.C b/src/usr/isteps/istep06/host_start_occ_xstop_handler.C
index aa3c6b8c3..e59f9ead1 100644
--- a/src/usr/isteps/istep06/host_start_occ_xstop_handler.C
+++ b/src/usr/isteps/istep06/host_start_occ_xstop_handler.C
@@ -34,6 +34,7 @@
#include <pm/pm_common.H>
#include <targeting/common/commontargeting.H>
#include <isteps/pm/occCheckstop.H>
+#include <util/misc.H>
namespace ISTEP_06
{
@@ -62,6 +63,8 @@ void* host_start_occ_xstop_handler( void *io_pArgs )
l_homerPhysAddrBase, l_commonPhysAddr);
do
{
+ if ( Util::isSimicsRunning() ) break; //Skip if running in Simics
+
l_errl = HBPM::loadPMComplex(masterproc,
l_homerPhysAddrBase,
l_commonPhysAddr,
OpenPOWER on IntegriCloud