summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting/targetservicestart.C
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2016-07-07 13:09:42 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-08-24 14:41:08 -0400
commit3be87b5d73ece3921638e098de2131cb4aca301b (patch)
treef8046d18b6e24d520a0ec7a3871d0b9a039ddbc4 /src/usr/targeting/targetservicestart.C
parentab00e2c95959ff546d6da72bde6bf2e664f62aff (diff)
downloadtalos-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-xsrc/usr/targeting/targetservicestart.C34
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);
OpenPOWER on IntegriCloud