summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/targeting')
-rw-r--r--src/usr/targeting/common/common.mk3
-rw-r--r--src/usr/targeting/common/hbrt_target.C101
-rw-r--r--src/usr/targeting/hostboot_common.mk5
-rw-r--r--src/usr/targeting/makefile2
-rw-r--r--src/usr/targeting/runtime/attrPlatOverride_rt.C2
-rw-r--r--src/usr/targeting/runtime/makefile2
-rw-r--r--src/usr/targeting/runtime/rt_startup.C4
-rw-r--r--src/usr/targeting/runtime/rt_targeting.C59
-rw-r--r--src/usr/targeting/runtime/test/testtargeting.H8
9 files changed, 117 insertions, 69 deletions
diff --git a/src/usr/targeting/common/common.mk b/src/usr/targeting/common/common.mk
index 5c357f111..951aa8663 100644
--- a/src/usr/targeting/common/common.mk
+++ b/src/usr/targeting/common/common.mk
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2011,2018
+# Contributors Listed Below - COPYRIGHT 2011,2020
# [+] International Business Machines Corp.
#
#
@@ -64,4 +64,3 @@ COMMON_TARGETING_OBJS += ${TARGET_OBJS}
COMMON_TARGETING_OBJS += ${PREDICATES_OBJS}
COMMON_TARGETING_OBJS += ${ITERATORS_OBJS}
COMMON_TARGETING_OBJS += ${OTHER_OBJS}
-
diff --git a/src/usr/targeting/common/hbrt_target.C b/src/usr/targeting/common/hbrt_target.C
new file mode 100644
index 000000000..b91979922
--- /dev/null
+++ b/src/usr/targeting/common/hbrt_target.C
@@ -0,0 +1,101 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/targeting/common/hbrt_target.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2019,2020 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+#include <targeting/common/hbrt_target.H>
+#include <targeting/common/targetservice.H>
+#include <targeting/common/targreasoncodes.H>
+#include <runtime/customize_attrs_for_payload.H>
+#include <targeting/common/trace.H>
+#ifdef __HOSTBOOT_MODULE
+#include <errl/errludtarget.H>
+#endif
+
+extern trace_desc_t* g_trac_hbrt;
+using namespace TARGETING;
+
+namespace TARGETING
+{
+
+errlHndl_t getRtTarget(
+ const TARGETING::Target* i_pTarget,
+ rtChipId_t& o_rtTargetId)
+{
+ errlHndl_t pError = NULL;
+
+ do
+ {
+ if(i_pTarget == TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL)
+ {
+ TARGETING::Target* masterProcChip = NULL;
+ TARGETING::targetService().
+ masterProcChipTargetHandle(masterProcChip);
+ i_pTarget = masterProcChip;
+ }
+
+ auto hbrtHypId = RUNTIME::HBRT_HYP_ID_UNKNOWN;
+ if( (!i_pTarget->tryGetAttr<TARGETING::ATTR_HBRT_HYP_ID>(hbrtHypId))
+ || (hbrtHypId == RUNTIME::HBRT_HYP_ID_UNKNOWN))
+ {
+ auto huid = get_huid(i_pTarget);
+ auto targetingTargetType =
+ i_pTarget->getAttr<TARGETING::ATTR_TYPE>();
+ TRACFCOMP(g_trac_targeting, ERR_MRK
+ "Targeting target type of 0x%08X not supported. "
+ "HUID: 0x%08X",
+ targetingTargetType,
+ huid);
+ /*@
+ * @errortype
+ * @moduleid TARG_RT_GET_RT_TARGET
+ * @reasoncode TARG_RT_TARGET_TYPE_NOT_SUPPORTED
+ * @userdata1 Target's HUID
+ * @userdata2 target's targeting type
+ * @devdesc Targeting target's type not supported by runtime
+ * code
+ */
+ pError = new ERRORLOG::ErrlEntry(
+ ERRORLOG::ERRL_SEV_INFORMATIONAL,
+ TARGETING::TARG_RT_GET_RT_TARGET,
+ TARGETING::TARG_RT_TARGET_TYPE_NOT_SUPPORTED,
+ huid,
+ targetingTargetType
+#ifdef __HOSTBOOT_MODULE
+ ,true);
+
+ ERRORLOG::ErrlUserDetailsTarget(i_pTarget,"Targeting Target").
+ addToLog(pError);
+#else
+ ); // if not in hostboot code then skip last param of error log
+ // and do not create a user details section
+#endif
+ }
+
+ o_rtTargetId = hbrtHypId;
+
+ } while(0);
+
+ return pError;
+}
+
+} \ No newline at end of file
diff --git a/src/usr/targeting/hostboot_common.mk b/src/usr/targeting/hostboot_common.mk
index 7be1449d7..4d10df929 100644
--- a/src/usr/targeting/hostboot_common.mk
+++ b/src/usr/targeting/hostboot_common.mk
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2013,2016
+# Contributors Listed Below - COPYRIGHT 2013,2020
# [+] International Business Machines Corp.
#
#
@@ -30,6 +30,9 @@ COMMON_TARGETING_MAKEFILE = ${COMMON_TARGETING_REL_PATH}/common.mk
include ${COMMON_TARGETING_MAKEFILE}
+# TODO: 248022 move this to common.mk when CMVC files are updated for fips
+TARGET_OBJS += hbrt_target.o
+
VPATH += ${TARGETING_REL_PATH}/adapters
VPATH += ${COMMON_TARGETING_REL_PATH}
VPATH += ${addprefix ${COMMON_TARGETING_REL_PATH}/, ${COMMON_TARGETING_SUBDIRS}}
diff --git a/src/usr/targeting/makefile b/src/usr/targeting/makefile
index 56f29e51d..af1978f64 100644
--- a/src/usr/targeting/makefile
+++ b/src/usr/targeting/makefile
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2011,2019
+# Contributors Listed Below - COPYRIGHT 2011,2020
# [+] International Business Machines Corp.
#
#
diff --git a/src/usr/targeting/runtime/attrPlatOverride_rt.C b/src/usr/targeting/runtime/attrPlatOverride_rt.C
index 752fa740a..3c805381c 100644
--- a/src/usr/targeting/runtime/attrPlatOverride_rt.C
+++ b/src/usr/targeting/runtime/attrPlatOverride_rt.C
@@ -24,7 +24,7 @@
/* IBM_PROLOG_END_TAG */
#include <runtime/interface.h>
-#include <runtime/rt_targeting.H>
+#include <targeting/runtime/rt_targeting.H>
#include <targeting/common/commontargeting.H>
#include <targeting/attrPlatOverride.H>
#include <fapi2/plat_attr_override_sync.H>
diff --git a/src/usr/targeting/runtime/makefile b/src/usr/targeting/runtime/makefile
index 9d872cef7..eb1dd366e 100644
--- a/src/usr/targeting/runtime/makefile
+++ b/src/usr/targeting/runtime/makefile
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2013,2019
+# Contributors Listed Below - COPYRIGHT 2013,2020
# [+] International Business Machines Corp.
#
#
diff --git a/src/usr/targeting/runtime/rt_startup.C b/src/usr/targeting/runtime/rt_startup.C
index 578750006..ed190f196 100644
--- a/src/usr/targeting/runtime/rt_startup.C
+++ b/src/usr/targeting/runtime/rt_startup.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2018 */
+/* Contributors Listed Below - COPYRIGHT 2018,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -22,7 +22,7 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
-#include <runtime/rt_targeting.H>
+#include <targeting/runtime/rt_targeting.H>
#include <runtime/interface.h>
#include <targeting/common/target.H>
#include <targeting/common/targetservice.H>
diff --git a/src/usr/targeting/runtime/rt_targeting.C b/src/usr/targeting/runtime/rt_targeting.C
index 581386985..28c1fdf7d 100644
--- a/src/usr/targeting/runtime/rt_targeting.C
+++ b/src/usr/targeting/runtime/rt_targeting.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2018 */
+/* Contributors Listed Below - COPYRIGHT 2014,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -39,7 +39,7 @@
#include <targeting/attrrp.H>
#include <arch/pirformat.H>
#include <runtime/customize_attrs_for_payload.H>
-#include <runtime/rt_targeting.H>
+#include <targeting/runtime/rt_targeting.H>
#include <runtime/interface.h>
#include <map>
#include <util/memoize.H>
@@ -54,61 +54,6 @@ using namespace TARGETING;
namespace RT_TARG
{
-errlHndl_t getRtTarget(
- const TARGETING::Target* i_pTarget,
- rtChipId_t& o_rtTargetId)
-{
- errlHndl_t pError = NULL;
-
- do
- {
- if(i_pTarget == TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL)
- {
- TARGETING::Target* masterProcChip = NULL;
- TARGETING::targetService().
- masterProcChipTargetHandle(masterProcChip);
- i_pTarget = masterProcChip;
- }
-
- auto hbrtHypId = RUNTIME::HBRT_HYP_ID_UNKNOWN;
- if( (!i_pTarget->tryGetAttr<TARGETING::ATTR_HBRT_HYP_ID>(hbrtHypId))
- || (hbrtHypId == RUNTIME::HBRT_HYP_ID_UNKNOWN))
- {
- auto huid = get_huid(i_pTarget);
- auto targetingTargetType =
- i_pTarget->getAttr<TARGETING::ATTR_TYPE>();
- TRACFCOMP(g_trac_targeting, ERR_MRK
- "Targeting target type of 0x%08X not supported. "
- "HUID: 0x%08X",
- targetingTargetType,
- huid);
- /*@
- * @errortype
- * @moduleid TARG_RT_GET_RT_TARGET
- * @reasoncode TARG_RT_TARGET_TYPE_NOT_SUPPORTED
- * @userdata1 Target's HUID
- * @userdata2 target's targeting type
- * @devdesc Targeting target's type not supported by runtime
- * code
- */
- pError = new ERRORLOG::ErrlEntry(
- ERRORLOG::ERRL_SEV_INFORMATIONAL,
- TARGETING::TARG_RT_GET_RT_TARGET,
- TARGETING::TARG_RT_TARGET_TYPE_NOT_SUPPORTED,
- huid,
- targetingTargetType,
- true);
-
- ERRORLOG::ErrlUserDetailsTarget(i_pTarget,"Targeting Target").
- addToLog(pError);
- }
-
- o_rtTargetId = hbrtHypId;
-
- } while(0);
-
- return pError;
-}
/**
* @brief API documentation same as for getHbTarget; this just implements the
diff --git a/src/usr/targeting/runtime/test/testtargeting.H b/src/usr/targeting/runtime/test/testtargeting.H
index 5dbd3f15e..c6c7c0d60 100644
--- a/src/usr/targeting/runtime/test/testtargeting.H
+++ b/src/usr/targeting/runtime/test/testtargeting.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2019 */
+/* Contributors Listed Below - COPYRIGHT 2013,2020 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -25,7 +25,7 @@
#include <cxxtest/TestSuite.H>
#include <targeting/common/commontargeting.H>
#include <runtime/interface.h>
-#include <runtime/rt_targeting.H>
+#include <targeting/runtime/rt_targeting.H>
#include <errl/errlentry.H>
#include <errl/errlmanager.H>
#include <targeting/common/trace.H>
@@ -62,7 +62,7 @@ class TargetingTestSuite : public CxxTest::TestSuite
{
using namespace TARGETING;
errlHndl_t err = NULL;
- RT_TARG::rtChipId_t rt_chipid;
+ TARGETING::rtChipId_t rt_chipid;
TARGETING::TargetHandleList allTargets;
TARGETING::TargetHandleList targetList;
@@ -91,7 +91,7 @@ class TargetingTestSuite : public CxxTest::TestSuite
for(TargetHandleList::iterator pTarg = allTargets.begin();
pTarg != allTargets.end(); ++pTarg)
{
- err = RT_TARG::getRtTarget(*pTarg, rt_chipid);
+ err = TARGETING::getRtTarget(*pTarg, rt_chipid);
if( err )
{
TS_FAIL("getRtTarget returned error log");
OpenPOWER on IntegriCloud