From 6acf84571490b4ff96339e0a20b8d29503a4ba23 Mon Sep 17 00:00:00 2001 From: crgeddes Date: Thu, 6 Apr 2017 13:51:51 -0500 Subject: 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 Tested-by: Jenkins OP Build CI Reviewed-by: Martin Gloff Tested-by: FSP CI Jenkins Reviewed-by: Richard J. Knight Reviewed-by: Daniel M. Crowell --- src/usr/targeting/targetservicestart.C | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/usr/targeting/targetservicestart.C') 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(1); + + //Clear out some attributes that could have stale data + l_pTopLevel->setAttr(0); + l_pTopLevel->setAttr(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(0); + l_chip->setAttr(0); + //TODO RTC:172534 Need to clear volatile attributes during MPIPL for cumulus + } } else { -- cgit v1.2.1