diff options
author | Dean Sanner <dsanner@us.ibm.com> | 2017-09-18 13:49:09 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2017-11-01 15:34:36 -0400 |
commit | 08d89ba2b8784fc69abc051a1d905a770405b6b9 (patch) | |
tree | 11564bf8944d35af5a9d6a120da41ae1790ca181 /src/usr/isteps | |
parent | 7f4fb82f60a51dc3742e11022867114b76cfb41d (diff) | |
download | talos-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.C | 44 | ||||
-rw-r--r-- | src/usr/isteps/istep06/host_start_occ_xstop_handler.C | 3 |
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, |