diff options
| author | Dan Crowell <dcrowell@us.ibm.com> | 2017-07-11 13:11:58 -0500 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-07-13 09:47:05 -0400 |
| commit | 1aa0813d81f7a224583a46e20fd03a437d0ff479 (patch) | |
| tree | 7895cf1fa893d1a75ef3afa2d13e8eeb17626df4 /src/usr/sbeio/runtime | |
| parent | 86ce314365a363fee2f5e4d305ebcc1c96f47016 (diff) | |
| download | blackbird-hostboot-1aa0813d81f7a224583a46e20fd03a437d0ff479.tar.gz blackbird-hostboot-1aa0813d81f7a224583a46e20fd03a437d0ff479.zip | |
Correctly handle sbe ranges for multiple chips
Fixing a bug where we did not use unique instance ids for each
SBE's comm and ffdc area. Also reconciled a couple related
mismatches and added some traces for easier debug.
CQ: SW395465
Change-Id: Ib2a50644c114e5b08222b9fb19e92923466fa24c
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42994
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Matt Derksen <mderkse1@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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/sbeio/runtime')
| -rw-r--r-- | src/usr/sbeio/runtime/rt_sbeio.C | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/usr/sbeio/runtime/rt_sbeio.C b/src/usr/sbeio/runtime/rt_sbeio.C index cece7ea98..1ff66a649 100644 --- a/src/usr/sbeio/runtime/rt_sbeio.C +++ b/src/usr/sbeio/runtime/rt_sbeio.C @@ -600,6 +600,8 @@ namespace RT_SBEIO int rc = 0; errlHndl_t errl = nullptr; + TRACFCOMP(g_trac_sbeio, ENTER_MRK" process_sbe_msg: on proc %d", i_procChipId ); + // Used to store a local copy of the Pass-through command and preserve // it during processing (response overlays SBE Communication buffer) sbeMessage_t l_request; @@ -718,6 +720,7 @@ namespace RT_SBEIO errlCommit (errl, SBE_COMP_ID); } + TRACFCOMP(g_trac_sbeio, EXIT_MRK" process_sbe_msg: rc=%d", rc ); return rc; } @@ -829,11 +832,16 @@ namespace RT_SBEIO getAllChips(procChips, TYPE_PROC, true); for (const auto & l_procChip: procChips) { - uint64_t l_instance = l_procChip->getAttr<ATTR_POSITION>(); + // Note: the instance we use to retrieve the data must + // match the value we used to populate HDAT originally + uint64_t l_instance = l_procChip->getAttr<ATTR_HBRT_HYP_ID>(); uint64_t l_sbeCommAddr = g_hostInterfaces->get_reserved_mem( HBRT_RSVD_MEM__SBE_COMM, l_instance); l_procChip->setAttr<ATTR_SBE_COMM_ADDR>(l_sbeCommAddr); + TRACFCOMP( g_trac_sbeio, INFO_MRK" COMM_ADDR=0x%.llX for %.8X", + l_sbeCommAddr, + TARGETING::get_huid(l_procChip) ); } #ifdef CONFIG_HTMGT |

