diff options
author | Brian Bakke <bbakke@us.ibm.com> | 2018-05-22 11:30:26 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-06-07 13:37:46 -0400 |
commit | e364f91be1727019dd594c57d496e5ce43e8f5f0 (patch) | |
tree | 3515d4777d5ca4705fc232b02110d6c480151eff /src/usr/initservice | |
parent | 0c6d58230e615000dee1a1940bf4bc84ad5c1798 (diff) | |
download | talos-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.C | 7 | ||||
-rw-r--r-- | src/usr/initservice/istepdispatcher/makefile | 1 |
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/ |