diff options
| author | Nick Bofferding <bofferdn@us.ibm.com> | 2016-03-15 14:10:01 -0500 |
|---|---|---|
| committer | William G. Hoffa <wghoffa@us.ibm.com> | 2016-03-29 17:13:00 -0400 |
| commit | d69021c4f1acb33cef4692ce85cead2540412862 (patch) | |
| tree | d640d2b9ff69055b3c649f5d8b977f133d99d36d /src/include/usr/runtime | |
| parent | 0ceb12be50b8542714a981cbaee2d41244d49507 (diff) | |
| download | talos-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.H | 62 | ||||
| -rw-r--r-- | src/include/usr/runtime/runtime_reasoncodes.H | 11 |
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 |

