diff options
author | Dean Sanner <dsanner@us.ibm.com> | 2016-07-07 13:09:42 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-08-24 14:41:08 -0400 |
commit | 3be87b5d73ece3921638e098de2131cb4aca301b (patch) | |
tree | f8046d18b6e24d520a0ec7a3871d0b9a039ddbc4 /src/usr/targeting/targetservicestart.C | |
parent | ab00e2c95959ff546d6da72bde6bf2e664f62aff (diff) | |
download | talos-hostboot-3be87b5d73ece3921638e098de2131cb4aca301b.tar.gz talos-hostboot-3be87b5d73ece3921638e098de2131cb4aca301b.zip |
Honor ISTEP/MPIPL MODE flag in mbox scratch 3 reg
Change-Id: Ia83f1abfe28d0418659aec7d0e2cd38a013fe8a9
RTC: 134431
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26730
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/targeting/targetservicestart.C')
-rwxr-xr-x | src/usr/targeting/targetservicestart.C | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/src/usr/targeting/targetservicestart.C b/src/usr/targeting/targetservicestart.C index 8fe354667..853db5ebd 100755 --- a/src/usr/targeting/targetservicestart.C +++ b/src/usr/targeting/targetservicestart.C @@ -44,6 +44,7 @@ #include <targeting/common/trace.H> #include <targeting/adapters/assertadapter.H> #include <initservice/taskargs.H> +#include <util/utilmbox_scratch.H> // This component #include <targeting/common/targetservice.H> @@ -56,6 +57,7 @@ #include <config.h> + //****************************************************************************** // targetService //****************************************************************************** @@ -242,34 +244,24 @@ static void initializeAttributes(TargetService& i_targetService) l_pMasterProcChip->setAttr<ATTR_I2C_SWITCHES>(l_i2c_switches); -#if 0 //@fixme RTC 134431 - errlHndl_t l_errl = NULL; - size_t l_size = sizeof(uint64_t); - uint64_t l_data; - - // Scratch register 2 is defined as 0x00050039.. - l_errl = DeviceFW::deviceRead(l_pMasterProcChip, - &(l_data), - l_size, - DEVICE_SCOM_ADDRESS(MBOX_SCRATCH2)); + // Check mbox scratch reg 3 for IPL boot options + // Specifically istep mode (bit 0) and MPIPL (bit 2) + uint64_t l_data = + Util::readScratchReg(INITSERVICE::SPLESS::MBOX_SCRATCH_REG3); - if(l_errl) + // Targeting data defaults to non istep, only turn "on" if bit + // is set so we don't tromp default setting + if ((l_data & Util::ISTEP_CONFIG_BIT) == Util::ISTEP_CONFIG_BIT) { - TARG_INF("Read of scratch register failed"); - errlCommit(l_errl,TARG_COMP_ID); + l_pTopLevel->setAttr<ATTR_ISTEP_MODE>(1); } - else + + if ((l_data & Util::MPIPL_CONFIG_BIT) == Util::MPIPL_CONFIG_BIT) { - // bit 0 on indicates MPIPL - if(l_data & 0x8000000000000000ull) - { - l_isMpipl = true; - } + l_isMpipl = true; } -#endif //@fixme RTC 134431 } - if(l_isMpipl) { l_pTopLevel->setAttr<ATTR_IS_MPIPL_HB>(1); |