summaryrefslogtreecommitdiffstats
path: root/src/include/usr/runtime
diff options
context:
space:
mode:
authorNick Bofferding <bofferdn@us.ibm.com>2016-03-15 14:10:01 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2016-03-29 17:13:00 -0400
commitd69021c4f1acb33cef4692ce85cead2540412862 (patch)
treed640d2b9ff69055b3c649f5d8b977f133d99d36d /src/include/usr/runtime
parent0ceb12be50b8542714a981cbaee2d41244d49507 (diff)
downloadtalos-hostboot-d69021c4f1acb33cef4692ce85cead2540412862.tar.gz
talos-hostboot-d69021c4f1acb33cef4692ce85cead2540412862.zip
Support runtime target translation for Phyp
- Added ordinal IDs to system XML files - Added new HBRT_HYP_ID attribute to proc, membuf, core targets - Removed duplicate target type extensions - Customize HBRT_HYP_ID attributes in istep 21 based on payload type - Updated runtime translation interfaces for simple, efficient lookup - Added templated memoizer to speed up simple input/output functions - Generate ordinal IDs in common attribute parser - Added various test cases RTC: 146153 CMVC-Coreq: 989094 Change-Id: Ic60996f3b7c3197191f8939f362c578b54475df4 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22254 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/include/usr/runtime')
-rw-r--r--src/include/usr/runtime/customize_attrs_for_payload.H62
-rw-r--r--src/include/usr/runtime/runtime_reasoncodes.H11
2 files changed, 72 insertions, 1 deletions
diff --git a/src/include/usr/runtime/customize_attrs_for_payload.H b/src/include/usr/runtime/customize_attrs_for_payload.H
new file mode 100644
index 000000000..a5158f996
--- /dev/null
+++ b/src/include/usr/runtime/customize_attrs_for_payload.H
@@ -0,0 +1,62 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/usr/runtime/customize_attrs_for_payload.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2016 */
+/* [+] 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 */
+
+#ifndef __RUNTIME_CUST_ATTRS_FOR_PAYLOAD_H
+#define __RUNTIME_CUST_ATTRS_FOR_PAYLOAD_H
+
+/**
+ * @file customize_attrs_for_payload.H
+ * @brief Provides the definition for the payload specific attribute
+ * customization functions
+ */
+
+#include <errl/errlentry.H>
+#include <runtime/rt_targeting.H>
+#include <targeting/common/attributes.H>
+
+namespace RUNTIME
+{
+
+static const TARGETING::ATTR_HBRT_HYP_ID_type HBRT_HYP_ID_UNKNOWN
+ = 0xFFFFFFFFFFFFFFFFULL;
+
+static const RT_TARG::rtChipId_t RT_TYPE_UNKNOWN
+ = 0xFFFFFFFFFFFFFFFFULL;
+
+/**
+ * @brief Populate ATTR_HBRT_HYP_ID attributes for the current payload type,
+ * allowing runtime/host interfaces to reference equivalent targets
+ * @param[in] i_configForPhyp Whether to configure the IDs for PHyp (true), or
+ * all other payload kinds (false)
+ * @return Error log handle
+ * @retval NULL Populated all ATTR_HBRT_HYP_ID attributes successfully
+ * @retval !NULL Failed to populate one or more ATTR_HBRT_HYP_ID attributes
+ */
+errlHndl_t configureHbrtHypIds(bool i_configForPhyp);
+
+
+}; // End namespace RUNTIME
+
+#endif
diff --git a/src/include/usr/runtime/runtime_reasoncodes.H b/src/include/usr/runtime/runtime_reasoncodes.H
index 544a9c88a..ad6427668 100644
--- a/src/include/usr/runtime/runtime_reasoncodes.H
+++ b/src/include/usr/runtime/runtime_reasoncodes.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2016 */
+/* [+] 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. */
@@ -47,6 +49,10 @@ namespace RUNTIME
MOD_HDATSERVICE_FINDSPIRA = 0x0F, /** hdatservice.C */
MOD_HDATSERVICE_UPDATE_SECTION_ACTUAL = 0x10, /**< hdatservice.C */
MOD_HDATSERVICE_MAPREGION = 0x11, /**< hdatservice.C */
+
+ // customize_attrs_for_payload.C
+ MOD_CUST_COMP_NON_PHYP_RT_TARGET = 0x12,
+ MOD_CUST_CONF_HBRT_HYP_IDS = 0x13,
};
enum RuntimeReasonCode
@@ -76,6 +82,9 @@ namespace RUNTIME
RC_NO_SPIRA = RUNTIME_COMP_ID | 0x16,
RC_CANNOT_MAP_HDAT = RUNTIME_COMP_ID | 0x17,
RC_NOT_ENOUGH_SPACE = RUNTIME_COMP_ID | 0x18,
+ RT_UNIT_TARGET_NOT_FOUND = RUNTIME_COMP_ID | 0x19,
+ RT_TARGET_TYPE_NOT_SUPPORTED = RUNTIME_COMP_ID | 0x1A,
+ RT_NO_PROC_TARGET = RUNTIME_COMP_ID | 0x1B
};
enum UserDetailsTypes
OpenPOWER on IntegriCloud