diff options
author | Bill Hoffa <wghoffa@us.ibm.com> | 2014-03-01 21:57:16 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-03-13 14:50:16 -0500 |
commit | 21ca25c29c266fb6cc86c60472a018ac7850d48c (patch) | |
tree | 66f6291a1c959988c3d947ba4c3a229ad2d74ea1 | |
parent | e1fe2626b37d3c9471e896145182f8a833545ac0 (diff) | |
download | talos-hostboot-21ca25c29c266fb6cc86c60472a018ac7850d48c.tar.gz talos-hostboot-21ca25c29c266fb6cc86c60472a018ac7850d48c.zip |
New mbox message to send master core down to FSP
Change-Id: Ia7e6552570f2da28ec3742c20da70a64877214c2
RTC:97632
CMVC-Prereq:917712
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9257
Tested-by: Jenkins Server
Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com>
Reviewed-by: Donald E. Dahle <dedahle@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r-- | src/usr/hwas/hostbootIstep.C | 34 | ||||
-rw-r--r-- | src/usr/hwas/makefile | 3 | ||||
-rw-r--r-- | src/usr/sbe/sbe_update.H | 2 |
3 files changed, 37 insertions, 2 deletions
diff --git a/src/usr/hwas/hostbootIstep.C b/src/usr/hwas/hostbootIstep.C index 15d587357..822a88ce8 100644 --- a/src/usr/hwas/hostbootIstep.C +++ b/src/usr/hwas/hostbootIstep.C @@ -40,10 +40,14 @@ #include <hwpisteperror.H> #include <targeting/attrsync.H> +#include <targeting/namedtarget.H> #include <diag/prdf/prdfMain.H> #include <intr/interrupt.H> #include <ibscom/ibscomif.H> +#include <sbe/sbeif.H> +#include <sbe_update.H> + // fapi support #include <fapi.H> #include <fapiPlatHwpInvoker.H> @@ -189,6 +193,36 @@ void* host_gard( void *io_pArgs ) l_pTopLevel->setAttr<TARGETING::ATTR_RECONFIGURE_LOOP>(l_reconfigAttr); } + // Send message to FSP sending HUID of EX chip associated with master core + msg_t * core_msg = msg_allocate(); + core_msg->type = SBE::MSG_IPL_MASTER_CORE; + const TARGETING::Target* l_masterCore = TARGETING::getMasterCore( ); + HWAS_ASSERT(l_masterCore, "HWAS host_gard: no masterCore found"); + // Get the EX chip associated with the master core as that is the chip that + // has the IS_MASTER_EX attribute associated with it + TARGETING::TargetHandleList targetList; + getParentAffinityTargets(targetList, + l_masterCore, + TARGETING::CLASS_UNIT, + TARGETING::TYPE_EX); + HWAS_ASSERT(targetList.size() == 1, + "HWAS host_gard: Incorrect EX chip(s) associated with masterCore"); + core_msg->data[0] = 0; + core_msg->data[1] = TARGETING::get_huid( targetList[0] ); + core_msg->extra_data = NULL; + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "Sending MSG_MASTER_CORE message with HUID %08x", + core_msg->data[1]); + errl = MBOX::send(MBOX::IPL_SERVICE_QUEUE,core_msg); + if (errl) + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + ERR_MRK"MBOX::send failed sending Master Core message"); + msg_free(core_msg); + + } + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "host_gard exit" ); return errl; } diff --git a/src/usr/hwas/makefile b/src/usr/hwas/makefile index 8938a99c0..b66dec03d 100644 --- a/src/usr/hwas/makefile +++ b/src/usr/hwas/makefile @@ -5,7 +5,7 @@ # # IBM CONFIDENTIAL # -# COPYRIGHT International Business Machines Corp. 2011,2013 +# COPYRIGHT International Business Machines Corp. 2011,2014 # # p1 # @@ -31,6 +31,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/include/usr/ecmddatabuffer EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/fapi EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/plat EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/hwp +EXTRAINCDIR += ${ROOTPATH}/src/usr/sbe ## pointer to common HWP files EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/include diff --git a/src/usr/sbe/sbe_update.H b/src/usr/sbe/sbe_update.H index 9c602203f..3d9364333 100644 --- a/src/usr/sbe/sbe_update.H +++ b/src/usr/sbe/sbe_update.H @@ -93,7 +93,7 @@ namespace SBE // For mbox messages to FSP const uint32_t MSG_IPL_DUE_TO_SBE_UPDATE = 0x40000012; - + const uint32_t MSG_IPL_MASTER_CORE = 0x40000005; /******************************************/ /* Enums */ |