Skip to content

Commit

Permalink
Process Core and EQ Gard Records in MPIPL Path
Browse files Browse the repository at this point in the history
When an error happens or is injected in a core during runtime and
MPIPL is performed following, the gard record does not get processed,
the core does not get deconfigured and then later fails to wake up
in istep 16.2. This change adds the processing of core and EQ
gard records in MPIPL path, so that they can be deconfigured
properly.

Change-Id: I66e0e7b26b5ee7ed5925202088a366a461ef4e79
CQ: SW459970
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75094
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
  • Loading branch information
Ilya Smirnov authored and wghoffa committed Apr 3, 2019
1 parent 5da79e1 commit 25c1b41
Showing 1 changed file with 17 additions and 7 deletions.
24 changes: 17 additions & 7 deletions src/usr/isteps/istep06/host_gard.C
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* Contributors Listed Below - COPYRIGHT 2015,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -95,14 +95,24 @@ void* host_gard( void *io_pArgs )
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
"host_gard: MPIPL mode");

// we only want EX units to be processed
TARGETING::PredicateCTM l_coreFilter(TARGETING::CLASS_UNIT,
TARGETING::TYPE_CORE);
TARGETING::PredicateCTM l_exFilter(TARGETING::CLASS_UNIT,
TARGETING::TYPE_EX);
l_err = HWAS::collectGard(&l_exFilter);
if (l_err)
TARGETING::TYPE_EX);
TARGETING::PredicateCTM l_eqFilter(TARGETING::CLASS_UNIT,
TARGETING::TYPE_EQ);

TARGETING::PredicatePostfixExpr l_coreExEq;
l_coreExEq.push(&l_coreFilter)
.push(&l_exFilter)
.push(&l_eqFilter).Or().Or();

l_err = HWAS::collectGard(&l_coreExEq);
if(l_err)
{
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,"host_gard: "
"collectGard returned error; breaking out");
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,"host_gard: "
"collectGard for core, EX, or EQ targets returned "
"error; breaking out");
break;
}
}
Expand Down

0 comments on commit 25c1b41

Please sign in to comment.