diff options
| author | Dean Sanner <dsanner@us.ibm.com> | 2018-07-17 12:07:19 -0500 |
|---|---|---|
| committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-07-18 10:02:02 -0400 |
| commit | 5be875d40b41d212d02a03643cb4be8fedd6ba5e (patch) | |
| tree | 13eff2a1a7b0988de3e52ecd41ac6bfd9dc41ab5 /src/usr/intr | |
| parent | 5be7d802291e05b36678ad86449e5fdcdb340f7d (diff) | |
| download | blackbird-hostboot-5be875d40b41d212d02a03643cb4be8fedd6ba5e.tar.gz blackbird-hostboot-5be875d40b41d212d02a03643cb4be8fedd6ba5e.zip | |
Handle inter-node HRMOR correctly on 3/4 nodes
Recent changes to direclty use HRMOR for calculating
addresses broke 3 and 4 node configs. This commit
removes the multiplication of _nodal_ HRMOR * group id
(since the _nodal_ HRMOR mechanism now factors that in).
It also uses the IPC addresses to handle start payload,
so math/constants are not used to find master node.
Change-Id: I919783bc60b5e4914c58f80752881fcb15649e95
CQ:SW438196
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/62659
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/62708
Diffstat (limited to 'src/usr/intr')
| -rw-r--r-- | src/usr/intr/intrrp.C | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/usr/intr/intrrp.C b/src/usr/intr/intrrp.C index d92c27f13..964aaea9c 100644 --- a/src/usr/intr/intrrp.C +++ b/src/usr/intr/intrrp.C @@ -2449,7 +2449,7 @@ errlHndl_t IntrRp::syncNodes(intr_mpipl_sync_t i_sync_type) uint64_t hrmorBase = KernelIpc::ipc_data_area.hrmor_base; void * node_info_ptr = - reinterpret_cast<void *>((iv_masterCpu.groupId * hrmorBase) + + reinterpret_cast<void *>(hrmorBase + VMM_INTERNODE_PRESERVED_MEMORY_ADDR); internode_info_t * this_node_info = @@ -2570,7 +2570,7 @@ errlHndl_t IntrRp::initializeMpiplSyncArea() errlHndl_t err = NULL; uint64_t hrmorBase = KernelIpc::ipc_data_area.hrmor_base; void * node_info_ptr = - reinterpret_cast<void *>((iv_masterCpu.groupId * hrmorBase) + + reinterpret_cast<void *>(hrmorBase + VMM_INTERNODE_PRESERVED_MEMORY_ADDR); internode_info_t * this_node_info = @@ -2630,7 +2630,7 @@ errlHndl_t IntrRp::addHbNodeToMpiplSyncArea(uint64_t i_hbNode) errlHndl_t err = NULL; uint64_t hrmorBase = KernelIpc::ipc_data_area.hrmor_base; void * node_info_ptr = - reinterpret_cast<void *>((iv_masterCpu.groupId * hrmorBase) + + reinterpret_cast<void *>(hrmorBase + VMM_INTERNODE_PRESERVED_MEMORY_ADDR); internode_info_t * this_node_info = |

