summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMarty Gloff <mgloff@us.ibm.com>2016-06-01 15:38:15 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-07-03 22:41:46 -0400
commit0dffc041ec01993e9399aeb8b17c9784617102e1 (patch)
tree42121111c923d57118202f5dad537a4455c9e745 /src/include
parent3abbc2756991593bee3e2ad88f36f9eb26e6bf00 (diff)
downloadtalos-hostboot-0dffc041ec01993e9399aeb8b17c9784617102e1.tar.gz
talos-hostboot-0dffc041ec01993e9399aeb8b17c9784617102e1.zip
PM Complex Implementation Deferred to Pass 2
Load a given LID only once from pnor/fsp. Make a publicly accessible version of convertHomerPhysToVert() for HTMGT to consume and have it handle the non-runtime case. Use constants defined by HWP or FAPI. Change-Id: I554d57a0b74ca674be9fa9a5b527f6bb53f9a4d6 RTC: 155384 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25273 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/isteps/pm/pm_common_ext.H43
-rw-r--r--src/include/usr/util/utillidmgr.H52
2 files changed, 94 insertions, 1 deletions
diff --git a/src/include/usr/isteps/pm/pm_common_ext.H b/src/include/usr/isteps/pm/pm_common_ext.H
new file mode 100644
index 000000000..bd8e87633
--- /dev/null
+++ b/src/include/usr/isteps/pm/pm_common_ext.H
@@ -0,0 +1,43 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/usr/isteps/pm/pm_common_ext.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 PM_COMMON_EXT_H
+#define PM_COMMON_EXT_H
+
+#include <errl/errlentry.H>
+
+namespace HBPM
+{
+ /**
+ * @brief Convert HOMER physical address space to a vitual address
+ * @param[in] i_proc_target Processsor target
+ * @param[in] i_phys_addr Physical address
+ * @return NULL on error, else virtual address
+ */
+ void *convertHomerPhysToVirt( TARGETING::Target* i_proc_target,
+ uint64_t i_phys_addr);
+
+} //namespace HBPM ends
+
+#endif
diff --git a/src/include/usr/util/utillidmgr.H b/src/include/usr/util/utillidmgr.H
index ae37c1164..36e9716a2 100644
--- a/src/include/usr/util/utillidmgr.H
+++ b/src/include/usr/util/utillidmgr.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2015 */
+/* Contributors Listed Below - COPYRIGHT 2013,2016 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -46,6 +46,9 @@ enum LidId
{
TEST_LIDID = 0x00000111,
OCC_LIDID = 0x81e00430,
+ // Hcode Reference Image LIDs
+ NIMBUS_HCODE_LIDID = 0x81e00602,
+ CUMULUS_HCODE_LIDID = 0x81e00603,
};
}
@@ -141,6 +144,43 @@ class UtilLidMgr
*/
errlHndl_t getLid(void* i_dest, size_t i_destSize);
+ /**
+ * @brief Get Stored LID Image
+ *
+ * @par Detailed Description:
+ * Determines if a lid image is stored in hostboot
+ * memory space for this UtilLidMgr object. If an
+ * image is not stored, then the lid image is stored.
+ * Returns pointer and size for the lid image.
+ *
+ * @param[out] o_pLidImage
+ * Pointer to where lid image is stored in hostboot
+ * memory
+ *
+ * @param[out] o_lidImageSize
+ * Size of lid image is stored in hostboot memory
+ *
+ *
+ * @return errlHndl_t
+ * return errl == NULL -> success
+ * return errl != NULL -> failure
+ */
+ errlHndl_t getStoredLidImage(void*& o_pLidImage,
+ size_t& o_lidImageSize);
+
+ /**
+ * @brief Release LID Image
+ *
+ * @par Detailed Description:
+ * Frees memory space allocated for the lid image.
+ * Clears variables associated with storing the image.
+ *
+ * @return errlHndl_t
+ * return errl == NULL -> success
+ * return errl != NULL -> failure
+ */
+ errlHndl_t releaseLidImage(void);
+
#ifdef __HOSTBOOT_RUNTIME
/**
* @brief Get a list of LID numbers
@@ -323,6 +363,16 @@ class UtilLidMgr
*/
msg_q_t iv_HbMsgQ;
+ /**
+ * @brief pointer to buffer with image of current LID
+ */
+ void* iv_pLidImage;
+
+ /**
+ * @brief size of buffer with image of current LID
+ */
+ size_t iv_lidImageSize;
+
#else // __HOSTBOOT_RUNTIME
OpenPOWER on IntegriCloud