diff options
-rw-r--r-- | src/usr/isteps/pm/runtime/rt_pm.C | 4 | ||||
-rw-r--r-- | src/usr/runtime/populate_hbruntime.C | 10 | ||||
-rw-r--r-- | src/usr/sbeio/runtime/rt_sbeio.C | 10 | ||||
-rw-r--r-- | src/usr/testcore/rtloader/loader.H | 2 |
4 files changed, 21 insertions, 5 deletions
diff --git a/src/usr/isteps/pm/runtime/rt_pm.C b/src/usr/isteps/pm/runtime/rt_pm.C index 567fdca92..32d3e0a25 100644 --- a/src/usr/isteps/pm/runtime/rt_pm.C +++ b/src/usr/isteps/pm/runtime/rt_pm.C @@ -435,7 +435,9 @@ namespace RTPM itr != procChips.end(); ++itr) { - uint32_t l_instance = (*itr)->getAttr<ATTR_POSITION>(); + // Note: the instance we use to retrieve the data must + // match the value we used to populate HDAT originally + uint32_t l_instance = (*itr)->getAttr<ATTR_HBRT_HYP_ID>(); uint64_t l_homerAddr = g_hostInterfaces-> get_reserved_mem(HBRT_RSVD_MEM__HOMER, l_instance); diff --git a/src/usr/runtime/populate_hbruntime.C b/src/usr/runtime/populate_hbruntime.C index 4fb289c54..4c9f30847 100644 --- a/src/usr/runtime/populate_hbruntime.C +++ b/src/usr/runtime/populate_hbruntime.C @@ -650,6 +650,8 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId) l_homerAddr = l_procChip->getAttr <TARGETING::ATTR_HOMER_PHYS_ADDR>(); + // Note: the instance we use to retrieve the data must + // match the value we used to populate HDAT originally l_elog = setNextHbRsvMemEntry(HDAT::RHB_TYPE_HOMER_OCC, l_procChip->getAttr<TARGETING::ATTR_HBRT_HYP_ID>(), l_homerAddr, @@ -841,6 +843,10 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId) // Loop through all functional Procs for (const auto & l_procChip: l_procChips) { + // Note: the instance we use to retrieve the data must + // match the value we used to populate HDAT originally + uint32_t l_id = l_procChip->getAttr<TARGETING::ATTR_HBRT_HYP_ID>(); + // -- SBE Communications buffer entry if(TARGETING::is_phyp_load()) { @@ -852,7 +858,7 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId) } l_elog = setNextHbRsvMemEntry(HDAT::RHB_TYPE_HBRT, - i_nodeId, + l_id, l_sbeCommAddr, l_sbeCommSizeAligned, HBRT_RSVD_MEM__SBE_COMM); @@ -879,7 +885,7 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId) } l_elog = setNextHbRsvMemEntry(HDAT::RHB_TYPE_HBRT, - i_nodeId, + l_id, l_sbeffdcAddr, l_sbeffdcSizeAligned, HBRT_RSVD_MEM__SBE_FFDC); 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 diff --git a/src/usr/testcore/rtloader/loader.H b/src/usr/testcore/rtloader/loader.H index 11bbc6f3d..aa035d1eb 100644 --- a/src/usr/testcore/rtloader/loader.H +++ b/src/usr/testcore/rtloader/loader.H @@ -622,7 +622,7 @@ class RuntimeLoaderTest : public CxxTest::TestSuite for (const auto & l_procChip: procChips) { uint64_t l_instance = - l_procChip->getAttr<TARGETING::ATTR_POSITION>(); + l_procChip->getAttr<TARGETING::ATTR_HBRT_HYP_ID>(); if(l_instance == i_instance) { cv_comm_addr = |