diff options
author | Corey Swenson <cswenson@us.ibm.com> | 2017-04-26 16:59:11 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-05-10 12:19:05 -0400 |
commit | 1f4dfe8eb4042b590d9e948591a6c285823fa548 (patch) | |
tree | 86acbe6efa9ed6ccfb4917a7b21aeb6b8fa78d18 /src/include | |
parent | 93a1479c96c011e6c98b47f6bc0ce5b267a9b28c (diff) | |
download | talos-hostboot-1f4dfe8eb4042b590d9e948591a6c285823fa548.tar.gz talos-hostboot-1f4dfe8eb4042b590d9e948591a6c285823fa548.zip |
Clean up OCC and enable HTMGT
Change-Id: I0903f4bd504589d4d5931b4b3b6206664f39b119
RTC:171441
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39736
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Sheldon R. Bailey <baileysh@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/usr/isteps/hwpf_reasoncodes.H | 2 | ||||
-rw-r--r-- | src/include/usr/isteps/pm/occAccess.H (renamed from src/include/usr/occ/occAccess.H) | 4 | ||||
-rw-r--r-- | src/include/usr/isteps/pm/occCheckstop.H (renamed from src/include/usr/occ/occ_common.H) | 35 | ||||
-rw-r--r-- | src/include/usr/isteps/pm/pm_common_ext.H | 25 | ||||
-rw-r--r-- | src/include/usr/occ/occ.H | 57 | ||||
-rw-r--r-- | src/include/usr/util/utillidmgr.H | 23 |
6 files changed, 57 insertions, 89 deletions
diff --git a/src/include/usr/isteps/hwpf_reasoncodes.H b/src/include/usr/isteps/hwpf_reasoncodes.H index 83a5fa18b..78024bdcc 100644 --- a/src/include/usr/isteps/hwpf_reasoncodes.H +++ b/src/include/usr/isteps/hwpf_reasoncodes.H @@ -85,6 +85,7 @@ namespace fapi MOD_FIND_MIN_DMI_SPD = 0x2B, MOD_OCC_LOAD_HOST_DATA_TO_SRAM = 0x2C, MOD_START_XZ_PAYLOAD = 0x2D, + MOD_LOAD_OCC_IMAGE_DURING_IPL = 0x2E, }; /** @@ -147,6 +148,7 @@ namespace fapi RC_INVALID_WOF_INDEX = HWPF_COMP_ID | 0x3C, RC_ECMD_INSERT_FAILED = HWPF_COMP_ID | 0x3D, RC_INVALID_RETURN_XZ_CODE = HWPF_COMP_ID | 0x3E, + RC_ECMD_INSERT_REMAINING_FAILED = HWPF_COMP_ID | 0x3F, }; /** diff --git a/src/include/usr/occ/occAccess.H b/src/include/usr/isteps/pm/occAccess.H index a37c8111f..a5b46ff45 100644 --- a/src/include/usr/occ/occAccess.H +++ b/src/include/usr/isteps/pm/occAccess.H @@ -1,11 +1,11 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: src/include/usr/occ/occAccess.H $ */ +/* $Source: src/include/usr/isteps/pm/occAccess.H $ */ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2014,2016 */ +/* Contributors Listed Below - COPYRIGHT 2014,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ diff --git a/src/include/usr/occ/occ_common.H b/src/include/usr/isteps/pm/occCheckstop.H index 35d76039f..6a13146cd 100644 --- a/src/include/usr/occ/occ_common.H +++ b/src/include/usr/isteps/pm/occCheckstop.H @@ -1,11 +1,11 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: src/include/usr/occ/occ_common.H $ */ +/* $Source: src/include/usr/isteps/pm/occCheckstop.H $ */ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2014,2016 */ +/* Contributors Listed Below - COPYRIGHT 2014,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -22,8 +22,8 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -#ifndef OCC_COMMON_H -#define OCC_COMMON_H +#ifndef OCC_CHECKSTOP_H +#define OCC_CHECKSTOP_H #include <limits.h> #include <errl/errlentry.H> @@ -31,31 +31,6 @@ namespace HBOCC { - /* - * @brief Host config data consumed by OCC - */ - struct occHostConfigDataArea_t - { - uint32_t version; - - //For computation of timebase frequency - uint32_t nestFrequency; - - // For determining the interrupt type to Host - // 0x00000000 = Use FSI2HOST Mailbox - // 0x00000001 = Use OCC interrupt line through PSIHB complex - uint32_t interruptType; - - // For informing OCC if it is the FIR master: - // 0x00000000 = Default - // 0x00000001 = FIR Master - uint32_t firMaster; - - // FIR collection configuration data needed by FIR Master - // OCC in the event of a checkstop - uint8_t firdataConfig[3072]; - }; - enum { OccHostDataVersion = 3, @@ -177,4 +152,4 @@ namespace HBOCC } //namespace HBOCC ends -#endif +#endif // OCC_CHECKSTOP_H diff --git a/src/include/usr/isteps/pm/pm_common_ext.H b/src/include/usr/isteps/pm/pm_common_ext.H index a8428b73f..9a58c59ef 100644 --- a/src/include/usr/isteps/pm/pm_common_ext.H +++ b/src/include/usr/isteps/pm/pm_common_ext.H @@ -30,6 +30,31 @@ namespace HBPM { /** + * @brief Host config data consumed by OCC + */ + struct occHostConfigDataArea_t + { + uint32_t version; + + //For computation of timebase frequency + uint32_t nestFrequency; + + // For determining the interrupt type to Host + // 0x00000000 = Use FSI2HOST Mailbox + // 0x00000001 = Use OCC interrupt line through PSIHB complex + uint32_t interruptType; + + // For informing OCC if it is the FIR master: + // 0x00000000 = Default + // 0x00000001 = FIR Master + uint32_t firMaster; + + // FIR collection configuration data needed by FIR Master + // OCC in the event of a checkstop + uint8_t firdataConfig[3072]; + }; + + /** * @brief Enumeration of the load PM complex mode * LOAD * - Call pm_reset first diff --git a/src/include/usr/occ/occ.H b/src/include/usr/occ/occ.H deleted file mode 100644 index 6708a8b67..000000000 --- a/src/include/usr/occ/occ.H +++ /dev/null @@ -1,57 +0,0 @@ -/* IBM_PROLOG_BEGIN_TAG */ -/* This is an automatically generated prolog. */ -/* */ -/* $Source: src/include/usr/occ/occ.H $ */ -/* */ -/* OpenPOWER HostBoot Project */ -/* */ -/* Contributors Listed Below - COPYRIGHT 2013,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 OCC_H_ -#define OCC_H_ - -#include <limits.h> -#include <errl/errlentry.H> - -namespace HBOCC { - /** - * @brief Starts OCCs on all Processors in the node - * This is intended to be used for AVP testing. - * - * @param[out] o_failedOccTarget: Pointer to the target failing - * loadnStartAllOccs - * @param[in] i_useSRAM: bool - use SRAM for OCC image, ie during IPL - * true if during IPL, false if at end of IPL (default) - * @return errlHndl_t Error log if OCC load failed - */ - errlHndl_t loadnStartAllOccs(TARGETING::Target *& o_failedOccTarget, - bool i_useSRAM = false); - - /** - * @brief Starts OCCs on all Processors in the node - * This is intended to be used for Open Power. - * - * @param[in] i_useSRAM: bool - use SRAM for OCC image, ie during IPL - * true if during IPL, false if at end of IPL (default) - * @return errlHndl_t Error log if OCC load failed - */ - errlHndl_t activateOCCs(bool i_useSRAM = false); - -} //end OCC namespace - -#endif diff --git a/src/include/usr/util/utillidmgr.H b/src/include/usr/util/utillidmgr.H index 2b6e871e2..e334a9b13 100644 --- a/src/include/usr/util/utillidmgr.H +++ b/src/include/usr/util/utillidmgr.H @@ -183,6 +183,29 @@ class UtilLidMgr */ errlHndl_t releaseLidImage(void); +// @todo RTC 155065 IPL Time Checkstop Analysis Enablement +#ifdef CONFIG_IPLTIME_CHECKSTOP_ANALYSIS + /** + * @brief Get lid managers' pointer to the lid vaddr. + * + * @return void* - Returns pointer to virtual address the lid lives in. + * Null if the lid is not in virtual address space. + * NOTE: Only supporting PNOR Virt Addr now + */ + inline const void* getLidVirtAddr() const + { + const void* l_addr = NULL; + // Get pointer to PNOR vaddr + if (iv_isLidInPnor) + { + l_addr = reinterpret_cast<const void*>(iv_lidPnorInfo.vaddr); + } + // Add support for other virtual address spaces here + + return l_addr; + } +#endif + #ifdef __HOSTBOOT_RUNTIME /** * @brief Get a list of LID numbers |