diff options
author | Matt Ploetz <maploetz@us.ibm.com> | 2014-02-18 12:08:42 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-02-19 10:19:18 -0600 |
commit | 0e27069ced54cd211ccb84240d224aa70e036097 (patch) | |
tree | 2f780b2e4f1fb732ac421a1a1f251cdb1e79ed73 /src/usr/hwpf/hwp/core_activate/core_activate.C | |
parent | 596c430a88f19d3d39c45f1f3b3de7c12daba5df (diff) | |
download | talos-hostboot-0e27069ced54cd211ccb84240d224aa70e036097.tar.gz talos-hostboot-0e27069ced54cd211ccb84240d224aa70e036097.zip |
Hostboot - SW246866 - p8_block_wakeup_intr before master winkle
Change-Id: I35938f138d9f18054ccdd2a1111fcf075d7e5960
CQ:SW246866
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8958
Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/core_activate/core_activate.C')
-rw-r--r-- | src/usr/hwpf/hwp/core_activate/core_activate.C | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/usr/hwpf/hwp/core_activate/core_activate.C b/src/usr/hwpf/hwp/core_activate/core_activate.C index 041a6c032..2acd03d42 100644 --- a/src/usr/hwpf/hwp/core_activate/core_activate.C +++ b/src/usr/hwpf/hwp/core_activate/core_activate.C @@ -73,6 +73,7 @@ #include "cen_switch_rec_attn.H" #include "proc_post_winkle.H" #include "proc_check_slw_done.H" +#include "p8_block_wakeup_intr.H" // mss_scrub support #include <diag/prdf/prdfMain.H> @@ -155,6 +156,37 @@ void* call_host_activate_master( void *io_pArgs ) } + // Call p8_block_wakeup_intr to prevent stray interrupts from + // popping core out of winkle before SBE sees it. + + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_host_activated_master: call p8_block_wakeup_intr(SET) " + "Target HUID %.8x", + TARGETING::get_huid(l_masterEx) ); + + FAPI_INVOKE_HWP( l_errl, + p8_block_wakeup_intr, + l_fapi_ex_target, + BLKWKUP_SET ); + + if ( l_errl ) + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "p8_block_wakeup_intr ERROR : Returning errorlog, reason=0x%x", + l_errl->reasonCode() ); + + // capture the target data in the elog + ErrlUserDetailsTarget(l_masterEx).addToLog( l_errl ); + + break; + } + else + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "p8_block_wakeup_intr SUCCESS" ); + } + + // put the master into winkle. TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_activate_master: put master into winkle..." ); |