summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarty Gloff <mgloff@us.ibm.com>2018-02-01 16:35:13 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-04-05 10:33:54 -0400
commit379efca3b8ff7fd5bcd05c7bf8c1226e07cd7219 (patch)
tree4e250714ff264c3a5123607a86ce975c3a4d108d /src
parentc39a13d91daea64e5f56a01c52737c35003bf3f4 (diff)
downloadtalos-hostboot-379efca3b8ff7fd5bcd05c7bf8c1226e07cd7219.tar.gz
talos-hostboot-379efca3b8ff7fd5bcd05c7bf8c1226e07cd7219.zip
Support multiple nodes in HBRT - Update Functions
Existing targeting functions were written to support a single node implementation. There are functions currently linked to HBRT, but not needed by HBRT that break with the multiple nodes support. Those functions will be compiled out of HBRT. Change-Id: I7d70caa4721c52c032e099f75dae2fce5c6fe3be RTC: 186580 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53233 Tested-by: Jenkins Server <pfd-jenkins+hostboot@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> Reviewed-by: Christian R. Geddes <crgeddes@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')
-rw-r--r--src/include/usr/targeting/attrrp.H5
-rw-r--r--src/include/usr/targeting/attrsync.H34
-rw-r--r--src/include/usr/targeting/common/targetservice.H2
-rwxr-xr-xsrc/usr/targeting/attrrp_common.C2
-rw-r--r--src/usr/targeting/attrsync.C22
-rw-r--r--src/usr/targeting/common/targetservice.C3
-rw-r--r--src/usr/targeting/runtime/attrrp_rt.C4
7 files changed, 13 insertions, 59 deletions
diff --git a/src/include/usr/targeting/attrrp.H b/src/include/usr/targeting/attrrp.H
index dda62b881..6eb367e17 100644
--- a/src/include/usr/targeting/attrrp.H
+++ b/src/include/usr/targeting/attrrp.H
@@ -102,6 +102,7 @@ class AttrRP
{
// add some friends for the attribute sync features
+#ifndef __HOSTBOOT_RUNTIME
friend bool TargetService::writeSectionData(
const std::vector<sectionRefData>& i_pages );
@@ -110,7 +111,7 @@ class AttrRP
const SECTION_TYPE i_sectionId,
const TARGETING::NODE_ID i_nodeId);
-#ifdef __HOSTBOOT_RUNTIME
+#else
friend errlHndl_t RT_TARG::saveRestoreAttrs(void *,
void *,
uint64_t&);
@@ -373,6 +374,7 @@ class AttrRP
*/
~AttrRP();
+#ifndef __HOSTBOOT_RUNTIME
/**
* @brief Copies the section data buffer from the vector to the
* appropriate section offset with respect to the node target ptr
@@ -402,6 +404,7 @@ class AttrRP
std::vector <sectionRefData>& o_pages,
const SECTION_TYPE i_sectionType,
const NODE_ID i_nodeId = 0) const;
+#endif
private:
diff --git a/src/include/usr/targeting/attrsync.H b/src/include/usr/targeting/attrsync.H
index 598292546..1d48e7964 100644
--- a/src/include/usr/targeting/attrsync.H
+++ b/src/include/usr/targeting/attrsync.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2017 */
+/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -109,36 +109,6 @@ namespace TARGETING
errlHndl_t syncSectionToFsp(
TARGETING::SECTION_TYPE i_section_to_sync );
-#else
- /**
- * @brief Setup the internal variables to point to the correct
- * attribute section.
- *
- * @par Detailed Description:
- * This function will call into the AttRP:: to have the
- * correct attribute section paged into accessible memory.
- * This function may be called multiple times with
- * different section names.
- *
- * @pre None:
- *
- * @post The entire section from the HB attribute section
- * passed in has been synchronized to new AttrRP.
- *
- * @param[in] i_section_to_sync
- * TARGETING::SECTION_TYPE is passed in to
- * identify the section to be synced to the
- * new AttrRP.
- *
- * @return std::vector <TARGETING::sectionRefData> with
- * attribute section pages.
- *
- */
- std::vector <TARGETING::sectionRefData> syncSectionFromAttrRP(
- TARGETING::SECTION_TYPE i_section_to_sync);
-#endif
-
-#ifndef __HOSTBOOT_RUNTIME
/**
* @brief Sends a request to the FSP to sync its data to Hostboot
* for a specific attribute section. Write the data
@@ -187,7 +157,6 @@ namespace TARGETING
ASYNCHRONOUS,
SYNCHRONOUS
};
-#endif
/**
* @brief Setup the internal variables to point to the correct
@@ -200,7 +169,6 @@ namespace TARGETING
*/
void getSectionData();
-#ifndef __HOSTBOOT_RUNTIME
/**
* @brief Write the attribute data received from the FSP to
* the attribute section.
diff --git a/src/include/usr/targeting/common/targetservice.H b/src/include/usr/targeting/common/targetservice.H
index 04bcc8657..c02826b77 100644
--- a/src/include/usr/targeting/common/targetservice.H
+++ b/src/include/usr/targeting/common/targetservice.H
@@ -549,6 +549,7 @@ class TargetService
*/
void dump() const;
+#ifndef __HOSTBOOT_RUNTIME
/**
* @brief Updates the targeting/attribute section data with the
* specified vector parameters.
@@ -597,6 +598,7 @@ class TargetService
void readSectionData(std::vector<sectionRefData>& o_pages,
const SECTION_TYPE i_sectionId,
const NODE_ID i_nodeId = NODE0);
+#endif
/**
* @brief Get the Next initialized node in the Target Service
diff --git a/src/usr/targeting/attrrp_common.C b/src/usr/targeting/attrrp_common.C
index 580ddbe6d..26213dcf5 100755
--- a/src/usr/targeting/attrrp_common.C
+++ b/src/usr/targeting/attrrp_common.C
@@ -90,6 +90,7 @@ namespace TARGETING
Singleton<AttrRP>::instance().startup(io_taskRetErrl, i_isMpipl);
}
+#ifndef __HOSTBOOT_RUNTIME
bool AttrRP::writeSectionData(
const std::vector<TARGETING::sectionRefData>& i_pages) const
{
@@ -204,4 +205,5 @@ namespace TARGETING
}
}
}
+#endif
}
diff --git a/src/usr/targeting/attrsync.C b/src/usr/targeting/attrsync.C
index b184e9abe..fbc8db4b9 100644
--- a/src/usr/targeting/attrsync.C
+++ b/src/usr/targeting/attrsync.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2017 */
+/* Contributors Listed Below - COPYRIGHT 2012,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -41,6 +41,7 @@ namespace TARGETING
AttributeSync::~AttributeSync()
{};
+#ifndef __HOSTBOOT_RUNTIME
void AttributeSync::getSectionData()
{
// make sure we have a clean slate
@@ -61,7 +62,6 @@ namespace TARGETING
}
-#ifndef __HOSTBOOT_RUNTIME
ATTR_SYNC_RC AttributeSync::updateSectionData() const
{
TARG_INF( ENTER_MRK "AttributeSync::updateSectionData - "
@@ -91,23 +91,6 @@ namespace TARGETING
return l_rc;
}
-#else
- std::vector<TARGETING::sectionRefData> AttributeSync::syncSectionFromAttrRP(
- TARGETING::SECTION_TYPE i_section_to_sync)
- {
- iv_section_to_sync = i_section_to_sync;
-
- do
- {
- // set up the pointers to the data area
- getSectionData();
- } while(0);
-
- return iv_pages;
- }
-#endif
-
-#ifndef __HOSTBOOT_RUNTIME
errlHndl_t AttributeSync::syncSectionToFsp(
TARGETING::SECTION_TYPE i_section_to_sync )
{
@@ -116,7 +99,6 @@ namespace TARGETING
iv_section_to_sync = i_section_to_sync;
-
do{
// set up the pointers to the data area
diff --git a/src/usr/targeting/common/targetservice.C b/src/usr/targeting/common/targetservice.C
index fec17026c..652d8869c 100644
--- a/src/usr/targeting/common/targetservice.C
+++ b/src/usr/targeting/common/targetservice.C
@@ -1109,7 +1109,7 @@ void TargetService::dump() const
#undef TARG_FN
}
-
+#ifndef __HOSTBOOT_RUNTIME
//******************************************************************************
// TargetService::writeSectionData
//******************************************************************************
@@ -1148,6 +1148,7 @@ void TargetService::readSectionData(
#undef TARG_FN
}
+#endif
//******************************************************************************
// TargetService::_configureTargetPool
diff --git a/src/usr/targeting/runtime/attrrp_rt.C b/src/usr/targeting/runtime/attrrp_rt.C
index e97fae738..e13ecd3dc 100644
--- a/src/usr/targeting/runtime/attrrp_rt.C
+++ b/src/usr/targeting/runtime/attrrp_rt.C
@@ -29,7 +29,6 @@
#include <errl/errlentry.H>
#include <targeting/common/targreasoncodes.H>
#include <targeting/targplatreasoncodes.H>
-#include <targeting/attrsync.H>
#include <util/runtime/util_rt.H>
#include <sys/internode.h>
@@ -45,9 +44,6 @@ namespace TARGETING
do
{
- // Create AttributeSync
- AttributeSync l_attributeSync = AttributeSync();
-
// Allocate section structures based on section count in header.
iv_sectionCount = i_header->numSections;
iv_sections = new AttrRP_Section[iv_sectionCount]();
OpenPOWER on IntegriCloud