summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2017-04-26 16:59:11 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-05-10 12:19:05 -0400
commit1f4dfe8eb4042b590d9e948591a6c285823fa548 (patch)
tree86acbe6efa9ed6ccfb4917a7b21aeb6b8fa78d18 /src/include
parent93a1479c96c011e6c98b47f6bc0ce5b267a9b28c (diff)
downloadtalos-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.H2
-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.H25
-rw-r--r--src/include/usr/occ/occ.H57
-rw-r--r--src/include/usr/util/utillidmgr.H23
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
OpenPOWER on IntegriCloud