summaryrefslogtreecommitdiffstats
path: root/src/usr/initservice
diff options
context:
space:
mode:
authorBrian Bakke <bbakke@us.ibm.com>2018-05-22 11:30:26 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-06-07 13:37:46 -0400
commite364f91be1727019dd594c57d496e5ce43e8f5f0 (patch)
tree3515d4777d5ca4705fc232b02110d6c480151eff /src/usr/initservice
parent0c6d58230e615000dee1a1940bf4bc84ad5c1798 (diff)
downloadtalos-hostboot-e364f91be1727019dd594c57d496e5ce43e8f5f0.tar.gz
talos-hostboot-e364f91be1727019dd594c57d496e5ce43e8f5f0.zip
Fixes to node IPC messaging to handle non-zero base addresses
Current code has each Node calculate each Remote Node's IPC area remote address by performing a fixed format calculation. This change has each Node calculating its IPC area Remote address and posting this value to a local SCOM register. A Node reads a Remote Node's SCOM register to acquire the Remote IPC area address. Change-Id: I25260ce180e0d07e5e81990d4c1f99e249912491 RTC:191463 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59177 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@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/initservice')
-rw-r--r--src/usr/initservice/istepdispatcher/istepdispatcher.C7
-rw-r--r--src/usr/initservice/istepdispatcher/makefile1
2 files changed, 7 insertions, 1 deletions
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C
index 35c7568f9..8e18d2177 100644
--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C
+++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C
@@ -84,7 +84,7 @@
#include <secureboot/service.H>
#include <p9_perst_phb.H>
#include <plat_hwp_invoker.H>
-
+#include <ipcSp.H>
// ---------------------------
// Used to grab SBE boot side
#include <sbe/sbe_update.H>
@@ -2182,6 +2182,11 @@ void IStepDispatcher::handleProcFabIovalidMsg(msg_t * & io_pMsg)
"Returned from cpu_all_winkle." );
}
+ // identify IPC msg address to remote node(s)
+ // this must be after the winkle call because the data is stored
+ // in a core scom which will get lost
+ IPC::IpcSp::distributeLocalNodeAddr();
+
err = MBOX::resume();
if (err)
{
diff --git a/src/usr/initservice/istepdispatcher/makefile b/src/usr/initservice/istepdispatcher/makefile
index 52becfd3a..9726f1775 100644
--- a/src/usr/initservice/istepdispatcher/makefile
+++ b/src/usr/initservice/istepdispatcher/makefile
@@ -35,6 +35,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/ffdc/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/common/include/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/nest/
EXTRAINCDIR += ${ROOTPATH}/src/usr/isteps
+EXTRAINCDIR += ${ROOTPATH}/src/usr/mbox/
VPATH = ${ROOTPATH}/src/usr/initservice/bootconfig/
OpenPOWER on IntegriCloud