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/include/usr | |
| 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/include/usr')
| -rw-r--r-- | src/include/usr/xscom/xscomif.H | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/include/usr/xscom/xscomif.H b/src/include/usr/xscom/xscomif.H index 65b7410f1..e547c4621 100644 --- a/src/include/usr/xscom/xscomif.H +++ b/src/include/usr/xscom/xscomif.H @@ -35,7 +35,7 @@ namespace XSCOM uint64_t get_master_bar( void ); /** - * @brief Generate a fully-qualified MMIO address for a physical scom + * @brief Generate a fully-qualified MMIO address for a physical scom * address, relative to the given processor target * @param[in] i_proc - Processor * @param[in] i_scomAddr - Physical scom address to convert @@ -44,6 +44,15 @@ uint64_t get_master_bar( void ); uint64_t generate_mmio_addr( TARGETING::Target* i_proc, uint64_t i_scomAddr ); +/** + * @brief Multicast Read of core XSCOM register on remote Node + * @param[in] i_node - logical Node Number + * @param[in] i_scomAddr - Physical scom address to read + * @return uint64_t - Register value + */ +uint64_t readRemoteCoreScomMultiCast( uint64_t i_node, + uint64_t i_scomAddr ); + }; // namespace XSCOM #endif // end __XSCOMIF_H |

