diff options
author | crgeddes <crgeddes@us.ibm.com> | 2016-12-19 11:40:52 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-12-20 14:47:25 -0500 |
commit | 31b825b9496e9665053d44bc3c3bdd39c70ef5d9 (patch) | |
tree | 4a7c8c5a6aab425c051c868f2bdc354999ceb7f4 /src/usr/intr | |
parent | 0ee4722c1d900419d0108a4937bf1b12b33088e2 (diff) | |
download | talos-hostboot-31b825b9496e9665053d44bc3c3bdd39c70ef5d9.tar.gz talos-hostboot-31b825b9496e9665053d44bc3c3bdd39c70ef5d9.zip |
Fix bug in MPIPL path for INTP init
We were running setup bars on the master proc twice due
to a bug in the if statement determining if a proc was master or not
Change-Id: Ie0aafbc0cd4885e45420076f7d4aa8efc10d584a
RTC:165369
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34059
Tested-by: Jenkins Server <pfd-jenkins+hostboot@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>
Reviewed-by: Matt Derksen <v2cibmd@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@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/intr')
-rw-r--r-- | src/usr/intr/intrrp.C | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/usr/intr/intrrp.C b/src/usr/intr/intrrp.C index 47854c043..d84f542ab 100644 --- a/src/usr/intr/intrrp.C +++ b/src/usr/intr/intrrp.C @@ -85,15 +85,18 @@ errlHndl_t IntrRp::resetIntpForMpipl() do{ TARGETING::TargetHandleList l_funcProcs; + TARGETING::Target* masterProc = NULL; + TARGETING::targetService().masterProcChipTargetHandle( masterProc ); + getAllChips(l_funcProcs, TYPE_PROC); //Need to make sure we have all of the functional procs in iv_chipList - for(auto & l_procChip : l_funcProcs) + for(const auto & l_procChip : l_funcProcs) { - intr_hdlr_t* l_procIntrHdlr = new intr_hdlr_t(l_procChip); //make sure it is not the master, as master has already been added - if (l_procIntrHdlr != iv_masterHdlr) + if (l_procChip != masterProc) { + intr_hdlr_t* l_procIntrHdlr = new intr_hdlr_t(l_procChip); TRACFCOMP(g_trac_intr, "IntrRp::resetIntpForMpipl() Adding slave proc %lx to list of chips.", get_huid(l_procChip)); iv_chipList.push_back(l_procIntrHdlr); // Set the common Interrupt BAR Scom Registers for the proc |