diff options
author | crgeddes <crgeddes@us.ibm.com> | 2017-04-17 16:01:01 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-04-17 20:04:23 -0400 |
commit | 4bf5f4034a4381599a47cc3873af81b27653f957 (patch) | |
tree | 97f5e949ea7d9e48f3aee435641d3215213d0db6 /src/usr/intr/intrrp.C | |
parent | fc384889b3e18d51f56ca43976f0d455271b7280 (diff) | |
download | talos-hostboot-4bf5f4034a4381599a47cc3873af81b27653f957.tar.gz talos-hostboot-4bf5f4034a4381599a47cc3873af81b27653f957.zip |
Disable resetting on INT unit during MPIPL
Previously we were trying to pull the thead context before clearing
out the phs_thread_enabled regs when we initialized the intrrp
during mpipl. However I found that attempting this is causing a
recoverable fir which down the road creates a predictive gard
record. We don't need to be calling this in DD1. Not sure for DD2
yet but I have a story to revist
Change-Id: Ibb7d11463e80285354fda1355105cb58e2101ea7
RTC:172905
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39344
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/intr/intrrp.C')
-rw-r--r-- | src/usr/intr/intrrp.C | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/usr/intr/intrrp.C b/src/usr/intr/intrrp.C index 85d8f54f1..c41a4cab8 100644 --- a/src/usr/intr/intrrp.C +++ b/src/usr/intr/intrrp.C @@ -137,7 +137,18 @@ errlHndl_t IntrRp::resetIntpForMpipl() { PSIHB_SW_INTERFACES_t * this_psihb_ptr = (*targ_itr)->psiHbBaseAddr; this_psihb_ptr->icr = PSI_BRIDGE_INTP_STATUS_CTL_RESET; - resetIntUnit(*targ_itr); + + // TODO RTC: 172905 due to a DD1 workaround we have to do a SW reset + // The SW is causing a recoverable fir when we attemp to pull + // the thread context. The workaround earlier in the SBE's + // MPIPL steps is clearing out the phys_thread_enable regs + // so we can't pull thread context. All the SW reset is doing + // is enabling LSI interrutps (we do later) and clear the + // phys_thread_enabled regs which are already 0 + // Still need to determine if we can skip this in DD2 + + //resetIntUnit(*targ_itr); + //Turn off VPC error when in LSI mode err = disableVPCPullErr(*targ_itr); if (err) @@ -153,8 +164,10 @@ errlHndl_t IntrRp::resetIntpForMpipl() this_psihb_ptr->icr = PSI_BRIDGE_INTP_STATUS_CTL_RESET; TRACFCOMP(g_trac_intr, "Reset PSIHB INTR Complete"); + // TODO RTC: 172905 Still need to determine if we can skip this in DD2 + // (same as above) //Reset XIVE Interrupt unit - resetIntUnit(iv_masterHdlr); + //resetIntUnit(iv_masterHdlr); //Turn off VPC error when in LSI mode err = disableVPCPullErr(iv_masterHdlr); |