summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting/targetservicestart.C
diff options
context:
space:
mode:
authorcrgeddes <crgeddes@us.ibm.com>2017-04-06 13:51:51 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-04-14 14:40:33 -0400
commit6acf84571490b4ff96339e0a20b8d29503a4ba23 (patch)
treef787a88f473d88743a8b09eda77f206c936fe0a8 /src/usr/targeting/targetservicestart.C
parent83e79e881907a943c919eef1059007436902de90 (diff)
downloadtalos-hostboot-6acf84571490b4ff96339e0a20b8d29503a4ba23.tar.gz
talos-hostboot-6acf84571490b4ff96339e0a20b8d29503a4ba23.zip
Clear out VIRT_ADDR_BARS in MPIPL
We need to clear out the XSCOM and HOMER virt addrs attributes on all procs when we start up the targeting service during MPIPL Change-Id: Ibb392c1190966d4d678bb1196d69d979032ebf21 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38942 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Richard J. Knight <rjknight@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.C24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/usr/targeting/targetservicestart.C b/src/usr/targeting/targetservicestart.C
index ad9b2e07b..df962c78c 100755
--- a/src/usr/targeting/targetservicestart.C
+++ b/src/usr/targeting/targetservicestart.C
@@ -274,6 +274,8 @@ static void initializeAttributes(TargetService& i_targetService,
Target* l_pTopLevel = NULL;
+ TargetHandleList l_chips;
+
i_targetService.getTopLevelTarget(l_pTopLevel);
if(l_pTopLevel)
{
@@ -331,6 +333,28 @@ static void initializeAttributes(TargetService& i_targetService,
if(i_isMpipl)
{
l_pTopLevel->setAttr<ATTR_IS_MPIPL_HB>(1);
+
+ //Clear out some attributes that could have stale data
+ l_pTopLevel->setAttr<ATTR_HB_RSV_MEM_NEXT_SECTION>(0);
+ l_pTopLevel->setAttr<ATTR_ATTN_CHK_ALL_PROCS>(1);
+
+ TARGETING::PredicateCTM l_chipFilter(CLASS_CHIP, TYPE_PROC);
+ TARGETING::PredicateIsFunctional l_functional;
+ TARGETING::PredicatePostfixExpr l_functionalChips;
+ l_functionalChips.push(&l_chipFilter).push(&l_functional).And();
+
+ i_targetService.getAssociated( l_chips,
+ l_pTopLevel,
+ TargetService::CHILD_BY_AFFINITY,
+ TARGETING::TargetService::ALL,
+ &l_functionalChips);
+
+ for (auto & l_chip : l_chips)
+ {
+ l_chip->setAttr<ATTR_XSCOM_VIRTUAL_ADDR>(0);
+ l_chip->setAttr<ATTR_HOMER_VIRT_ADDR>(0);
+ //TODO RTC:172534 Need to clear volatile attributes during MPIPL for cumulus
+ }
}
else
{
OpenPOWER on IntegriCloud